Added:
trunk/testsuites/t_bug_foreign_key/
trunk/testsuites/t_bug_foreign_key/bug19923.c
trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key.h
trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key_suite.c
Log:
testsuite to test bug 19923 ...
it is not finished at the moment
Added: trunk/testsuites/t_bug_foreign_key/bug19923.c
===================================================================
--- trunk/testsuites/t_bug_foreign_key/bug19923.c 2007-06-14 22:46:03 UTC (rev 150)
+++ trunk/testsuites/t_bug_foreign_key/bug19923.c 2007-06-15 13:09:21 UTC (rev 151)
@@ -0,0 +1,112 @@
+/* ******************************************
+ * This test shows bug 19923
+
+ * created: 06/15/2007 susanne
+
+ ****************************************** */
+
+
+#include "t_bug_foreign_key.h"
+
+/* ******************************************
+ * Shows the behaviour of bug 19923
+
+ ****************************************** */
+
+OT_TEST_METHOD(createdatabase)
+{
+ SQLHANDLE stmt= get_statement();
+ char *qry1= "drop database if exists odbc_fk";
+ char *qry2= "create database odbc_fk";
+ OT_SKIP("The whole testsuite is skipped at the moment");
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt);
+ reset_statement(stmt);
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt);
+ free_statement(stmt);
+ test_printf("database odbc_fk is created\n");
+}
+
+OT_TEST_METHOD(createtable)
+{
+ OT_SKIP("The whole testsuite is skipped at the moment");
+ SQLHANDLE stmt= get_statement();
+ char *qry1= "create table abc ( "
+ "id char(4) not null, "
+ "name varchar(40) not null, "
+ "primary key(id) "
+ ") engine=innodb default charset=latin1";
+ char *qry2= "create table def ( "
+ "id varchar(6) not null, "
+ "title varchar(80) not null, "
+ "store char(4) not null, "
+ "note varchar(200) not null, "
+ "primary key(id), "
+ "foreign key(store) references abc (id) "
+ ") engine=innodb default charset=latin1";
+ char *qry3= "create index ind_title on def(title)";
+ char *qry4= "create table ghi ( "
+ "id char(4) not null, "
+ "store char(4) not null, "
+ "title varchar(6) not null, "
+ "note varchar(200) not null, "
+ "primary key(store, id, title), "
+ "foreign key(store) references abc(id), "
+ "foreign key(title) references def(id) "
+ ") engine=innodb default charset=latin1";
+ char *qry5= "create index ind_titleid on ghi(title)";
+
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt);
+ reset_statement(stmt);
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt);
+ reset_statement(stmt);
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry3, SQL_NTS), stmt);
+ reset_statement(stmt);
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry4, SQL_NTS), stmt);
+ reset_statement(stmt);
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry5, SQL_NTS), stmt);
+ free_statement(stmt);
+}
+
+OT_TEST_METHOD(bug19923)
+{
+ SQLRETURN rc;
+ SQLLEN len;
+ SQLCHAR rslt[5][STRLEN];
+ SQLHANDLE stmt= get_statement();
+ int i=0;
+ OT_SKIP("Test not finished ...");
+ CHECK_SQL_S(SQLForeignKeys(stmt,
+ NULL, 0,
+ NULL, 0,
+ NULL, 0,
+ NULL, 0,
+ NULL, 0,
+ (SQLCHAR *)"ghi", SQL_NTS),stmt);
+
+ CHECK_SQL_S(SQLFetch(stmt), stmt);
+ CHECK_SQL_S(SQLGetData(stmt, 3, SQL_C_CHAR,
+ rslt[0], STRLEN, &len), stmt);
+ CHECK_SQL_S(SQLGetData(stmt, 4, SQL_C_CHAR,
+ rslt[1], STRLEN, &len), stmt);
+ CHECK_SQL_S(SQLGetData(stmt, 7, SQL_C_CHAR,
+ rslt[2], STRLEN, &len), stmt);
+ CHECK_SQL_S(SQLGetData(stmt, 8, SQL_C_CHAR,
+ rslt[3], STRLEN, &len), stmt);
+ CHECK_SQL_S(SQLGetData(stmt, 12, SQL_C_CHAR,
+ rslt[4], STRLEN, &len), stmt);
+ free_statement(stmt);
+
+ for(i=0; i<5; ++i) test_printf("%d - %s\n",i,rslt[i]);
+
+
+}
+
+OT_TEST_METHOD(dropdatabase)
+{
+ SQLHANDLE stmt= get_statement();
+ char *qry= "drop database if exists odbc_fk";
+ OT_SKIP("The whole testsuite is skipped at the moment");
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry, SQL_NTS), stmt);
+ free_statement(stmt);
+ test_printf("database odbc_fk is dropped\n");
+}
Added: trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key.h
===================================================================
--- trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key.h 2007-06-14 22:46:03 UTC (rev
150)
+++ trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key.h 2007-06-15 13:09:21 UTC (rev
151)
@@ -0,0 +1,12 @@
+#include "odbctest.h"
+
+/* test data definitions */
+extern const char *TD_DBNAME;
+
+extern const int TD_ALLTYPES_COLS;
+
+/* create tests */
+OT_TEST_METHOD(createdatabase);
+OT_TEST_METHOD(createtable);
+OT_TEST_METHOD(bug19923);
+OT_TEST_METHOD(dropdatabase);
Added: trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key_suite.c
===================================================================
--- trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key_suite.c 2007-06-14 22:46:03 UTC
(rev 150)
+++ trunk/testsuites/t_bug_foreign_key/t_bug_foreign_key_suite.c 2007-06-15 13:09:21 UTC
(rev 151)
@@ -0,0 +1,24 @@
+#include "t_bug_foreign_key.h"
+
+OT_SUITE_SETUP(bug_foreign_key_suite_setup)
+{
+ if (!global_connect())
+ return "Cannot create global connection!";
+ else
+ return NULL;
+}
+
+OT_SUITE_TEARDOWN(bug_foreign_key_suite_teardown)
+{
+ global_disconnect();
+ return NULL;
+}
+
+OT_SUITE_REGISTER_START("bug_foreign_key",bug_foreign_key_suite_setup,bug_foreign_key_suite_teardown)
+/* create tests */
+ OT_SUITE_ADD_TEST(createdatabase, NULL, NULL);
+ OT_SUITE_ADD_TEST(createtable, NULL, NULL);
+ OT_SUITE_ADD_TEST(bug19923, NULL, NULL);
+ OT_SUITE_ADD_TEST(dropdatabase, NULL, NULL);
+OT_SUITE_REGISTER_END
+
| Thread |
|---|
| • ODBC C-tests commit: r151 - in trunk/testsuites: . t_bug_foreign_key | sebrecht | 15 Jun |