| 244 CX_TEST_ASSERT(!cx_strcmp(value, "bob")); |
244 CX_TEST_ASSERT(!cx_strcmp(value, "bob")); |
| 245 free(value.ptr); |
245 free(value.ptr); |
| 246 } |
246 } |
| 247 } |
247 } |
| 248 |
248 |
| |
249 CX_TEST(testSqlExecParam) { |
| |
250 CX_TEST_DO { |
| |
251 CX_TEST_ASSERT(dbuSqlExec(conn, "PRAGMA foreign_keys = ON;") == 0); |
| |
252 CX_TEST_ASSERT(dbuSqlExec(conn, |
| |
253 "create table ExecTest3( " |
| |
254 "test1_id integer primary key autoincrement, " |
| |
255 "value int);") == 0); |
| |
256 CX_TEST_ASSERT(dbuSqlExec(conn, |
| |
257 "create table ExecTest4( " |
| |
258 "test2_id integer primary key autoincrement, " |
| |
259 "exectest1_id int references ExecTest3(test1_id), " |
| |
260 "value int);") == 0); |
| |
261 CX_TEST_ASSERT(dbuSqlExec(conn, "insert into ExecTest3(value) values (123);") == 0); |
| |
262 |
| |
263 // fail test |
| |
264 CX_TEST_ASSERT(dbuSqlExec(conn, "insert into ExecTest4(exectest1_id, value) values (-999, 123);") != 0); |
| |
265 } |
| |
266 } |
| |
267 |
| 249 CX_TEST(testSingleTableQuery) { |
268 CX_TEST(testSingleTableQuery) { |
| 250 CxMempool *mp = cxMempoolCreateSimple(64); |
269 CxMempool *mp = cxMempoolCreateSimple(64); |
| 251 |
270 |
| 252 CX_TEST_DO { |
271 CX_TEST_DO { |
| 253 DBUQuery *query = dbuQueryCreate(conn, mp->allocator, "select * from address order by street;"); |
272 DBUQuery *query = dbuQueryCreate(conn, mp->allocator, "select * from address order by street;"); |