List:Commits« Previous MessageNext Message »
From:jbalint Date:March 6 2007 10:01am
Subject:ODBC C-tests commit: r34 - trunk/testsuites/t_jbalint
View as plain text  
Modified:
   trunk/testsuites/t_jbalint/getinfo.c
   trunk/testsuites/t_jbalint/t_jbalint.h
   trunk/testsuites/t_jbalint/t_jbalint_suite.c
Log:
added getinfo test for supported SQL statements (SQLGetInfo)

Modified: trunk/testsuites/t_jbalint/getinfo.c
===================================================================
--- trunk/testsuites/t_jbalint/getinfo.c	2007-03-05 22:17:42 UTC (rev 33)
+++ trunk/testsuites/t_jbalint/getinfo.c	2007-03-06 10:01:20 UTC (rev 34)
@@ -31,9 +31,9 @@
 void check_string_info(CuTest *tc, SQLUSMALLINT info_type,
                        const char *info_type_name, const SQLCHAR *expval)
 {
-    SQLCHAR val[STRLEN];
+    SQLCHAR val[2*STRLEN];
     SQLUSMALLINT len = 999;
-    CHECK_SQL(SQLGetInfo(get_dbc_handle(), info_type, val, STRLEN, &len),
+    CHECK_SQL(SQLGetInfo(get_dbc_handle(), info_type, val, 2*STRLEN, &len),
         get_dbc_handle(), SQL_HANDLE_DBC);
     test_printf("\tInfo: %s=%s (strlen=%d,len=%d) (expected=%s)\n",
         info_type_name, val, strlen(val), len,
@@ -161,8 +161,89 @@
     CHECK_INFO_STRING(SQL_USER_NAME, NULL);
 }
 
+/* Supported SQL */
+/* !! commented out prop checks seem to be non-existing in hdrs */
+OT_TEST_METHOD(getinfo_supported_sql)
+{
+    CHECK_INFO_UINTEGER(SQL_AGGREGATE_FUNCTIONS, SQL_AF_ALL | SQL_AF_AVG |
+        SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM);
+    CHECK_INFO_UINTEGER(SQL_ALTER_DOMAIN, 0);
+    /*
+    CHECK_INFO_UINTEGER(SQL_ALTER_SCHEMA, 0);
+    */
+    CHECK_INFO_UINTEGER(SQL_ALTER_TABLE, SQL_AT_ADD_COLUMN |
+        SQL_AT_DROP_COLUMN | SQL_AT_ADD_COLUMN_COLLATION |
+        SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_CONSTRAINT |
+        SQL_AT_ADD_TABLE_CONSTRAINT | SQL_AT_CONSTRAINT_NAME_DEFINITION |
+        SQL_AT_SET_COLUMN_DEFAULT);
+    /*
+    CHECK_INFO_UINTEGER(SQL_ANSI_SQL_DATETIME_LITERALS, 0);
+    CHECK_INFO_UINTEGER(SQL_CATALOG_LOCATION, 0);
+    */
+    CHECK_INFO_STRING(SQL_CATALOG_NAME, "Y");
+    CHECK_INFO_STRING(SQL_CATALOG_NAME_SEPARATOR, ".");
+    CHECK_INFO_UINTEGER(SQL_CATALOG_USAGE, SQL_CU_DML_STATEMENTS |
+        SQL_CU_PROCEDURE_INVOCATION | SQL_CU_TABLE_DEFINITION |
+        SQL_CU_INDEX_DEFINITION | SQL_CU_PRIVILEGE_DEFINITION);
+    CHECK_INFO_STRING(SQL_COLUMN_ALIAS, "Y");
+    CHECK_INFO_UINTEGER(SQL_CORRELATION_NAME, SQL_CN_DIFFERENT);
+    CHECK_INFO_UINTEGER(SQL_CREATE_ASSERTION, 0);
+    CHECK_INFO_UINTEGER(SQL_CREATE_CHARACTER_SET, 0);
+    CHECK_INFO_UINTEGER(SQL_CREATE_COLLATION, 0);
+    CHECK_INFO_UINTEGER(SQL_CREATE_DOMAIN, 0);
+    CHECK_INFO_UINTEGER(SQL_CREATE_SCHEMA, 0);
+    CHECK_INFO_UINTEGER(SQL_CREATE_TABLE, SQL_CT_CREATE_TABLE |
+        SQL_CT_TABLE_CONSTRAINT | SQL_CT_CONSTRAINT_NAME_DEFINITION |
+        SQL_CT_COMMIT_DELETE | SQL_CT_LOCAL_TEMPORARY |
+        SQL_CT_COLUMN_CONSTRAINT | SQL_CT_COLUMN_DEFAULT |
+        SQL_CT_COLUMN_COLLATION);
+    CHECK_INFO_UINTEGER(SQL_CREATE_TRANSLATION, 0);
+    CHECK_INFO_UINTEGER(SQL_DDL_INDEX,
+        SQL_DI_CREATE_INDEX | SQL_DI_DROP_INDEX);
+    CHECK_INFO_UINTEGER(SQL_DROP_ASSERTION, 0);
+    CHECK_INFO_UINTEGER(SQL_DROP_CHARACTER_SET, 0);
+    CHECK_INFO_UINTEGER(SQL_DROP_COLLATION, 0);
+    CHECK_INFO_UINTEGER(SQL_DROP_DOMAIN, 0);
+    CHECK_INFO_UINTEGER(SQL_DROP_SCHEMA, 0);
+    CHECK_INFO_UINTEGER(SQL_DROP_TABLE, SQL_DT_DROP_TABLE | SQL_DT_CASCADE |
+        SQL_DT_RESTRICT);
+    CHECK_INFO_UINTEGER(SQL_DROP_TRANSLATION, 0);
+    CHECK_INFO_UINTEGER(SQL_DROP_VIEW, SQL_DV_DROP_VIEW);
+    CHECK_INFO_STRING(SQL_EXPRESSIONS_IN_ORDERBY, "Y");
+    CHECK_INFO_UINTEGER(SQL_IDENTIFIER_CASE, SQL_IC_MIXED);
+    CHECK_INFO_STRING(SQL_IDENTIFIER_QUOTE_CHAR, "`");
+    CHECK_INFO_UINTEGER(SQL_INDEX_KEYWORDS, SQL_IK_NONE);
+    CHECK_INFO_UINTEGER(SQL_INSERT_STATEMENT, SQL_IS_INSERT_LITERALS |
+        SQL_IS_INSERT_SEARCHED | SQL_IS_SELECT_INTO);
+    CHECK_INFO_STRING(SQL_INTEGRITY, "N");
+    CHECK_INFO_STRING(SQL_KEYWORDS,
+        "UNIQUE,ZEROFILL,UNSIGNED,"
+        "BIGINT,BLOB,TINYBLOB,MEDIMUMBLOB,LONGBLOB,MEDIUMINT,"
+        "PROCEDURE,SHOW,LIMIT,DEFAULT,TABLES,REGEXP,"
+        "RLIKE,KEYS,TINYTEXT,MEDIUMTEXT");
+    CHECK_INFO_STRING(SQL_LIKE_ESCAPE_CLAUSE, "Y");
+    CHECK_INFO_USMALLINT(SQL_NON_NULLABLE_COLUMNS, SQL_NNC_NON_NULL);
+    CHECK_INFO_UINTEGER(SQL_OJ_CAPABILITIES, SQL_OJ_LEFT | SQL_OJ_NESTED |
+        SQL_OJ_NOT_ORDERED | SQL_OJ_INNER |
+        SQL_OJ_ALL_COMPARISON_OPS | SQL_OJ_RIGHT);
+    CHECK_INFO_STRING(SQL_ORDER_BY_COLUMNS_IN_SELECT, "N");
+    /*
+    CHECK_INFO_UINTEGER(SQL_OUTER_JOINS, 0);
+    */
+    CHECK_INFO_STRING(SQL_PROCEDURES, "Y");
+    CHECK_INFO_UINTEGER(SQL_QUOTED_IDENTIFIER_CASE, SQL_IC_SENSITIVE);
+    CHECK_INFO_UINTEGER(SQL_SCHEMA_USAGE, SQL_SU_DML_STATEMENTS |
+            SQL_SU_PROCEDURE_INVOCATION | SQL_SU_TABLE_DEFINITION |
+            SQL_SU_INDEX_DEFINITION | SQL_SU_PRIVILEGE_DEFINITION);
+    /* TODO .... ?!*&@!? */
+    CHECK_INFO_STRING(SQL_SPECIAL_CHARACTERS, NULL);
+    CHECK_INFO_UINTEGER(SQL_SQL_CONFORMANCE, SQL_SC_SQL92_INTERMEDIATE);
+    CHECK_INFO_UINTEGER(SQL_SUBQUERIES, SQL_SQ_CORRELATED_SUBQUERIES |
+        SQL_SQ_COMPARISON | SQL_SQ_EXISTS | SQL_SQ_IN | SQL_SQ_QUANTIFIED);
+    CHECK_INFO_UINTEGER(SQL_UNION, SQL_U_UNION | SQL_U_UNION_ALL);
+}
+
 /************ TODO ************/
-/* Supported SQL */
 /* SQL Limits */
 /* Scalar Function Information */
 /* Conversion Information */

Modified: trunk/testsuites/t_jbalint/t_jbalint.h
===================================================================
--- trunk/testsuites/t_jbalint/t_jbalint.h	2007-03-05 22:17:42 UTC (rev 33)
+++ trunk/testsuites/t_jbalint/t_jbalint.h	2007-03-06 10:01:20 UTC (rev 34)
@@ -42,13 +42,11 @@
 OT_TEST_METHOD(getdata_null);
 OT_TEST_METHOD(getdata_read_multiple);
 /* getinfo.c */
-void check_usmallint_info(CuTest *tc, SQLUSMALLINT info_type, const char *info_type_name,
SQLUSMALLINT expval);
-void check_uinteger_info(CuTest *tc, SQLUSMALLINT info_type, const char *info_type_name,
SQLUINTEGER expval);
-void check_string_info(CuTest *tc, SQLUSMALLINT info_type, const char *info_type_name,
const SQLCHAR *expval);
 OT_TEST_METHOD(getinfo_driver);
 OT_TEST_METHOD(getinfo_dbmsproduct);
 OT_TEST_METHOD(getinfo_datasource);
 OT_TEST_METHOD(getinfo_lengthonly);
+OT_TEST_METHOD(getinfo_supported_sql);
 /* putdata.c */
 OT_TEST_METHOD(putdata_basic_string);
 OT_TEST_METHOD(putdata_basic_binary);

Modified: trunk/testsuites/t_jbalint/t_jbalint_suite.c
===================================================================
--- trunk/testsuites/t_jbalint/t_jbalint_suite.c	2007-03-05 22:17:42 UTC (rev 33)
+++ trunk/testsuites/t_jbalint/t_jbalint_suite.c	2007-03-06 10:01:20 UTC (rev 34)
@@ -46,6 +46,7 @@
     OT_SUITE_ADD_TEST(getinfo_driver, NULL, NULL);
     OT_SUITE_ADD_TEST(getinfo_dbmsproduct, NULL, NULL);
     OT_SUITE_ADD_TEST(getinfo_datasource, NULL, NULL);
+    OT_SUITE_ADD_TEST(getinfo_supported_sql, NULL, NULL);
     OT_SUITE_ADD_TEST(getinfo_lengthonly, NULL, NULL);
     /* putdata.c */
     OT_SUITE_ADD_TEST(putdata_basic_string, NULL, NULL);

Thread
ODBC C-tests commit: r34 - trunk/testsuites/t_jbalintjbalint6 Mar