Changeset: 327b159772ee for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/327b159772ee
Modified Files:
        sql/storage/store.c
Branch: sql_profiler
Log Message:

Merge with default.


diffs (truncated from 932 to 300 lines):

diff --git a/clients/odbc/driver/ODBCError.c b/clients/odbc/driver/ODBCError.c
--- a/clients/odbc/driver/ODBCError.c
+++ b/clients/odbc/driver/ODBCError.c
@@ -43,7 +43,7 @@ const char ODBCErrorMsgPrefix[] = "[Mone
 const int ODBCErrorMsgPrefixLength = (int) sizeof(ODBCErrorMsgPrefix) - 1;
 
 /*
- * Local utility function which retuns the standard ODBC/ISO error
+ * Local utility function which returns the standard ODBC/ISO error
  * message text for a given ISO SQLState code.
  * When no message could be found for a given SQLState a msg is
  * printed to stderr to warn that the programmer has forgotten to
diff --git a/clients/odbc/driver/SQLSetStmtAttr.c 
b/clients/odbc/driver/SQLSetStmtAttr.c
--- a/clients/odbc/driver/SQLSetStmtAttr.c
+++ b/clients/odbc/driver/SQLSetStmtAttr.c
@@ -267,14 +267,7 @@ MNDBSetStmtAttr(ODBCStmt *stmt,
                }
                break;
 
-       case SQL_ATTR_ROW_NUMBER:            /* SQLULEN */
-               /* read-only attribute */
-       default:
-               /* Invalid attribute/option identifier */
-               addStmtError(stmt, "HY092", NULL, 0);
-               return SQL_ERROR;
-
-               /* TODO: implement requested behavior */
+       /* TODO: implement requested behavior */
        case SQL_ATTR_ASYNC_ENABLE:             /* SQLULEN */
 #ifdef SQL_ATTR_ASYNC_STMT_EVENT
        case SQL_ATTR_ASYNC_STMT_EVENT:         /* SQLPOINTER */
