List:Commits« Previous MessageNext Message »
From:sebrecht Date:June 29 2007 5:38pm
Subject:ODBC C-tests commit: r155 - in trunk: doc etc testsuites testsuites/t_bug_16258
View as plain text  
Added:
   trunk/testsuites/t_bug_16258/
   trunk/testsuites/t_bug_16258/bug16258.c
   trunk/testsuites/t_bug_16258/t_bug_16258.h
   trunk/testsuites/t_bug_16258/t_bug_16258_suite.c
Modified:
   trunk/doc/suite_description.readme
   trunk/etc/test4v3.conf
Log:
add testsuite for bug 16258


Modified: trunk/doc/suite_description.readme
===================================================================
--- trunk/doc/suite_description.readme	2007-06-28 09:34:26 UTC (rev 154)
+++ trunk/doc/suite_description.readme	2007-06-29 17:38:53 UTC (rev 155)
@@ -2,6 +2,12 @@
 here is the description, which functionality
 they have:
 
+t_bug_16258 (V3)
+ This testsuite is to test bug 16258.
+ It tries to make inserts into views that are not
+ matched to the view clauses.
+ The bug is fixed, when the testsuite doesn't fail.
+
 t_bug_function_devision (V3)
  This testsuite is for bug 12405.
  Calculations like 4/2 shouldn't work.

Modified: trunk/etc/test4v3.conf
===================================================================
--- trunk/etc/test4v3.conf	2007-06-28 09:34:26 UTC (rev 154)
+++ trunk/etc/test4v3.conf	2007-06-29 17:38:53 UTC (rev 155)
@@ -1,3 +1,4 @@
+t_bug_16258
 t_charset_bug
 t_bug_union_select
 t_bug_procedure

Added: trunk/testsuites/t_bug_16258/bug16258.c
===================================================================
--- trunk/testsuites/t_bug_16258/bug16258.c	2007-06-28 09:34:26 UTC (rev 154)
+++ trunk/testsuites/t_bug_16258/bug16258.c	2007-06-29 17:38:53 UTC (rev 155)
@@ -0,0 +1,133 @@
+/* ******************************************
+ * This test shows bug 16258
+
+ * created: 06/28/2007 susanne
+
+ ****************************************** */
+
+
+#include "t_bug_16258.h"
+
+OT_TEST_METHOD(createtable)
+{
+  SQLHANDLE stmt= get_statement();
+  char *qry= "create table if not exists bug16258 ("
+    "id serial, "
+    "name text, "
+    "birth date, "
+    "primary key(id))";
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry, SQL_NTS), stmt);
+  free_statement(stmt);
+}
+
+OT_TEST_METHOD(insertdata)
+{
+  SQLHANDLE stmt= get_statement();
+  char *qry1= "insert into bug16258(name,birth) "
+    "values('old enough 1','1971-01-31')";
+  char *qry2= "insert into bug16258(name,birth) "
+    "values('to old 1','1852-04-04')";
+  char *qry3= "insert into bug16258(name,birth) "
+    "values('to young 1','1998-03-27')";
+  char *qry4= "insert into bug16258(name,birth) "
+    "values('old enough 2','1978-12-31')";
+  TC_SET_TXMODE(get_dbc_handle(), SQL_AUTOCOMMIT_OFF);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry3, SQL_NTS), stmt);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry4, SQL_NTS), stmt);
+  TC_FINISH_TX(get_dbc_handle(), SQL_COMMIT);
+  TC_SET_TXMODE(get_dbc_handle(), SQL_AUTOCOMMIT_ON);
+  free_statement(stmt);
+}
+
+OT_TEST_METHOD(createview)
+{
+  SQLHANDLE stmt= get_statement();
+  char *qry= "create or replace view v_bug16258 as "
+    "select name, birth from bug16258 "
+    "where (year(current_date)-year(birth)-"
+    "(right(date_format(current_date,'%m%d'),5)<"
+    "right(date_format(birth,'%m%d'),5)))<150 "
+    "and (year(current_date)-year(birth)-"
+    "(right(date_format(current_date,'%m%d'),5)<"
+    "right(date_format(birth,'%m%d'),5)))>17";
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry, SQL_NTS), stmt);
+  free_statement(stmt);
+}
+
+OT_TEST_METHOD(firsttestview)
+{
+  SQLRETURN rc;
+  int i= 0;
+  SQLHANDLE stmt= get_statement();
+  SQLLEN len;
+  char *qry= "select name from v_bug16258";
+  
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry, SQL_NTS), stmt);
+
+  for (i= 0; (rc= SQLFetch(stmt)) == SQL_SUCCESS; ++i)
+  {
+    SQLCHAR rs [STRLEN];
+    CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR,
+                           rs, STRLEN, &len), stmt);
+    test_printf("result: %s\n",rs);
+    if(strncmp(rs,"old enough",10) != 0)
+      OT_FAIL("Wrong data result at the view");
+  }
+  if(i < 1)
+    OT_FAIL("No data found");
+  free_statement(stmt);
+}
+
+OT_TEST_METHOD(insertintoview)
+{
+  SQLHANDLE stmt= get_statement();
+  char *qry1= "insert into v_bug16258(name,birth) "
+    "values ('old enough 3','1970-08+  char *qry2= "insert into v_bug16258(name,birth) "
+    "values ('to old 2','1826-04+  char *qry3= "insert into v_bug16258(name,birth) "
+    "values ('to young 2','2001-05+  TC_SET_TXMODE(get_dbc_handle(), SQL_AUTOCOMMIT_OFF);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry3, SQL_NTS), stmt);
+  TC_FINISH_TX(get_dbc_handle(), SQL_COMMIT);
+  TC_SET_TXMODE(get_dbc_handle(), SQL_AUTOCOMMIT_ON);
+  free_statement(stmt);
+}
+
+OT_TEST_METHOD(secondtestview)
+{
+  SQLRETURN rc;
+  int i= 0;
+  SQLHANDLE stmt= get_statement();
+  SQLLEN len;
+  char *qry= "select name from v_bug16258";
+  
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry, SQL_NTS), stmt);
+
+  for (i= 0; (rc= SQLFetch(stmt)) == SQL_SUCCESS; ++i)
+  {
+    SQLCHAR rs [STRLEN];
+    CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR,
+                           rs, STRLEN, &len), stmt);
+    test_printf("result: %s\n",rs);
+    if(strncmp(rs,"old enough",10) != 0)
+      OT_FAIL("Wrong data result at the view");
+  }
+  if(i < 1)
+    OT_FAIL("No data found");
+  free_statement(stmt);
+}
+
+OT_TEST_METHOD(droptableandview)
+{
+  SQLHANDLE stmt= get_statement();
+  char *qry1= "drop table if exists bug16258";
+  char *qry2= "drop view if exists v_bug16258";
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt);
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt);
+  free_statement(stmt);
+}

