summaryrefslogtreecommitdiff
path: root/lib/DBI/Const/GetInfo/ANSI.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/DBI/Const/GetInfo/ANSI.pm')
-rw-r--r--lib/DBI/Const/GetInfo/ANSI.pm236
1 files changed, 236 insertions, 0 deletions
diff --git a/lib/DBI/Const/GetInfo/ANSI.pm b/lib/DBI/Const/GetInfo/ANSI.pm
new file mode 100644
index 0000000..428ce37
--- /dev/null
+++ b/lib/DBI/Const/GetInfo/ANSI.pm
@@ -0,0 +1,236 @@
+# $Id: ANSI.pm 8696 2007-01-24 23:12:38Z timbo $
+#
+# Copyright (c) 2002 Tim Bunce Ireland
+#
+# Constant data describing ANSI CLI info types and return values for the
+# SQLGetInfo() method of ODBC.
+#
+# You may distribute under the terms of either the GNU General Public
+# License or the Artistic License, as specified in the Perl README file.
+
+package DBI::Const::GetInfo::ANSI;
+
+=head1 NAME
+
+DBI::Const::GetInfo::ANSI - ISO/IEC SQL/CLI Constants for GetInfo
+
+=head1 SYNOPSIS
+
+ The API for this module is private and subject to change.
+
+=head1 DESCRIPTION
+
+Information requested by GetInfo().
+
+See: A.1 C header file SQLCLI.H, Page 316, 317.
+
+The API for this module is private and subject to change.
+
+=head1 REFERENCES
+
+ ISO/IEC FCD 9075-3:200x Information technology - Database Languages -
+ SQL - Part 3: Call-Level Interface (SQL/CLI)
+
+ SC32 N00744 = WG3:VIE-005 = H2-2002-007
+
+ Date: 2002-01-15
+
+=cut
+
+my
+$VERSION = sprintf("2.%06d", q$Revision: 8696 $ =~ /(\d+)/o);
+
+
+%InfoTypes =
+(
+ SQL_ALTER_TABLE => 86
+, SQL_CATALOG_NAME => 10003
+, SQL_COLLATING_SEQUENCE => 10004
+, SQL_CURSOR_COMMIT_BEHAVIOR => 23
+, SQL_CURSOR_SENSITIVITY => 10001
+, SQL_DATA_SOURCE_NAME => 2
+, SQL_DATA_SOURCE_READ_ONLY => 25
+, SQL_DBMS_NAME => 17
+, SQL_DBMS_VERSION => 18
+, SQL_DEFAULT_TRANSACTION_ISOLATION => 26
+, SQL_DESCRIBE_PARAMETER => 10002
+, SQL_FETCH_DIRECTION => 8
+, SQL_GETDATA_EXTENSIONS => 81
+, SQL_IDENTIFIER_CASE => 28
+, SQL_INTEGRITY => 73
+, SQL_MAXIMUM_CATALOG_NAME_LENGTH => 34
+, SQL_MAXIMUM_COLUMNS_IN_GROUP_BY => 97
+, SQL_MAXIMUM_COLUMNS_IN_ORDER_BY => 99
+, SQL_MAXIMUM_COLUMNS_IN_SELECT => 100
+, SQL_MAXIMUM_COLUMNS_IN_TABLE => 101
+, SQL_MAXIMUM_COLUMN_NAME_LENGTH => 30
+, SQL_MAXIMUM_CONCURRENT_ACTIVITIES => 1
+, SQL_MAXIMUM_CURSOR_NAME_LENGTH => 31
+, SQL_MAXIMUM_DRIVER_CONNECTIONS => 0
+, SQL_MAXIMUM_IDENTIFIER_LENGTH => 10005
+, SQL_MAXIMUM_SCHEMA_NAME_LENGTH => 32
+, SQL_MAXIMUM_STMT_OCTETS => 20000
+, SQL_MAXIMUM_STMT_OCTETS_DATA => 20001
+, SQL_MAXIMUM_STMT_OCTETS_SCHEMA => 20002
+, SQL_MAXIMUM_TABLES_IN_SELECT => 106
+, SQL_MAXIMUM_TABLE_NAME_LENGTH => 35
+, SQL_MAXIMUM_USER_NAME_LENGTH => 107
+, SQL_NULL_COLLATION => 85
+, SQL_ORDER_BY_COLUMNS_IN_SELECT => 90
+, SQL_OUTER_JOIN_CAPABILITIES => 115
+, SQL_SCROLL_CONCURRENCY => 43
+, SQL_SEARCH_PATTERN_ESCAPE => 14
+, SQL_SERVER_NAME => 13
+, SQL_SPECIAL_CHARACTERS => 94
+, SQL_TRANSACTION_CAPABLE => 46
+, SQL_TRANSACTION_ISOLATION_OPTION => 72
+, SQL_USER_NAME => 47
+);
+
+=head2 %ReturnTypes
+
+See: Codes and data types for implementation information (Table 28), Page 85, 86.
+
+Mapped to ODBC datatype names.
+
+=cut
+
+%ReturnTypes = # maxlen
+(
+ SQL_ALTER_TABLE => 'SQLUINTEGER bitmask' # INTEGER
+, SQL_CATALOG_NAME => 'SQLCHAR' # CHARACTER (1)
+, SQL_COLLATING_SEQUENCE => 'SQLCHAR' # CHARACTER (254)
+, SQL_CURSOR_COMMIT_BEHAVIOR => 'SQLUSMALLINT' # SMALLINT
+, SQL_CURSOR_SENSITIVITY => 'SQLUINTEGER' # INTEGER
+, SQL_DATA_SOURCE_NAME => 'SQLCHAR' # CHARACTER (128)
+, SQL_DATA_SOURCE_READ_ONLY => 'SQLCHAR' # CHARACTER (1)
+, SQL_DBMS_NAME => 'SQLCHAR' # CHARACTER (254)
+, SQL_DBMS_VERSION => 'SQLCHAR' # CHARACTER (254)
+, SQL_DEFAULT_TRANSACTION_ISOLATION => 'SQLUINTEGER' # INTEGER
+, SQL_DESCRIBE_PARAMETER => 'SQLCHAR' # CHARACTER (1)
+, SQL_FETCH_DIRECTION => 'SQLUINTEGER bitmask' # INTEGER
+, SQL_GETDATA_EXTENSIONS => 'SQLUINTEGER bitmask' # INTEGER
+, SQL_IDENTIFIER_CASE => 'SQLUSMALLINT' # SMALLINT
+, SQL_INTEGRITY => 'SQLCHAR' # CHARACTER (1)
+, SQL_MAXIMUM_CATALOG_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_COLUMNS_IN_GROUP_BY => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_COLUMNS_IN_ORDER_BY => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_COLUMNS_IN_SELECT => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_COLUMNS_IN_TABLE => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_COLUMN_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_CONCURRENT_ACTIVITIES => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_CURSOR_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_DRIVER_CONNECTIONS => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_IDENTIFIER_LENGTH => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_SCHEMA_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_STMT_OCTETS => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_STMT_OCTETS_DATA => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_STMT_OCTETS_SCHEMA => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_TABLES_IN_SELECT => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_TABLE_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
+, SQL_MAXIMUM_USER_NAME_LENGTH => 'SQLUSMALLINT' # SMALLINT
+, SQL_NULL_COLLATION => 'SQLUSMALLINT' # SMALLINT
+, SQL_ORDER_BY_COLUMNS_IN_SELECT => 'SQLCHAR' # CHARACTER (1)
+, SQL_OUTER_JOIN_CAPABILITIES => 'SQLUINTEGER bitmask' # INTEGER
+, SQL_SCROLL_CONCURRENCY => 'SQLUINTEGER bitmask' # INTEGER
+, SQL_SEARCH_PATTERN_ESCAPE => 'SQLCHAR' # CHARACTER (1)
+, SQL_SERVER_NAME => 'SQLCHAR' # CHARACTER (128)
+, SQL_SPECIAL_CHARACTERS => 'SQLCHAR' # CHARACTER (254)
+, SQL_TRANSACTION_CAPABLE => 'SQLUSMALLINT' # SMALLINT
+, SQL_TRANSACTION_ISOLATION_OPTION => 'SQLUINTEGER bitmask' # INTEGER
+, SQL_USER_NAME => 'SQLCHAR' # CHARACTER (128)
+);
+
+=head2 %ReturnValues
+
+See: A.1 C header file SQLCLI.H, Page 317, 318.
+
+=cut
+
+$ReturnValues{SQL_ALTER_TABLE} =
+{
+ SQL_AT_ADD_COLUMN => 0x00000001
+, SQL_AT_DROP_COLUMN => 0x00000002
+, SQL_AT_ALTER_COLUMN => 0x00000004
+, SQL_AT_ADD_CONSTRAINT => 0x00000008
+, SQL_AT_DROP_CONSTRAINT => 0x00000010
+};
+$ReturnValues{SQL_CURSOR_COMMIT_BEHAVIOR} =
+{
+ SQL_CB_DELETE => 0
+, SQL_CB_CLOSE => 1
+, SQL_CB_PRESERVE => 2
+};
+$ReturnValues{SQL_FETCH_DIRECTION} =
+{
+ SQL_FD_FETCH_NEXT => 0x00000001
+, SQL_FD_FETCH_FIRST => 0x00000002
+, SQL_FD_FETCH_LAST => 0x00000004
+, SQL_FD_FETCH_PRIOR => 0x00000008
+, SQL_FD_FETCH_ABSOLUTE => 0x00000010
+, SQL_FD_FETCH_RELATIVE => 0x00000020
+};
+$ReturnValues{SQL_GETDATA_EXTENSIONS} =
+{
+ SQL_GD_ANY_COLUMN => 0x00000001
+, SQL_GD_ANY_ORDER => 0x00000002
+};
+$ReturnValues{SQL_IDENTIFIER_CASE} =
+{
+ SQL_IC_UPPER => 1
+, SQL_IC_LOWER => 2
+, SQL_IC_SENSITIVE => 3
+, SQL_IC_MIXED => 4
+};
+$ReturnValues{SQL_NULL_COLLATION} =
+{
+ SQL_NC_HIGH => 1
+, SQL_NC_LOW => 2
+};
+$ReturnValues{SQL_OUTER_JOIN_CAPABILITIES} =
+{
+ SQL_OUTER_JOIN_LEFT => 0x00000001
+, SQL_OUTER_JOIN_RIGHT => 0x00000002
+, SQL_OUTER_JOIN_FULL => 0x00000004
+, SQL_OUTER_JOIN_NESTED => 0x00000008
+, SQL_OUTER_JOIN_NOT_ORDERED => 0x00000010
+, SQL_OUTER_JOIN_INNER => 0x00000020
+, SQL_OUTER_JOIN_ALL_COMPARISON_OPS => 0x00000040
+};
+$ReturnValues{SQL_SCROLL_CONCURRENCY} =
+{
+ SQL_SCCO_READ_ONLY => 0x00000001
+, SQL_SCCO_LOCK => 0x00000002
+, SQL_SCCO_OPT_ROWVER => 0x00000004
+, SQL_SCCO_OPT_VALUES => 0x00000008
+};
+$ReturnValues{SQL_TRANSACTION_ACCESS_MODE} =
+{
+ SQL_TRANSACTION_READ_ONLY => 0x00000001
+, SQL_TRANSACTION_READ_WRITE => 0x00000002
+};
+$ReturnValues{SQL_TRANSACTION_CAPABLE} =
+{
+ SQL_TC_NONE => 0
+, SQL_TC_DML => 1
+, SQL_TC_ALL => 2
+, SQL_TC_DDL_COMMIT => 3
+, SQL_TC_DDL_IGNORE => 4
+};
+$ReturnValues{SQL_TRANSACTION_ISOLATION} =
+{
+ SQL_TRANSACTION_READ_UNCOMMITTED => 0x00000001
+, SQL_TRANSACTION_READ_COMMITTED => 0x00000002
+, SQL_TRANSACTION_REPEATABLE_READ => 0x00000004
+, SQL_TRANSACTION_SERIALIZABLE => 0x00000008
+};
+
+1;
+
+=head1 TODO
+
+Corrections, e.g.:
+
+ SQL_TRANSACTION_ISOLATION_OPTION vs. SQL_TRANSACTION_ISOLATION
+
+=cut