@@ -293,6 +286,13 @@ MNDBSetStmtAttr(ODBCStmt *stmt,
                /* Optional feature not implemented */
                addStmtError(stmt, "HYC00", NULL, 0);
                return SQL_ERROR;
+
+       case SQL_ATTR_ROW_NUMBER:            /* SQLULEN */
+               /* invalid attribute, can only be used with SQLGetStmtAttr */
+       default:
+               /* Invalid attribute/option identifier */
+               addStmtError(stmt, "HY092", NULL, 0);
+               return SQL_ERROR;
        }
 
        return stmt->Error ? SQL_SUCCESS_WITH_INFO : SQL_SUCCESS;
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
@@ -94,6 +94,7 @@ compareResult(SQLHANDLE stmt, SQLRETURN 
 {
        SQLRETURN ret;
        SQLSMALLINT columns;    /* Number of columns in result-set */
+       SQLLEN rows;            /* Number of rows in result-set */
        size_t expct_len = strlen(expected);
        size_t outp_len = expct_len + 10000;
        char * outp = malloc(outp_len);
@@ -115,6 +116,11 @@ compareResult(SQLHANDLE stmt, SQLRETURN 
        check(ret, SQL_HANDLE_STMT, stmt, "SQLNumResultCols()");
        pos += snprintf(outp + pos, outp_len - pos, "Resultset with %d 
columns\n", columns);
 
+       /* How many rows are there */
+       ret = SQLRowCount(stmt, &rows);
+       check(ret, SQL_HANDLE_STMT, stmt, "SQLRowCount()");
+       pos += snprintf(outp + pos, outp_len - pos, "Resultset with %ld 
rows\n", rows);
+
        /* get Result Column Names and print them */
        for (col = 1; col <= columns; col++) {
                ret = SQLDescribeCol(stmt, col, (SQLCHAR *) buf, sizeof(buf),
@@ -221,6 +227,8 @@ main(int argc, char **argv)
                , SQL_NTS);
        check(ret, SQL_HANDLE_DBC, dbc, "SQLExecDirect (create and set schema 
script)");
 
+       // create tables to populate catalog. Used for testing SQLTables(),
+       // SQLColumns(), SQLSpecialColumns(), SQLPrimaryKeys() and 
SQLForeignKeys()
        ret = SQLExecDirect(stmt, (SQLCHAR *)
                "CREATE TABLE odbctst.pk_uc (id1 INT NOT NULL PRIMARY KEY, 
name1 VARCHAR(99) UNIQUE);\n"
                "CREATE LOCAL TEMP TABLE tmp.tmp_pk_uc (id1 INT NOT NULL 
PRIMARY KEY, name1 VARCHAR(99) UNIQUE);\n"
@@ -240,6 +248,7 @@ main(int argc, char **argv)
                , SQL_NTS);
        check(ret, SQL_HANDLE_DBC, dbc, "SQLExecDirect (create tables script)");
 
+       // create indexes to populate catalog. Used for testing SQLStatistics()
        ret = SQLExecDirect(stmt, (SQLCHAR *)
                "CREATE INDEX pk_uc_i ON odbctst.pk_uc (id1, name1);\n"
                "CREATE INDEX tmp_pk_uc_i ON tmp.tmp_pk_uc (id1, name1);\n"
@@ -250,6 +259,7 @@ main(int argc, char **argv)
                , SQL_NTS);
        check(ret, SQL_HANDLE_DBC, dbc, "SQLExecDirect (create indices 
script)");
 
+       // grant privileges to populate catalog. Used for testing 
SQLTablePrivileges() and SQLColumnPrivileges()
        ret = SQLExecDirect(stmt, (SQLCHAR *)
                "GRANT SELECT ON TABLE odbctst.pk_uc TO PUBLIC;\n"
                "GRANT INSERT, UPDATE, DELETE ON TABLE odbctst.pk_uc TO 
monetdb;\n"
@@ -266,6 +276,7 @@ main(int argc, char **argv)
        check(ret, SQL_HANDLE_DBC, dbc, "SQLExecDirect (add privileges 
script)");
 
        // TODO add user procedures / functions to test SQLProcedures() and 
SQLProcedureColumns() more
+       // TODO add SQL COMMENT to tables, columns, indexes, procedures, 
functions to fetch (and test) data in the REMARKS result column
 
 /* run actual metadata query tests */
        // All catalogs query
@@ -274,6 +285,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"", SQL_NTS);
        compareResult(stmt, ret, "SQLTables (SQL_ALL_CATALOGS)",
                "Resultset with 5 columns\n"
+               "Resultset with 1 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      TABLE_TYPE      
REMARKS\n"
                "mTests_sql_odbc_tests  NULL    NULL    NULL    NULL\n");
 
@@ -283,6 +295,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"", SQL_NTS, (SQLCHAR*)"", SQL_NTS);
        compareResult(stmt, ret, "SQLTables (SQL_ALL_SCHEMAS)",
                "Resultset with 5 columns\n"
+               "Resultset with 8 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      TABLE_TYPE      
REMARKS\n"
                "NULL   json    NULL    NULL    NULL\n"
                "NULL   logging NULL    NULL    NULL\n"
@@ -299,6 +312,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)SQL_ALL_TABLE_TYPES, SQL_NTS);
        compareResult(stmt, ret, "SQLTables (SQL_ALL_TABLE_TYPES)",
                "Resultset with 5 columns\n"
+               "Resultset with 10 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      TABLE_TYPE      
REMARKS\n"
                "NULL   NULL    NULL    GLOBAL TEMPORARY TABLE  NULL\n"
                "NULL   NULL    NULL    LOCAL TEMPORARY TABLE   NULL\n"
@@ -314,9 +328,10 @@ main(int argc, char **argv)
        // All tables in schema odbctst
        ret = SQLTables(stmt, (SQLCHAR*)"", SQL_NTS,
                        (SQLCHAR*)"odbctst", SQL_NTS, (SQLCHAR*)"%", SQL_NTS,
-                       (SQLCHAR*)"TABLE, VIEW, SYSTEM TABLE, GLOBAL TEMPORARY 
TABLE, LOCAL TEMPORARY TABLE, ALIAS, SYNONYM", SQL_NTS);
+                       (SQLCHAR*)"TABLE,VIEW,SYSTEM TABLE,GLOBAL TEMPORARY 
TABLE,LOCAL TEMPORARY TABLE,ALIAS,SYNONYM", SQL_NTS);
        compareResult(stmt, ret, "SQLTables (odbctst, %)",
                "Resultset with 5 columns\n"
+               "Resultset with 7 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      TABLE_TYPE      
REMARKS\n"
                "mTests_sql_odbc_tests  odbctst CUSTOMERS       TABLE   NULL\n"
                "mTests_sql_odbc_tests  odbctst LINES   TABLE   NULL\n"
@@ -332,6 +347,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"TABLE, VIEW, GLOBAL TEMPORARY TABLE, LOCAL 
TEMPORARY TABLE", SQL_NTS);
        compareResult(stmt, ret, "SQLTables (%, %, TABLE, VIEW, GLOBAL 
TEMPORARY TABLE, LOCAL TEMPORARY TABLE)",
                "Resultset with 5 columns\n"
+               "Resultset with 11 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      TABLE_TYPE      
REMARKS\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"
@@ -351,6 +367,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"%", SQL_NTS);
        compareResult(stmt, ret, "SQLColumns (odbctst, %pk%, %)",
                "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"
                "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"
@@ -366,6 +383,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"%%", SQL_NTS);
        compareResult(stmt, ret, "SQLColumns (tmp, %pk%, %%)",
                "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"
                "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"
@@ -382,6 +400,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"name_", SQL_NTS);
        compareResult(stmt, ret, "SQLColumns (tmp, %pk%, name_)",
                "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"
                "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"
@@ -393,6 +412,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"sys", SQL_NTS, (SQLCHAR*)"table_types", 
SQL_NTS);
        compareResult(stmt, ret, "SQLPrimaryKeys (sys, table_types)",
                "Resultset with 6 columns\n"
+               "Resultset with 1 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      COLUMN_NAME     
KEY_SEQ PK_NAME\n"
                "mTests_sql_odbc_tests  sys     table_types     table_type_id   
1       table_types_table_type_id_pkey\n");
 
@@ -401,6 +421,7 @@ main(int argc, char **argv)
                        SQL_SCOPE_SESSION, SQL_NO_NULLS);
        compareResult(stmt, ret, "SQLSpecialColumns (sys, table_types)",
                "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"
                "1      table_type_id   5       SMALLINT        16      6       
0       1\n");
 
@@ -409,6 +430,7 @@ main(int argc, char **argv)
                        SQL_INDEX_UNIQUE, SQL_ENSURE);
        compareResult(stmt, ret, "SQLStatistics (sys, table_types, 
SQL_INDEX_UNIQUE, SQL_ENSURE)",
                "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"
                "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");
@@ -418,6 +440,7 @@ main(int argc, char **argv)
                        SQL_INDEX_ALL, SQL_QUICK);
        compareResult(stmt, ret, "SQLStatistics (sys, table_types, 
SQL_INDEX_ALL, SQL_QUICK)",
                "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"
                "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");
@@ -426,6 +449,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"sys", SQL_NTS, (SQLCHAR*)"table_types", 
SQL_NTS);
        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");
 
        ret = SQLColumnPrivileges(stmt, (SQLCHAR*)"", SQL_NTS,
@@ -433,6 +457,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"%", SQL_NTS);
        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");
 
        // odbctst.pk_uc
