Я начал замечать странное поведение с моими запросами SQLite для моего iPhone-приложения. Всякий раз, когда я выполняю инструкцию "INSERT", файл журнала создается рядом с моим файлом db (точное имя файла "userdata.db-journal" ).
Если я правильно понимаю документы, этот файл журнала используется SQLite, чтобы иметь возможность отката в случае сбоя операции. Но файл остается там после завершения операции.
Я делаю классические шаги для подготовки, привязки и выполнения запроса (для простоты нет проверок для возвращаемых значений):
sqlite3 *db = NULL;
sqlite3_open( "userdata.db", &db );
sqlite3_stmt *insertStmt = NULL;
const char *query = "INSERT INTO table VALUES(?,?)";
sqlite3_prepare_v2( db, query, -1, &insertStmt, NULL );
sqlite3_bind_int( insertStmt, 1, 0 );
sqlite3_bind_int( insertStmt, 2, 0 );
sqlite3_step( insertStmt );
sqlite3_reset( insertStmt );
sqlite3_clear_bindings( insertStmt );
sqlite3_close( db );
Файл журнала создается после вызова функции "sqlite3_step" и остается там до тех пор, пока я не закрою db. Что мне нужно сделать, чтобы оно исчезло?