#endif
#ifdef WITH_SQLITE
- rc = sqlite3_open(":memory:", &sqlite);
+ rc = sqlite3_open("journal.sqlite", &sqlite);
if (rc != 0) {
- fprintf(stderr, "Can't open in-memory database: %s\n", sqlite3_errmsg(sqlite));
+ fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(sqlite));
sqlite3_close(sqlite);
return -1;
}
+ rc = sqlite3_exec(sqlite,
+ "DROP TABLE IF EXISTS journal"
+ ";", NULL, 0, &sqliteErr);
+ if (rc != SQLITE_OK) {
+ fprintf(stderr, "SQL Error: %s\n", sqlite3_errmsg(sqlite));
+ sqlite3_free(sqliteErr);
+ return -1;
+ }
+
rc = sqlite3_exec(sqlite,
"CREATE TABLE journal "
"(key TEXT, value TEXT, event INTEGER)"
bson_init(&bsrec);
#endif
#ifdef WITH_SQLITE
+ rc = sqlite3_exec(sqlite,
+ "BEGIN TRANSACTION"
+ ";", NULL, 0, &sqliteErr);
+ if (rc != SQLITE_OK) {
+ fprintf(stderr, "SQL Error: %s\n", sqlite3_errmsg(sqlite));
+ sqlite3_free(sqliteErr);
+ return -1;
+ }
rc = sqlite3_step(sqlite_insert_event);
if (rc != SQLITE_DONE) {
fprintf(stderr, "SQL Error: %s\n", sqlite3_errmsg(sqlite));
#endif
#ifdef WITH_SQLITE
sqlite3_reset(sqlite_insert_event);
+ rc = sqlite3_exec(sqlite,
+ "COMMIT"
+ ";", NULL, 0, &sqliteErr);
+ if (rc != SQLITE_OK) {
+ fprintf(stderr, "SQL Error: %s\n", sqlite3_errmsg(sqlite));
+ sqlite3_free(sqliteErr);
+ return -1;
+ }
+
#endif
/* json_object_put(o); */
i += tok->char_offset;
}
#ifdef WITH_SQLITE
- /* sqlite3_close(sqlite); */
+ sqlite3_close(sqlite);
#endif
#ifdef WITH_EJDB