Я пытаюсь создать потокобезопасную базу данных SQL с несколькими подключениями и столкнулся со странной проблемой. В настоящее время используется SQLITE CPP Wrapper для этого проекта https://github.com/SRombauts/SQLiteCpp
Проблема: Ниже приведены два блока кода, которые по сути достигают одного и того же. КОД № 1 работает, но КОД № 2 выдает ошибку ввода-вывода диска SQLITE. Кто-нибудь знает, почему это происходит?
CODE # 1
//db is SQLite::Database object
SQLite::Statement change_to_wal(db,"PRAGMA journal_mode=WAL;");
change_to_wal.executeStep();
SQLite::Statement query_drop_table(db,"DROP TABLE IF EXISTS Corrections");
query_drop_table.executeStep();
std::string sql = "CREATE TABLE Corrections("
"CURRENT_DATE TEXT NOT NULL,"
"CURRENT_THRESHOLD INT NOT NULL);";
SQLite::Statement add_columns(db,sql);
add_columns.executeStep();
CODE # 2:
//db is SQLite::Database object
db.exec("PRAGMA journal_mode=WAL;");
db.exec("DROP TABLE IF EXISTS Corrections");
std::string sql = "CREATE TABLE Corrections("
"CURRENT_DATE TEXT NOT NULL,"
"CURRENT_THRESHOLD INT NOT NULL);";
db.exec(sql);