/* ****************************************** * This test shows bug 16258 * created: 06/28/2007 susanne ****************************************** */ #include "t_sveta_bugs_suite.h" OT_TEST_METHOD(createtable) { SQLHANDLE stmt= get_statement(); char *qry1= "set names utf8"; char *qry2= "create table if not exists bug29367 (" "f1 varchar(255) " ") DEFAULT CHARSET=utf8"; CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt); CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt); free_statement(stmt); } OT_TEST_METHOD(insertdata) { SQLHANDLE stmt= get_statement(); char *qry1= "insert into bug29367 values('тест 1')"; char *qry2= "insert into bug29367 values('строка 2')"; char *qry3= "insert into bug29367 values('тест 3')"; char *qry4= "insert into bug29367 values('строчка 4 Ёё')"; 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(selecttest) { SQLRETURN rc; int i= 0; SQLHANDLE stmt= get_statement(); SQLLEN len; char *qry= "select f1 from bug29367"; 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(i < 1) OT_FAIL("No data found"); free_statement(stmt); } OT_TEST_METHOD(droptable) { SQLHANDLE stmt= get_statement(); char *qry1= "drop table if exists bug29367"; CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt); free_statement(stmt); }