From 926138b463fff770cf5fbb4438853d535205da2b Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Mon, 2 Dec 2019 02:05:53 -0500 Subject: Enable foreign key enforcement --- database.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'database.h') diff --git a/database.h b/database.h index 290564e..b98721b 100644 --- a/database.h +++ b/database.h @@ -47,14 +47,19 @@ static inline sqlite3 *dbOpen(char *path, int flags) { if (error && errno != EEXIST) err(EX_CANTCREAT, "%s", path); *base = '/'; } + sqlite3 *db; int error = sqlite3_open_v2(path, &db, flags, NULL); - if (!error) return db; if (error == SQLITE_CANTOPEN) { sqlite3_close(db); return NULL; } - errx(EX_NOINPUT, "%s: %s", path, sqlite3_errmsg(db)); + if (error) errx(EX_NOINPUT, "%s: %s", path, sqlite3_errmsg(db)); + + error = sqlite3_exec(db, "PRAGMA foreign_keys = true;", NULL, NULL, NULL); + if (error) errx(EX_SOFTWARE, "sqlite3_exec: %s", sqlite3_errmsg(db)); + + return db; } static inline sqlite3 *dbFind(int flags) { -- cgit 1.4.1