Skip to content

Commit 58d9867

Browse files
authored
Replace all double-quoted string literals by single quotes in unit test (#483)
Fix #481 23 test fails under FreeBSD 14.1 builtin SQLite library 3.45.1 The SQLITE_DQS compile-time option activates or deactivates the legacy double-quoted string literal misfeature. Legacy behavior is that double-quoted string literals are allowed anywhere.
2 parents 00d9dba + 553361b commit 58d9867

File tree

7 files changed

+68
-68
lines changed

7 files changed

+68
-68
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ else (SQLITECPP_INTERNAL_SQLITE)
325325
endif()
326326
else()
327327
find_package (SQLite3 REQUIRED)
328-
message(STATUS "Link to sqlite3 system library")
328+
message(STATUS "Link to sqlite3 system library ${SQLite3_VERSION}")
329329
target_link_libraries(SQLiteCpp PUBLIC SQLite::SQLite3)
330330
if(SQLite3_VERSION VERSION_LESS "3.19")
331331
set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT")

examples/example1/main.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -298,16 +298,16 @@ int main()
298298
db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY, value TEXT)");
299299

300300
// first row
301-
int nb = db.exec("INSERT INTO test VALUES (NULL, \"test\")");
302-
std::cout << "INSERT INTO test VALUES (NULL, \"test\")\", returned " << nb << std::endl;
301+
int nb = db.exec("INSERT INTO test VALUES (NULL, 'test')");
302+
std::cout << "INSERT INTO test VALUES (NULL, 'test')\", returned " << nb << std::endl;
303303

304304
// second row
305-
nb = db.exec("INSERT INTO test VALUES (NULL, \"second\")");
306-
std::cout << "INSERT INTO test VALUES (NULL, \"second\")\", returned " << nb << std::endl;
305+
nb = db.exec("INSERT INTO test VALUES (NULL, 'second')");
306+
std::cout << "INSERT INTO test VALUES (NULL, 'second')\", returned " << nb << std::endl;
307307

308308
// update the second row
309-
nb = db.exec("UPDATE test SET value=\"second-updated\" WHERE id='2'");
310-
std::cout << "UPDATE test SET value=\"second-updated\" WHERE id='2', returned " << nb << std::endl;
309+
nb = db.exec("UPDATE test SET value='second-updated' WHERE id='2'");
310+
std::cout << "UPDATE test SET value='second-updated' WHERE id='2', returned " << nb << std::endl;
311311

312312
nb = db.getTotalChanges();
313313
std::cout << "Nb of total changes since connection: " << nb << std::endl;
@@ -347,8 +347,8 @@ int main()
347347

348348
db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY, value TEXT)");
349349

350-
int nb = db.exec("INSERT INTO test VALUES (NULL, \"test\")");
351-
std::cout << "INSERT INTO test VALUES (NULL, \"test\")\", returned " << nb << std::endl;
350+
int nb = db.exec("INSERT INTO test VALUES (NULL, 'test')");
351+
std::cout << "INSERT INTO test VALUES (NULL, 'test')\", returned " << nb << std::endl;
352352

353353
// Commit transaction
354354
transaction.commit();
@@ -365,8 +365,8 @@ int main()
365365
// Begin transaction
366366
SQLite::Transaction transaction(db);
367367

368-
int nb = db.exec("INSERT INTO test VALUES (NULL, \"second\")");
369-
std::cout << "INSERT INTO test VALUES (NULL, \"second\")\", returned " << nb << std::endl;
368+
int nb = db.exec("INSERT INTO test VALUES (NULL, 'second')");
369+
std::cout << "INSERT INTO test VALUES (NULL, 'second')\", returned " << nb << std::endl;
370370

371371
nb = db.exec("INSERT INTO test ObviousError");
372372
std::cout << "INSERT INTO test \"error\", returned " << nb << std::endl;

