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_jbalint | jbalint | 6 Mar |