@@ -440,6 +465,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"odbctst", SQL_NTS, (SQLCHAR*)"pk_uc", 
SQL_NTS);
        compareResult(stmt, ret, "SQLPrimaryKeys (odbctst, pk_uc)",
                "Resultset with 6 columns\n"
+               "Resultset with 1 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      COLUMN_NAME     
KEY_SEQ PK_NAME\n"
                "mTests_sql_odbc_tests  odbctst pk_uc   id1     1       
pk_uc_id1_pkey\n");
 
@@ -448,6 +474,7 @@ main(int argc, char **argv)
                        SQL_SCOPE_SESSION, SQL_NO_NULLS);
        compareResult(stmt, ret, "SQLSpecialColumns (odbctst, pk_uc, 
SQL_BEST_ROWID)",
                "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"
                "1      id1     4       INTEGER 32      11      0       1\n");
 
@@ -456,6 +483,7 @@ main(int argc, char **argv)
                        SQL_SCOPE_SESSION, SQL_NO_NULLS);
        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");
 
        ret = SQLStatistics(stmt, (SQLCHAR*)"", SQL_NTS,
@@ -463,6 +491,7 @@ main(int argc, char **argv)
                        SQL_INDEX_UNIQUE, SQL_ENSURE);
        compareResult(stmt, ret, "SQLStatistics (odbctst, pk_uc, 
SQL_INDEX_UNIQUE, SQL_ENSURE)",
                "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"
                "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");