tests/Backup_test.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ TEST(Backup, initException)
2727
{
2828
SQLite::Database srcDB("backup_test.db3", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
2929
srcDB.exec("CREATE TABLE backup_test (id INTEGER PRIMARY KEY, value TEXT)");
30-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, \"first\")"));
31-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, \"second\")"));
30+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, 'first')"));
31+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, 'second')"));
3232
EXPECT_THROW(SQLite::Backup backup(srcDB, srcDB), SQLite::Exception);
3333
EXPECT_THROW(SQLite::Backup backup(srcDB, "main", srcDB, "main"), SQLite::Exception);
3434
const std::string name("main");
@@ -44,8 +44,8 @@ TEST(Backup, executeStepOne)
4444
{
4545
SQLite::Database srcDB("backup_test.db3", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
4646
srcDB.exec("CREATE TABLE backup_test (id INTEGER PRIMARY KEY, value TEXT)");
47-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, \"first\")"));
48-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, \"second\")"));
47+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, 'first')"));
48+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, 'second')"));
4949

5050
SQLite::Database destDB("backup_test.db3.backup", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
5151
SQLite::Backup backup(destDB, "main", srcDB, "main");
@@ -79,8 +79,8 @@ TEST(Backup, executeStepAll)
7979
{
8080
SQLite::Database srcDB("backup_test.db3", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
8181
srcDB.exec("CREATE TABLE backup_test (id INTEGER PRIMARY KEY, value TEXT)");
82-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, \"first\")"));
83-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, \"second\")"));
82+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, 'first')"));
83+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, 'second')"));
8484

8585
SQLite::Database destDB("backup_test.db3.backup", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
8686
SQLite::Backup backup(destDB, srcDB);
@@ -110,8 +110,8 @@ TEST(Backup, executeStepException)
110110
{
111111
SQLite::Database srcDB("backup_test.db3", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
112112
srcDB.exec("CREATE TABLE backup_test (id INTEGER PRIMARY KEY, value TEXT)");
113-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, \"first\")"));
114-
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, \"second\")"));
113+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (1, 'first')"));
114+
ASSERT_EQ(1, srcDB.exec("INSERT INTO backup_test VALUES (2, 'second')"));
115115
{
116116
SQLite::Database destDB("backup_test.db3.backup", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
117117
(void)destDB;

tests/Column_test.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ static void test_column_basis(bool utf16)
3838
EXPECT_EQ(0, db.getLastInsertRowid());
3939

4040
// Create a first row (autoid: 1) with all kind of data and a null value
41-
SQLite::Statement insert(db, "INSERT INTO test VALUES (NULL, \"first\", -123, 0.123, ?, NULL)");
41+
SQLite::Statement insert(db, "INSERT INTO test VALUES (NULL, 'first', -123, 0.123, ?, NULL)");
4242
// Bind the blob value to the first parameter of the SQL query
4343
const char buffer[] = {'b', 'l', '\0', 'b'}; // "bl\0b" : 4 char, with a null byte inside
4444
const int size = sizeof(buffer); // size = 4
@@ -214,7 +214,7 @@ TEST(Column, getName)
214214
// Create a new database
215215
SQLite::Database db(":memory:", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
216216
EXPECT_EQ(0, db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY, msg TEXT)"));
217-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"first\")"));
217+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'first')"));
218218

219219
// Compile a SQL query, using the "id" column name as-is, but aliasing the "msg" column with new name "value"
220220
SQLite::Statement query(db, "SELECT id, msg as value FROM test");
@@ -267,7 +267,7 @@ TEST(Column, shared_ptr)
267267
// Create a new database
268268
SQLite::Database db(":memory:", SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
269269
EXPECT_EQ(0, db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY, msg TEXT)"));
270-
EXPECT_EQ(1, db.exec(R"(INSERT INTO test VALUES (42, "fortytwo"))"));
270+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (42, 'fortytwo')"));
271271
const char* query_str = "SELECT id, msg FROM test";
272272

273273
std::unique_ptr<SQLite::Statement> query{ new SQLite::Statement(db, query_str) };

tests/Database_test.cpp

+27-27
Original file line numberDiff line numberDiff line change
@@ -219,26 +219,26 @@ TEST(Database, exec)
219219
EXPECT_EQ(0, db.getTotalChanges());
220220

221221
// first row : insert the "first" text value into new row of id 1
222-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"first\")"));
222+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'first')"));
223223
EXPECT_EQ(1, db.getChanges());
224224
EXPECT_EQ(1, db.getLastInsertRowid());
225225
EXPECT_EQ(1, db.getTotalChanges());
226226

