Added:
trunk/testsuites/t_bug_30235/
trunk/testsuites/t_bug_30235/bug30235.c
trunk/testsuites/t_bug_30235/t_bug_30235.h
trunk/testsuites/t_bug_30235/t_bug_30235_suite.c
Modified:
trunk/CMakeLists.txt
Log:
add test for bug 30235
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/CMakeLists.txt 2007-08-14 06:17:27 UTC (rev 161)
@@ -16,6 +16,8 @@
option(use_unixodbc "Build w/unixODBC as driver manager")
option(use_libiodbc "Build w/libiodbc as driver manager")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb3")
+
# make sure both odbc libs weren't specified
if(use_unixodbc AND use_libiodbc)
message(FATAL_ERROR "Cannot use both unixODBC and libiodbc.
Added: trunk/testsuites/t_bug_30235/bug30235.c
===================================================================
--- trunk/testsuites/t_bug_30235/bug30235.c 2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/testsuites/t_bug_30235/bug30235.c 2007-08-14 06:17:27 UTC (rev 161)
@@ -0,0 +1,77 @@
+/* ******************************************
+ * This test shows bug 30235
+
+ * created: 08/08/2007 susanne
+
+ ****************************************** */
+
+
+#include "t_bug_30235.h"
+
+OT_TEST_METHOD(selectdate)
+{
+ SQLRETURN rc;
+ int i= 0;
+ SQLHANDLE stmt= get_statement();
+ SQLLEN len;
+ char *qry1= "select date_sub('2007-08-03 17:33:00', interval 1 minute) as field";
+ char *qry2= "select date_sub('2005-11-14 16:00:00', interval 1 minute) as field";
+ char *qry3= "select date_add('1999-12-31 14:59:00', interval 1 minute) as field";
+ char *qry4= "select date_sub('2000-01-01 00:58:00', interval 1 hour) as field";
+
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt);
+
+ if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+ {
+ SQLCHAR rs [STRLEN];
+ CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+ test_printf("result (2007-08-03 17:33:00) - 1 min.: %s\n",rs);
+ if(strncmp(rs, "2007-08-03 17:32:00",19) != 0)
+ OT_FAIL("Wrong data result for date_sub and minute interval.");
+ }
+ else
+ OT_FAIL("No data found for select date_sub.");
+ reset_statement(stmt);
+
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt);
+
+ if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+ {
+ SQLCHAR rs [STRLEN];
+ CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+ test_printf("result (2005-11-14 16:00:00) - 1 min.: %s\n",rs);
+ if(strncmp(rs, "2005-11-14 15:59:00",19) != 0)
+ OT_FAIL("Wrong data result for date_sub and minute interval.");
+ }
+ else
+ OT_FAIL("No data found for select date_sub and even hours.");
+ reset_statement(stmt);
+
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry3, SQL_NTS), stmt);
+
+ if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+ {
+ SQLCHAR rs [STRLEN];
+ CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+ test_printf("result (1999-12-31 14:59:00) + 1 min.: %s\n",rs);
+ if(strncmp(rs, "1999-12-31 15:00:00",19) != 0)
+ OT_FAIL("Wrong data result for date_add and minute interval.");
+ }
+ else
+ OT_FAIL("No data found for select date_add.");
+ reset_statement(stmt);
+
+ CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry4, SQL_NTS), stmt);
+
+ if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+ {
+ SQLCHAR rs [STRLEN];
+ CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+ test_printf("result (2000-01-01 00:58:00) - 1 hour: %s\n",rs);
+ if(strncmp(rs, "1999-12-31 23:58:00",19) != 0)
+ OT_FAIL("Wrong data result for date_sub and hour interval.");
+ }
+ else
+ OT_FAIL("No data found for select date_sub and hour interval.");
+ free_statement(stmt);
+}
Added: trunk/testsuites/t_bug_30235/t_bug_30235.h
===================================================================
--- trunk/testsuites/t_bug_30235/t_bug_30235.h 2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/testsuites/t_bug_30235/t_bug_30235.h 2007-08-14 06:17:27 UTC (rev 161)
@@ -0,0 +1,13 @@
+#include "odbctest.h"
+
+/* test data definitions */
+extern const char *TD_DBNAME;
+
+extern const int TD_ALLTYPES_COLS;
+
+/* create tests */
+OT_TEST_METHOD(selectdate);
+
+
+
+
Added: trunk/testsuites/t_bug_30235/t_bug_30235_suite.c
===================================================================
--- trunk/testsuites/t_bug_30235/t_bug_30235_suite.c 2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/testsuites/t_bug_30235/t_bug_30235_suite.c 2007-08-14 06:17:27 UTC (rev 161)
@@ -0,0 +1,22 @@
+#include "t_bug_30235.h"
+
+OT_SUITE_SETUP(bug_30235_suite_setup)
+{
+ if (!global_connect())
+ return "Cannot create global connection!";
+ else
+ return NULL;
+}
+
+OT_SUITE_TEARDOWN(bug_30235_suite_teardown)
+{
+ global_disconnect();
+ return NULL;
+}
+
+OT_SUITE_REGISTER_START("bug_30235",bug_30235_suite_setup,bug_30235_suite_teardown)
+/* create tests */
+OT_SUITE_ADD_TEST(selectdate, NULL, NULL);
+
+OT_SUITE_REGISTER_END
+
| Thread |
|---|
| • ODBC C-tests commit: r161 - in trunk: . testsuites testsuites/t_bug_30235 | sebrecht | 14 Aug |