Steffen Goeldner wrote:
>
> SQL - Part 3: Call-Level Interface (SQL/CLI) moved from CD to FCD:
>
>
><http://www.jtc1sc32.org/sc32/jtc1sc32.nsf/Attachments/7E3B41486BD99C3488256B410064C877/$FILE/32N0744T.PDF>
>
> Good news: SQL_BIT was removed from sqlcli.h!
Bad news: they introduced SQL_BIGINT (25), which conflicts with
ODBC's SQL_BIGINT (-5).
The attached patch shows possible changes to DBI-1.201.
Steffen
diff -c DBI-1.201.orig/DBI.pm DBI-1.201/DBI.pm
*** DBI-1.201.orig/DBI.pm Thu Jan 10 16:15:00 2002
--- DBI-1.201/DBI.pm Tue Jan 15 20:32:48 2002
***************
*** 162,169 ****
SQL_WLONGVARCHAR
SQL_WVARCHAR
SQL_WCHAR
SQL_TINYINT
- SQL_BIGINT
SQL_LONGVARBINARY
SQL_VARBINARY
SQL_BINARY
--- 162,169 ----
SQL_WLONGVARCHAR
SQL_WVARCHAR
SQL_WCHAR
+ SQL_BIT
SQL_TINYINT
SQL_LONGVARBINARY
SQL_VARBINARY
SQL_BINARY
***************
*** 184,190 ****
SQL_TIME
SQL_TIMESTAMP
SQL_VARCHAR
- SQL_BIT_VARYING
SQL_BOOLEAN
SQL_UDT
SQL_UDT_LOCATOR
--- 184,189 ----
***************
*** 196,201 ****
--- 195,202 ----
SQL_CLOB_LOCATOR
SQL_ARRAY
SQL_ARRAY_LOCATOR
+ SQL_MULTISET
+ SQL_MULTISET_LOCATOR
SQL_TYPE_DATE
SQL_TYPE_TIME
SQL_TYPE_TIMESTAMP
***************
*** 1818,1824 ****
}
These constants are defined by SQL/CLI, ODBC or both.
! C<SQL_BIT> is (currently) omitted, because SQL/CLI and ODBC provide
conflicting codes.
See the L</type_info>, L</type_info_all>, and L</bind_param> methods
--- 1819,1825 ----
}
These constants are defined by SQL/CLI, ODBC or both.
! C<SQL_BIGINT> is (currently) omitted, because SQL/CLI and ODBC provide
conflicting codes.
See the L</type_info>, L</type_info_all>, and L</bind_param> methods
diff -c DBI-1.201.orig/DBI.xs DBI-1.201/DBI.xs
*** DBI-1.201.orig/DBI.xs Thu Jan 10 16:14:38 2002
--- DBI-1.201/DBI.xs Tue Jan 15 20:29:10 2002
***************
*** 2482,2490 ****
SQL_ALL_TYPES = SQL_ALL_TYPES
SQL_ARRAY = SQL_ARRAY
SQL_ARRAY_LOCATOR = SQL_ARRAY_LOCATOR
- SQL_BIGINT = SQL_BIGINT
SQL_BINARY = SQL_BINARY
! SQL_BIT_VARYING = SQL_BIT_VARYING
SQL_BLOB = SQL_BLOB
SQL_BLOB_LOCATOR = SQL_BLOB_LOCATOR
SQL_BOOLEAN = SQL_BOOLEAN
--- 2482,2489 ----
SQL_ALL_TYPES = SQL_ALL_TYPES
SQL_ARRAY = SQL_ARRAY
SQL_ARRAY_LOCATOR = SQL_ARRAY_LOCATOR
SQL_BINARY = SQL_BINARY
! SQL_BIT = SQL_BIT
SQL_BLOB = SQL_BLOB
SQL_BLOB_LOCATOR = SQL_BLOB_LOCATOR
SQL_BOOLEAN = SQL_BOOLEAN
***************
*** 2514,2519 ****
--- 2513,2520 ----
SQL_INTERVAL_YEAR_TO_MONTH = SQL_INTERVAL_YEAR_TO_MONTH
SQL_LONGVARBINARY = SQL_LONGVARBINARY
SQL_LONGVARCHAR = SQL_LONGVARCHAR
+ SQL_MULTISET = SQL_MULTISET
+ SQL_MULTISET_LOCATOR = SQL_MULTISET_LOCATOR
SQL_NUMERIC = SQL_NUMERIC
SQL_REAL = SQL_REAL
SQL_REF = SQL_REF
diff -c DBI-1.201.orig/dbi_sql.h DBI-1.201/dbi_sql.h
*** DBI-1.201.orig/dbi_sql.h Thu Jan 10 16:14:58 2002
--- DBI-1.201/dbi_sql.h Tue Jan 15 21:05:42 2002
***************
*** 14,19 ****
--- 14,20 ----
#define SQL_WLONGVARCHAR (-10)
#define SQL_WVARCHAR (-9)
#define SQL_WCHAR (-8)
+ #define SQL_BIT (-7)
#define SQL_TINYINT (-6)
#define SQL_BIGINT (-5)
#define SQL_LONGVARBINARY (-4)
***************
*** 36,43 ****
#define SQL_TIME 10
#define SQL_TIMESTAMP 11
#define SQL_VARCHAR 12
- #define SQL_BIT 14
- #define SQL_BIT_VARYING 15
#define SQL_BOOLEAN 16
#define SQL_UDT 17
#define SQL_UDT_LOCATOR 18
--- 37,42 ----
***************
*** 49,54 ****
--- 48,55 ----
#define SQL_CLOB_LOCATOR 41
#define SQL_ARRAY 50
#define SQL_ARRAY_LOCATOR 51
+ #define SQL_MULTISET 55
+ #define SQL_MULTISET_LOCATOR 56
#define SQL_TYPE_DATE 91
#define SQL_TYPE_TIME 92
#define SQL_TYPE_TIMESTAMP 93
Common subdirectories: DBI-1.201.orig/lib and DBI-1.201/lib
Common subdirectories: DBI-1.201.orig/t and DBI-1.201/t