227227
// second row : insert the "second" text value into new row of id 2
228-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"second\")"));
228+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'second')"));
229229
EXPECT_EQ(1, db.getChanges());
230230
EXPECT_EQ(2, db.getLastInsertRowid());
231231
EXPECT_EQ(2, db.getTotalChanges());
232232

233233
// third row : insert the "third" text value into new row of id 3
234-
const std::string insert("INSERT INTO test VALUES (NULL, \"third\")");
234+
const std::string insert("INSERT INTO test VALUES (NULL, 'third')");
235235
EXPECT_EQ(1, db.exec(insert));
236236
EXPECT_EQ(1, db.getChanges());
237237
EXPECT_EQ(3, db.getLastInsertRowid());
238238
EXPECT_EQ(3, db.getTotalChanges());
239239

240240
// update the second row : update text value to "second_updated"
241-
EXPECT_EQ(1, db.exec("UPDATE test SET value=\"second-updated\" WHERE id='2'"));
241+
EXPECT_EQ(1, db.exec("UPDATE test SET value='second-updated' WHERE id='2'"));
242242
EXPECT_EQ(1, db.getChanges());
243243
EXPECT_EQ(3, db.getLastInsertRowid()); // last inserted row ID is still 3
244244
EXPECT_EQ(4, db.getTotalChanges());
@@ -261,14 +261,14 @@ TEST(Database, exec)
261261
EXPECT_EQ(5, db.getTotalChanges());
262262

263263
// insert two rows with two *different* statements => returns only 1, ie. for the second INSERT statement
264-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"first\");INSERT INTO test VALUES (NULL, \"second\");"));
264+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'first');INSERT INTO test VALUES (NULL, 'second');"));
265265
EXPECT_EQ(1, db.getChanges());
266266
EXPECT_EQ(2, db.getLastInsertRowid());
267267
EXPECT_EQ(7, db.getTotalChanges());
268268

269269
#if (SQLITE_VERSION_NUMBER >= 3007011)
270270
// insert two rows with only one statement (starting with SQLite 3.7.11) => returns 2
271-
EXPECT_EQ(2, db.exec("INSERT INTO test VALUES (NULL, \"third\"), (NULL, \"fourth\");"));
271+
EXPECT_EQ(2, db.exec("INSERT INTO test VALUES (NULL, 'third'), (NULL, 'fourth');"));
272272
EXPECT_EQ(2, db.getChanges());
273273
EXPECT_EQ(4, db.getLastInsertRowid());
274274
EXPECT_EQ(9, db.getTotalChanges());
@@ -287,26 +287,26 @@ TEST(Database, tryExec)
287287
EXPECT_EQ(0, db.getTotalChanges());
288288

289289
// first row : insert the "first" text value into new row of id 1
290-
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, \"first\")"));
290+
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, 'first')"));
291291
EXPECT_EQ(1, db.getChanges());
292292
EXPECT_EQ(1, db.getLastInsertRowid());
293293
EXPECT_EQ(1, db.getTotalChanges());
294294

295295
// second row : insert the "second" text value into new row of id 2
296-
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, \"second\")"));
296+
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, 'second')"));
297297
EXPECT_EQ(1, db.getChanges());
298298
EXPECT_EQ(2, db.getLastInsertRowid());
299299
EXPECT_EQ(2, db.getTotalChanges());
300300

301301
// third row : insert the "third" text value into new row of id 3
302-
const std::string insert("INSERT INTO test VALUES (NULL, \"third\")");
302+
const std::string insert("INSERT INTO test VALUES (NULL, 'third')");
303303
EXPECT_EQ(SQLite::OK, db.tryExec(insert));
304304
EXPECT_EQ(1, db.getChanges());
305305
EXPECT_EQ(3, db.getLastInsertRowid());
306306
EXPECT_EQ(3, db.getTotalChanges());
307307