@@ -472,6 +501,7 @@ main(int argc, char **argv)
                        SQL_INDEX_ALL, SQL_QUICK);
        compareResult(stmt, ret, "SQLStatistics (odbctst, pk_uc, SQL_INDEX_ALL, 
SQL_QUICK)",
                "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"
                "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"
@@ -482,6 +512,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"odbctst", SQL_NTS, (SQLCHAR*)"pk_uc", 
SQL_NTS);
        compareResult(stmt, ret, "SQLTablePrivileges (odbctst, pk_uc)",
                "Resultset with 7 columns\n"
+               "Resultset with 4 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      GRANTOR GRANTEE 
PRIVILEGE       IS_GRANTABLE\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"
@@ -493,6 +524,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"%1", SQL_NTS);
        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");
 
        // tmp.tmp_pk_uc
@@ -500,6 +532,7 @@ main(int argc, char **argv)
                        (SQLCHAR*)"tmp", SQL_NTS, (SQLCHAR*)"tmp_pk_uc", 
SQL_NTS);
        compareResult(stmt, ret, "SQLPrimaryKeys (tmp, tmp_pk_uc)",
                "Resultset with 6 columns\n"
+               "Resultset with 1 rows\n"
                "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      COLUMN_NAME     
KEY_SEQ PK_NAME\n"
                "mTests_sql_odbc_tests  tmp     tmp_pk_uc       id1     1       
tmp_pk_uc_id1_pkey\n");
 
@@ -508,6 +541,7 @@ main(int argc, char **argv)
                        SQL_SCOPE_SESSION, SQL_NO_NULLS);
        compareResult(stmt, ret, "SQLSpecialColumns (tmp, tmp_pk_uc)",
                "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"
                "1      id1     4       INTEGER 32      11      0       1\n");
 
@@ -516,6 +550,7 @@ main(int argc, char **argv)
                        SQL_INDEX_UNIQUE, SQL_ENSURE);
        compareResult(stmt, ret, "SQLStatistics (tmp, tmp_pk_uc, 
SQL_INDEX_UNIQUE, SQL_ENSURE)",
                "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"
                "mTests_sql_odbc_tests  tmp     tmp_pk_uc       0       NULL    
tmp_pk_uc_id1_pkey      2       1       id1     NULL    NULL    NULL    NULL\n"
                "mTests_sql_odbc_tests  tmp     tmp_pk_uc       0       NULL    
tmp_pk_uc_name1_unique  2       1       name1   NULL    NULL    NULL    
NULL\n");
@@ -525,6 +560,7 @@ main(int argc, char **argv)
                        SQL_INDEX_ALL, SQL_QUICK);
        compareResult(stmt, ret, "SQLStatistics (tmp, tmp_pk_uc, SQL_INDEX_ALL, 
SQL_QUICK)",
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to