/** @SYMTestCaseID SYSLIB-SQLITE3-UT-4002 @SYMTestCaseDesc Statement handle SQLITE3 tests. List of called SQLITE3 functions: - sqlite3_complete; - sqlite3_complete16; - sqlite3_prepare; - sqlite3_finalize; - sqlite3_column_count; - sqlite3_db_handle; - sqlite3_step; - sqlite3_column_decltype; - sqlite3_column_decltype16; - sqlite3_column_name; - sqlite3_column_name16; - sqlite3_column_int; - sqlite3_column_int64; - sqlite3_column_double; - sqlite3_column_text; - sqlite3_column_text16; - sqlite3_column_blob; @SYMTestPriority High @SYMTestActions Statement handle SQLITE3 tests. @SYMTestExpectedResults Test must not fail @SYMREQ REQ8782 */ static void TestStatement1() { const char* tail = 0; int err; TEST(TheDb != 0); TEST(!TheStmt); err = sqlite3_complete("SELECT * FROM A;"); TEST(err != 0); err = sqlite3_complete16(L"SELECT * FROM A;"); TEST(err != 0); err = sqlite3_prepare(TheDb, "SELECT * FROM A", -1, &TheStmt, &tail); TEST2(err, SQLITE_OK); TEST((unsigned int)TheStmt); TEST(!tail || strlen(tail) == 0); DoTestStatement(); err = sqlite3_finalize(TheStmt); TEST2(err, SQLITE_OK); TheStmt = 0; }
ikptr ik_sqlite3_complete16 (ikptr s_sql_snippet) { #ifdef HAVE_SQLITE3_COMPLETE16 const char * sql_snippet = IK_CHARP_FROM_BYTEVECTOR_OR_POINTER_OR_MBLOCK(s_sql_snippet); int rv; rv = sqlite3_complete16(sql_snippet); /* fprintf(stderr, "%s: %d\n", __func__, rv); */ return (rv)? IK_TRUE_OBJECT : IK_FALSE_OBJECT; #else feature_failure(__func__); #endif }
__declspec(dllexport) int WINAPI sqlite3_complete16_interop(const void *sql) { return sqlite3_complete16(sql); }