From e2e940b9a898385e00989661ecd371a7984d3e55 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Fri, 22 May 2020 16:41:35 -0400 Subject: Perform all migrations in one transaction --- database.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/database.h b/database.h index 117d7eb..da8c8da 100644 --- a/database.h +++ b/database.h @@ -323,7 +323,6 @@ static inline void dbInit(void) { static const char *MigrationSQL[] = { // Added columnsize = 0 option. SQL( - BEGIN TRANSACTION; DROP TABLE search; CREATE VIRTUAL TABLE search USING fts5 ( network, channel, query, nick, user, target, message, @@ -336,11 +335,9 @@ static const char *MigrationSQL[] = { rowid, network, channel, query, nick, user, target, message ) SELECT * FROM text; PRAGMA user_version = 1; - COMMIT TRANSACTION; ), SQL( - BEGIN TRANSACTION; CREATE TABLE consumers ( host STRING NOT NULL, port INTEGER NOT NULL, @@ -348,14 +345,15 @@ static const char *MigrationSQL[] = { UNIQUE (host, port) ); PRAGMA user_version = 2; - COMMIT TRANSACTION; ), }; static inline void dbMigrate(void) { + dbExec(SQL(BEGIN TRANSACTION;)); for (int version = dbVersion(); version < DatabaseVersion; ++version) { dbExec(MigrationSQL[version]); } + dbExec(SQL(COMMIT TRANSACTION;)); } static inline void dbBackup(const char *path) { -- cgit 1.4.1