308308
// update the second row : update text value to "second_updated"
309-
EXPECT_EQ(SQLite::OK, db.tryExec("UPDATE test SET value=\"second-updated\" WHERE id='2'"));
309+
EXPECT_EQ(SQLite::OK, db.tryExec("UPDATE test SET value='second-updated' WHERE id='2'"));
310310
EXPECT_EQ(1, db.getChanges());
311311
EXPECT_EQ(3, db.getLastInsertRowid()); // last inserted row ID is still 3
312312
EXPECT_EQ(4, db.getTotalChanges());
@@ -327,14 +327,14 @@ TEST(Database, tryExec)
327327
EXPECT_EQ(5, db.getTotalChanges());
328328

329329
// insert two rows with two *different* statements => only 1 change, ie. for the second INSERT statement
330-
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, \"first\");INSERT INTO test VALUES (NULL, \"second\");"));
330+
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, 'first');INSERT INTO test VALUES (NULL, 'second');"));
331331
EXPECT_EQ(1, db.getChanges());
332332
EXPECT_EQ(2, db.getLastInsertRowid());
333333
EXPECT_EQ(7, db.getTotalChanges());
334334

335335
#if (SQLITE_VERSION_NUMBER >= 3007011)
336336
// insert two rows with only one statement (starting with SQLite 3.7.11)
337-
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, \"third\"), (NULL, \"fourth\");"));
337+
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, 'third'), (NULL, 'fourth');"));
338338
EXPECT_EQ(2, db.getChanges());
339339
EXPECT_EQ(4, db.getLastInsertRowid());
340340
EXPECT_EQ(9, db.getTotalChanges());
@@ -350,14 +350,14 @@ TEST(Database, execAndGet)
350350
db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY, value TEXT, weight INTEGER)");
351351

352352
// insert a few rows
353-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"first\", 3)"));
354-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"second\", 5)"));
355-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"third\", 7)"));
353+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'first', 3)"));
354+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'second', 5)"));
355+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'third', 7)"));
356356

357357
// Get a single value result with an easy to use shortcut
358358
EXPECT_STREQ("second", db.execAndGet("SELECT value FROM test WHERE id=2"));
359359
EXPECT_STREQ("third", db.execAndGet("SELECT value FROM test WHERE weight=7"));
360-
const std::string query("SELECT weight FROM test WHERE value=\"first\"");
360+
const std::string query("SELECT weight FROM test WHERE value='first'");
361361
EXPECT_EQ(3, db.execAndGet(query).getInt());
362362
}
363363

@@ -369,7 +369,7 @@ TEST(Database, execException)
369369
EXPECT_EQ(SQLite::OK, db.getExtendedErrorCode());
370370

371371
// exception with SQL error: "no such table"
372-
EXPECT_THROW(db.exec("INSERT INTO test VALUES (NULL, \"first\", 3)"), SQLite::Exception);
372+
EXPECT_THROW(db.exec("INSERT INTO test VALUES (NULL, 'first', 3)"), SQLite::Exception);
373373
EXPECT_EQ(SQLITE_ERROR, db.getErrorCode());
374374
EXPECT_EQ(SQLITE_ERROR, db.getExtendedErrorCode());
375375
EXPECT_STREQ("no such table: test", db.getErrorMsg());
@@ -387,14 +387,14 @@ TEST(Database, execException)
387387
EXPECT_STREQ("table test has 3 columns but 2 values were supplied", db.getErrorMsg());
388388

389389
// exception with SQL error: "No row to get a column from"
390-
EXPECT_THROW(db.execAndGet("SELECT weight FROM test WHERE value=\"first\""), SQLite::Exception);
390+
EXPECT_THROW(db.execAndGet("SELECT weight FROM test WHERE value='first'"), SQLite::Exception);
391391

392-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"first\", 3)"));
392+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'first', 3)"));
393393
// exception with SQL error: "No row to get a column from"
394-
EXPECT_THROW(db.execAndGet("SELECT weight FROM test WHERE value=\"second\""), SQLite::Exception);
394+
EXPECT_THROW(db.execAndGet("SELECT weight FROM test WHERE value='second'"), SQLite::Exception);
395395