Added: trunk/testsuites/t_bug_16258/t_bug_16258.h
===================================================================
--- trunk/testsuites/t_bug_16258/t_bug_16258.h	2007-06-28 09:34:26 UTC (rev 154)
+++ trunk/testsuites/t_bug_16258/t_bug_16258.h	2007-06-29 17:38:53 UTC (rev 155)
@@ -0,0 +1,19 @@
+#include "odbctest.h"
+
+/* test data definitions */
+extern const char *TD_DBNAME;
+
+extern const int TD_ALLTYPES_COLS;
+
+/* create tests */
+OT_TEST_METHOD(createtable);
+OT_TEST_METHOD(insertdata);
+OT_TEST_METHOD(createview);
+OT_TEST_METHOD(firsttestview);
+OT_TEST_METHOD(insertintoview);
+OT_TEST_METHOD(secondtestview);
+OT_TEST_METHOD(droptableandview);
+
+
+
+

Added: trunk/testsuites/t_bug_16258/t_bug_16258_suite.c
===================================================================
--- trunk/testsuites/t_bug_16258/t_bug_16258_suite.c	2007-06-28 09:34:26 UTC (rev 154)
+++ trunk/testsuites/t_bug_16258/t_bug_16258_suite.c	2007-06-29 17:38:53 UTC (rev 155)
@@ -0,0 +1,28 @@
+#include "t_bug_16258.h"
+
+OT_SUITE_SETUP(bug_16258_suite_setup)
+{  
+  if (!global_connect())
+    return "Cannot create global connection!";
+  else
+    return NULL;
+}
+
+OT_SUITE_TEARDOWN(bug_16258_suite_teardown)
+{
+  global_disconnect();
+  return NULL;
+}
+
+OT_SUITE_REGISTER_START("bug_16258",bug_16258_suite_setup,bug_16258_suite_teardown)
+/* create tests */
+     OT_SUITE_ADD_TEST(createtable, NULL, NULL);
+OT_SUITE_ADD_TEST(insertdata, NULL, NULL);
+OT_SUITE_ADD_TEST(createview, NULL, NULL);
+OT_SUITE_ADD_TEST(firsttestview, NULL, NULL);
+OT_SUITE_ADD_TEST(insertintoview, NULL, NULL);
+OT_SUITE_ADD_TEST(secondtestview, NULL, NULL);
+OT_SUITE_ADD_TEST(droptableandview, NULL, NULL);
+
+OT_SUITE_REGISTER_END
+

Thread
ODBC C-tests commit: r155 - in trunk: doc etc testsuites testsuites/t_bug_16258sebrecht29 Jun