Changeset: ba8c39611383 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ba8c39611383
Modified Files:
clients/odbc/tests/ODBCmetadata.c
Branch: default
Log Message:
Extend tests by also retrieving and comparing dataType, columnSize and
decimalDigits of result columns.
diffs (truncated from 685 to 300 lines):
diff --git a/clients/odbc/tests/ODBCmetadata.c
b/clients/odbc/tests/ODBCmetadata.c
--- a/clients/odbc/tests/ODBCmetadata.c
+++ b/clients/odbc/tests/ODBCmetadata.c
@@ -90,6 +90,52 @@ check(SQLRETURN ret, SQLSMALLINT tpe, SQ
}
}
+static char *
+nameofSQLtype(SQLSMALLINT dataType)
+{
+ /*
https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/sql-data-types */
+ switch (dataType) {
+ case SQL_CHAR: return "CHAR";
+ case SQL_VARCHAR: return "VARCHAR";
+ case SQL_LONGVARCHAR: return "LONGVARCHAR";
+ case SQL_WCHAR: return "WCHAR";
+ case SQL_WVARCHAR: return "WVARCHAR";
+ case SQL_WLONGVARCHAR: return "WLONGVARCHAR";
+ case SQL_DECIMAL: return "DECIMAL";
+ case SQL_NUMERIC: return "NUMERIC";
+ case SQL_SMALLINT: return "SMALLINT";
+ case SQL_INTEGER: return "INTEGER";
+ case SQL_REAL: return "REAL";
+ case SQL_FLOAT: return "FLOAT";
+ case SQL_DOUBLE: return "DOUBLE";
+ case SQL_BIT: return "BIT";
+ case SQL_TINYINT: return "TINYINT";
+ case SQL_BIGINT: return "BIGINT";
+ case SQL_BINARY: return "BINARY";
+ case SQL_VARBINARY: return "VARBINARY";
+ case SQL_LONGVARBINARY: return "LONGVARBINARY";
+ case SQL_DATETIME: return "DATETIME";
+ case SQL_TYPE_DATE: return "TYPE_DATE";
+ case SQL_TYPE_TIME: return "TYPE_TIME";
+ case SQL_TYPE_TIMESTAMP: return "TYPE_TIMESTAMP";
+ case SQL_INTERVAL_MONTH: return "INTERVAL_MONTH";
+ case SQL_INTERVAL_YEAR: return "INTERVAL_YEAR";
+ case SQL_INTERVAL_YEAR_TO_MONTH: return "SQL_INTERVAL_YEAR_TO_MONTH";
+ case SQL_INTERVAL_DAY: return "INTERVAL_DAY";
+ case SQL_INTERVAL_HOUR: return "INTERVAL_HOUR";
+ case SQL_INTERVAL_MINUTE: return "INTERVAL_MINUTE";
+ case SQL_INTERVAL_SECOND: return "INTERVAL_SECOND";
+ case SQL_INTERVAL_DAY_TO_HOUR: return "INTERVAL_DAY_TO_HOUR";
+ case SQL_INTERVAL_DAY_TO_MINUTE: return "INTERVAL_DAY_TO_MINUTE";
+ case SQL_INTERVAL_DAY_TO_SECOND: return "INTERVAL_DAY_TO_SECOND";
+ case SQL_INTERVAL_HOUR_TO_MINUTE: return
"INTERVAL_HOUR_TO_MINUTE";
+ case SQL_INTERVAL_HOUR_TO_SECOND: return
"INTERVAL_HOUR_TO_SECOND";
+ case SQL_INTERVAL_MINUTE_TO_SECOND: return
"INTERVAL_MINUTE_TO_SECOND";
+ case SQL_GUID: return "GUID";
+ default: return "UNDEFINED";
+ }
+}
+
static void
compareResult(SQLHANDLE stmt, SQLRETURN retcode, const char * functionname,
const char * expected)
{
@@ -103,6 +149,9 @@ compareResult(SQLHANDLE stmt, SQLRETURN
SQLUSMALLINT col;
SQLLEN indicator;
char buf[2048];
+ SQLSMALLINT dataType = 0;
+ SQLULEN columnSize = 0;
+ SQLSMALLINT decimalDigits = 0;
int replaceId = 0; /* used to replace system id values in column
SPECIFIC_NAME of getProcedures and getProcedureColumns */
if (outp == NULL) {
@@ -126,11 +175,43 @@ compareResult(SQLHANDLE stmt, SQLRETURN
for (col = 1; col <= columns; col++) {
ret = SQLDescribeCol(stmt, col, (SQLCHAR *) buf, sizeof(buf),
NULL, NULL, NULL, NULL, NULL);
- check(ret, SQL_HANDLE_STMT, stmt, "SQLDescribeCol()");
+ check(ret, SQL_HANDLE_STMT, stmt, "SQLDescribeCol(colName)");
pos += snprintf(outp + pos, outp_len - pos,
(col > 1) ? "\t%s" : "%s", buf);
}
pos += snprintf(outp + pos, outp_len - pos, "\n");
+ /* get Result Column Data Types and print them */
+ for (col = 1; col <= columns; col++) {
+ ret = SQLDescribeCol(stmt, col, (SQLCHAR *) buf, sizeof(buf),
+ NULL, &dataType, &columnSize, &decimalDigits, NULL);
+ check(ret, SQL_HANDLE_STMT, stmt, "SQLDescribeCol(colType)");
+ pos += snprintf(outp + pos, outp_len - pos,
+ (col > 1) ? "\t%s" : "%s",
nameofSQLtype(dataType));
+ switch (dataType) {
+ case SQL_CHAR:
+ case SQL_VARCHAR:
+ case SQL_LONGVARCHAR:
+ case SQL_WCHAR:
+ case SQL_WVARCHAR:
+ case SQL_WLONGVARCHAR:
+ case SQL_DECIMAL:
+ case SQL_NUMERIC:
+ case SQL_BINARY:
+ case SQL_VARBINARY:
+ case SQL_LONGVARBINARY:
+ if (columnSize != 0) {
+ if (decimalDigits != 0) {
+ pos += snprintf(outp + pos, outp_len -
pos,
+ "(%d,%d)", (int) columnSize,
(int) decimalDigits);
+ } else {
+ pos += snprintf(outp + pos, outp_len -
pos,
+ "(%d)", (int) columnSize);
+ }
+ }
+ break;
+ }
+ }
+ pos += snprintf(outp + pos, outp_len - pos, "\n");
/* detect if special handling of data of column SPECIFIC_NAME returned
by SQLProcedures and SQLProcedureColumns
is needed as it contains system generated id values which can differ
per version and platform */
@@ -288,6 +369,7 @@ main(int argc, char **argv)
"Resultset with 5 columns\n"
"Resultset with 1 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE
REMARKS\n"
+ "WVARCHAR(2048) WVARCHAR(1) WVARCHAR(1) WVARCHAR(1)
WVARCHAR(1)\n"
"mTests_sql_odbc_tests NULL NULL NULL NULL\n");
// All schemas query
@@ -298,6 +380,7 @@ main(int argc, char **argv)
"Resultset with 5 columns\n"
"Resultset with 8 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE
REMARKS\n"
+ "WVARCHAR(1) WVARCHAR(1024) WVARCHAR(1) WVARCHAR(1)
WVARCHAR(1)\n"
"NULL json NULL NULL NULL\n"
"NULL logging NULL NULL NULL\n"
"NULL odbctst NULL NULL NULL\n"
@@ -315,6 +398,7 @@ main(int argc, char **argv)
"Resultset with 5 columns\n"
"Resultset with 10 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE
REMARKS\n"
+ "WVARCHAR(1) WVARCHAR(1) WVARCHAR(1) WVARCHAR(25)
WVARCHAR(1)\n"
"NULL NULL NULL GLOBAL TEMPORARY TABLE NULL\n"
"NULL NULL NULL LOCAL TEMPORARY TABLE NULL\n"
"NULL NULL NULL MERGE TABLE NULL\n"
@@ -334,6 +418,7 @@ main(int argc, char **argv)
"Resultset with 5 columns\n"
"Resultset with 7 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE
REMARKS\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(25)
WVARCHAR(65000)\n"
"mTests_sql_odbc_tests odbctst CUSTOMERS TABLE NULL\n"
"mTests_sql_odbc_tests odbctst LINES TABLE NULL\n"
"mTests_sql_odbc_tests odbctst ORDERS TABLE NULL\n"
@@ -350,6 +435,7 @@ main(int argc, char **argv)
"Resultset with 5 columns\n"
"Resultset with 11 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE
REMARKS\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(25)
WVARCHAR(65000)\n"
"mTests_sql_odbc_tests tmp glbl_nopk_twoucs GLOBAL
TEMPORARY TABLE NULL\n"
"mTests_sql_odbc_tests tmp glbl_pk_uc GLOBAL
TEMPORARY TABLE NULL\n"
"mTests_sql_odbc_tests tmp tmp_nopk_twoucs LOCAL TEMPORARY
TABLE NULL\n"
@@ -370,6 +456,7 @@ main(int argc, char **argv)
"Resultset with 18 columns\n"
"Resultset with 7 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION
IS_NULLABLE\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
SMALLINT WCHAR(25) INTEGER BIGINT BIGINT SMALLINT
SMALLINT WVARCHAR(65000) WVARCHAR(2048) SMALLINT SMALLINT
BIGINT INTEGER WVARCHAR(3)\n"
"mTests_sql_odbc_tests odbctst nopk_twoucs id2 4
INTEGER 32 11 0 2 0 NULL NULL 4 NULL
NULL 1 NO\n"
"mTests_sql_odbc_tests odbctst nopk_twoucs name2 -9
VARCHAR 99 198 NULL NULL 1 NULL NULL -9 NULL
198 2 YES\n"
"mTests_sql_odbc_tests odbctst pk2c pkc1 4 INTEGER
32 11 0 2 0 NULL NULL 4 NULL NULL
1 NO\n"
@@ -386,6 +473,7 @@ main(int argc, char **argv)
"Resultset with 18 columns\n"
"Resultset with 8 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION
IS_NULLABLE\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
SMALLINT WCHAR(25) INTEGER BIGINT BIGINT SMALLINT
SMALLINT WVARCHAR(65000) WVARCHAR(2048) SMALLINT SMALLINT
BIGINT INTEGER WVARCHAR(3)\n"
"mTests_sql_odbc_tests tmp glbl_nopk_twoucs id2
4 INTEGER 32 11 0 2 0 NULL NULL 4
NULL NULL 1 NO\n"
"mTests_sql_odbc_tests tmp glbl_nopk_twoucs name2
-9 VARCHAR 99 198 NULL NULL 1 NULL NULL -9
NULL 198 2 YES\n"
"mTests_sql_odbc_tests tmp glbl_pk_uc id1 4
INTEGER 32 11 0 2 0 NULL NULL 4 NULL
NULL 1 NO\n"
@@ -403,6 +491,7 @@ main(int argc, char **argv)
"Resultset with 18 columns\n"
"Resultset with 4 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS
NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION
IS_NULLABLE\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
SMALLINT WCHAR(25) INTEGER BIGINT BIGINT SMALLINT
SMALLINT WVARCHAR(65000) WVARCHAR(2048) SMALLINT SMALLINT
BIGINT INTEGER WVARCHAR(3)\n"
"mTests_sql_odbc_tests tmp glbl_nopk_twoucs name2
-9 VARCHAR 99 198 NULL NULL 1 NULL NULL -9
NULL 198 2 YES\n"
"mTests_sql_odbc_tests tmp glbl_pk_uc name1 -9
VARCHAR 99 198 NULL NULL 1 NULL NULL -9 NULL
198 2 YES\n"
"mTests_sql_odbc_tests tmp tmp_nopk_twoucs name2 -9
VARCHAR 99 198 NULL NULL 1 NULL NULL -9 NULL
198 2 YES\n"
@@ -415,6 +504,7 @@ main(int argc, char **argv)
"Resultset with 6 columns\n"
"Resultset with 1 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
KEY_SEQ PK_NAME\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
SMALLINT WVARCHAR(1024)\n"
"mTests_sql_odbc_tests sys table_types table_type_id
1 table_types_table_type_id_pkey\n");
ret = SQLSpecialColumns(stmt, SQL_BEST_ROWID, (SQLCHAR*)"", SQL_NTS,
@@ -424,6 +514,7 @@ main(int argc, char **argv)
"Resultset with 8 columns\n"
"Resultset with 1 rows\n"
"SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME
COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n"
+ "SMALLINT WVARCHAR(1024) SMALLINT WCHAR(25)
INTEGER BIGINT BIGINT SMALLINT\n"
"1 table_type_id 5 SMALLINT 16 6
0 1\n");
ret = SQLStatistics(stmt, (SQLCHAR*)"", SQL_NTS,
@@ -433,6 +524,7 @@ main(int argc, char **argv)
"Resultset with 13 columns\n"
"Resultset with 2 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE
INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) SMALLINT
WVARCHAR(1) WVARCHAR(1024) SMALLINT SMALLINT WVARCHAR(1024)
WCHAR(1) INTEGER INTEGER WVARCHAR(1)\n"
"mTests_sql_odbc_tests sys table_types 0 NULL
table_types_table_type_id_pkey 2 1 table_type_id NULL 10
NULL NULL\n"
"mTests_sql_odbc_tests sys table_types 0 NULL
table_types_table_type_name_unique 2 1 table_type_name NULL
10 NULL NULL\n");
@@ -443,6 +535,7 @@ main(int argc, char **argv)
"Resultset with 13 columns\n"
"Resultset with 2 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE
INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) SMALLINT
WVARCHAR(1) WVARCHAR(1024) SMALLINT SMALLINT WVARCHAR(1024)
WCHAR(1) INTEGER INTEGER WVARCHAR(1)\n"
"mTests_sql_odbc_tests sys table_types 0 NULL
table_types_table_type_id_pkey 2 1 table_type_id NULL 10
NULL NULL\n"
"mTests_sql_odbc_tests sys table_types 0 NULL
table_types_table_type_name_unique 2 1 table_type_name NULL
10 NULL NULL\n");
@@ -451,7 +544,8 @@ main(int argc, char **argv)
compareResult(stmt, ret, "SQLTablePrivileges (sys, table_types)",
"Resultset with 7 columns\n"
"Resultset with 0 rows\n"
- "TABLE_CAT TABLE_SCHEM TABLE_NAME GRANTOR GRANTEE
PRIVILEGE IS_GRANTABLE\n");
+ "TABLE_CAT TABLE_SCHEM TABLE_NAME GRANTOR GRANTEE
PRIVILEGE IS_GRANTABLE\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WCHAR(1024)
WCHAR(1024) WVARCHAR(40) WCHAR(3)\n");
ret = SQLColumnPrivileges(stmt, (SQLCHAR*)"", SQL_NTS,
(SQLCHAR*)"sys", SQL_NTS, (SQLCHAR*)"table_types",
SQL_NTS,
@@ -459,7 +553,8 @@ main(int argc, char **argv)
compareResult(stmt, ret, "SQLColumnPrivileges (sys, table_types, %)",
"Resultset with 8 columns\n"
"Resultset with 0 rows\n"
- "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n");
+ "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
WCHAR(1024) WCHAR(1024) WVARCHAR(40) WCHAR(3)\n");
// odbctst.pk_uc
ret = SQLPrimaryKeys(stmt, (SQLCHAR*)"", SQL_NTS,
@@ -468,6 +563,7 @@ main(int argc, char **argv)
"Resultset with 6 columns\n"
"Resultset with 1 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
KEY_SEQ PK_NAME\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
SMALLINT WVARCHAR(1024)\n"
"mTests_sql_odbc_tests odbctst pk_uc id1 1
pk_uc_id1_pkey\n");
ret = SQLSpecialColumns(stmt, SQL_BEST_ROWID, (SQLCHAR*)"", SQL_NTS,
@@ -477,6 +573,7 @@ main(int argc, char **argv)
"Resultset with 8 columns\n"
"Resultset with 1 rows\n"
"SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME
COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n"
+ "SMALLINT WVARCHAR(1024) SMALLINT WCHAR(25)
INTEGER BIGINT BIGINT SMALLINT\n"
"1 id1 4 INTEGER 32 11 0 1\n");
ret = SQLSpecialColumns(stmt, SQL_ROWVER, (SQLCHAR*)"", SQL_NTS,
@@ -485,7 +582,8 @@ main(int argc, char **argv)
compareResult(stmt, ret, "SQLSpecialColumns (odbctst, pk_uc,
SQL_ROWVER)",
"Resultset with 8 columns\n"
"Resultset with 0 rows\n"
- "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME
COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n");
+ "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME
COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n"
+ "SMALLINT WVARCHAR(1) SMALLINT WVARCHAR(4)
INTEGER INTEGER SMALLINT SMALLINT\n");
ret = SQLStatistics(stmt, (SQLCHAR*)"", SQL_NTS,
(SQLCHAR*)"odbctst", SQL_NTS, (SQLCHAR*)"pk_uc",
SQL_NTS,
@@ -494,6 +592,7 @@ main(int argc, char **argv)
"Resultset with 13 columns\n"
"Resultset with 2 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE
INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) SMALLINT
WVARCHAR(1) WVARCHAR(1024) SMALLINT SMALLINT WVARCHAR(1024)
WCHAR(1) INTEGER INTEGER WVARCHAR(1)\n"
"mTests_sql_odbc_tests odbctst pk_uc 0 NULL
pk_uc_id1_pkey 2 1 id1 NULL 0 NULL NULL\n"
"mTests_sql_odbc_tests odbctst pk_uc 0 NULL
pk_uc_name1_unique 2 1 name1 NULL 0 NULL
NULL\n");
@@ -504,6 +603,7 @@ main(int argc, char **argv)
"Resultset with 13 columns\n"
"Resultset with 4 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE
INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME
ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) SMALLINT
WVARCHAR(1) WVARCHAR(1024) SMALLINT SMALLINT WVARCHAR(1024)
WCHAR(1) INTEGER INTEGER WVARCHAR(1)\n"
"mTests_sql_odbc_tests odbctst pk_uc 0 NULL
pk_uc_id1_pkey 2 1 id1 NULL 0 NULL NULL\n"
"mTests_sql_odbc_tests odbctst pk_uc 0 NULL
pk_uc_name1_unique 2 1 name1 NULL 0 NULL NULL\n"
"mTests_sql_odbc_tests odbctst pk_uc 1 NULL pk_uc_i
2 1 id1 NULL NULL NULL NULL\n"
@@ -515,6 +615,7 @@ main(int argc, char **argv)
"Resultset with 7 columns\n"
"Resultset with 4 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME GRANTOR GRANTEE
PRIVILEGE IS_GRANTABLE\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WCHAR(1024)
WCHAR(1024) WVARCHAR(40) WCHAR(3)\n"
"mTests_sql_odbc_tests odbctst pk_uc _SYSTEM monetdb DELETE
NO\n"
"mTests_sql_odbc_tests odbctst pk_uc _SYSTEM monetdb INSERT
NO\n"
"mTests_sql_odbc_tests odbctst pk_uc monetdb PUBLIC SELECT
NO\n"
@@ -526,7 +627,8 @@ main(int argc, char **argv)
compareResult(stmt, ret, "SQLColumnPrivileges (odbctst, pk_uc, %1)",
"Resultset with 8 columns\n"
"Resultset with 0 rows\n"
- "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n");
+ "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
WCHAR(1024) WCHAR(1024) WVARCHAR(40) WCHAR(3)\n");
// tmp.tmp_pk_uc
ret = SQLPrimaryKeys(stmt, (SQLCHAR*)"", SQL_NTS,
@@ -535,6 +637,7 @@ main(int argc, char **argv)
"Resultset with 6 columns\n"
"Resultset with 1 rows\n"
"TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
KEY_SEQ PK_NAME\n"
+ "WCHAR(21) WVARCHAR(1024) WVARCHAR(1024) WVARCHAR(1024)
SMALLINT WVARCHAR(1024)\n"
"mTests_sql_odbc_tests tmp tmp_pk_uc id1 1
tmp_pk_uc_id1_pkey\n");
ret = SQLSpecialColumns(stmt, SQL_BEST_ROWID, (SQLCHAR*)"", SQL_NTS,
@@ -544,6 +647,7 @@ main(int argc, char **argv)
"Resultset with 8 columns\n"
"Resultset with 1 rows\n"
"SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME
COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n"
+ "SMALLINT WVARCHAR(1024) SMALLINT WCHAR(25)
INTEGER BIGINT BIGINT SMALLINT\n"
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]