396396
// Add a row with more values than columns in the table: "table test has 3 columns but 4 values were supplied"
397-
EXPECT_THROW(db.exec("INSERT INTO test VALUES (NULL, \"first\", 123, 0.123)"), SQLite::Exception);
397+
EXPECT_THROW(db.exec("INSERT INTO test VALUES (NULL, 'first', 123, 0.123)"), SQLite::Exception);
398398
EXPECT_EQ(SQLITE_ERROR, db.getErrorCode());
399399
EXPECT_EQ(SQLITE_ERROR, db.getExtendedErrorCode());
400400
EXPECT_STREQ("table test has 3 columns but 4 values were supplied", db.getErrorMsg());
@@ -408,7 +408,7 @@ TEST(Database, tryExecError)
408408
EXPECT_EQ(SQLite::OK, db.getExtendedErrorCode());
409409

410410
// Insert into nonexistent table: "no such table"
411-
EXPECT_EQ(SQLITE_ERROR, db.tryExec("INSERT INTO test VALUES (NULL, \"first\", 3)"));
411+
EXPECT_EQ(SQLITE_ERROR, db.tryExec("INSERT INTO test VALUES (NULL, 'first', 3)"));
412412
EXPECT_EQ(SQLITE_ERROR, db.getErrorCode());
413413
EXPECT_EQ(SQLITE_ERROR, db.getExtendedErrorCode());
414414
EXPECT_STREQ("no such table: test", db.getErrorMsg());
@@ -426,17 +426,17 @@ TEST(Database, tryExecError)
426426
EXPECT_STREQ("table test has 3 columns but 2 values were supplied", db.getErrorMsg());
427427

428428
// Add a row with more values than columns in the table: "table test has 3 columns but 4 values were supplied"
429-
EXPECT_EQ(SQLITE_ERROR, db.tryExec("INSERT INTO test VALUES (NULL, \"first\", 123, 0.123)"));
429+
EXPECT_EQ(SQLITE_ERROR, db.tryExec("INSERT INTO test VALUES (NULL, 'first', 123, 0.123)"));
430430
EXPECT_EQ(SQLITE_ERROR, db.getErrorCode());
431431
EXPECT_EQ(SQLITE_ERROR, db.getExtendedErrorCode());
432432
EXPECT_STREQ("table test has 3 columns but 4 values were supplied", db.getErrorMsg());
433433

434434
// Create a first row
435-
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, \"first\", 3)"));
435+
EXPECT_EQ(SQLite::OK, db.tryExec("INSERT INTO test VALUES (NULL, 'first', 3)"));
436436
EXPECT_EQ(1, db.getLastInsertRowid());
437437

438438
// Try to insert a new row with the same PRIMARY KEY: "UNIQUE constraint failed: test.id"
439-
EXPECT_EQ(SQLITE_CONSTRAINT, db.tryExec("INSERT INTO test VALUES (1, \"impossible\", 456)"));
439+
EXPECT_EQ(SQLITE_CONSTRAINT, db.tryExec("INSERT INTO test VALUES (1, 'impossible', 456)"));
440440
EXPECT_EQ(SQLITE_CONSTRAINT, db.getErrorCode());
441441
EXPECT_EQ(SQLITE_CONSTRAINT_PRIMARYKEY, db.getExtendedErrorCode());
442442
EXPECT_STREQ("UNIQUE constraint failed: test.id", db.getErrorMsg());
@@ -464,8 +464,8 @@ TEST(Database, createFunction)
464464
SQLite::Database db(":memory:", SQLite::OPEN_READWRITE);
465465
db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY, value TEXT)");
466466

467-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"first\")"));
468-
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, \"second\")"));
467+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'first')"));
468+
EXPECT_EQ(1, db.exec("INSERT INTO test VALUES (NULL, 'second')"));
469469

470470
// exception with SQL error: "no such function: firstchar"
471471
EXPECT_THROW(db.exec("SELECT firstchar(value) FROM test WHERE id=1"), SQLite::Exception);

0 commit comments

Comments
 (0)