From d9eb4ea08e509515f594b9bfcbf1c422d04c7e0c Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 15 May 2026 18:51:42 -0400 Subject: sqlite: stop on missing/unwritable sqlite-db-path - fatal error on missing/unwritable --sqlite-db-path (assisted by Claude-Code) --- org/out_sqlite.org | 28 ++++++++++++++++++++++++---- src/sisudoc/io_out/sqlite.d | 28 ++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/org/out_sqlite.org b/org/out_sqlite.org index a268b56..9a4c63b 100644 --- a/org/out_sqlite.org +++ b/org/out_sqlite.org @@ -87,7 +87,12 @@ template SQLiteHubBuildTablesAndPopulate() { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } template SQLiteDbStatementComposite() { void SQLiteDbStatementComposite(Db,D)( @@ -144,7 +149,12 @@ template SQLiteHubDiscreteBuildTablesAndPopulate() { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } auto db = Database(pth_sqlite.sqlite_file(doc.matters.src.filename)); template SQLiteDiscreteDbStatementComposite() { @@ -449,7 +459,12 @@ if (opt_action.sqlite_db_create) { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } auto db = Database(pth_sqlite.sqlite_file); { @@ -512,7 +527,12 @@ if ((doc.matters.opt.action.sqlite_db_create)) { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } _db_statement ~= SQLiteTablesReCreate!()(); SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "TABLE RE-CREATE"); diff --git a/src/sisudoc/io_out/sqlite.d b/src/sisudoc/io_out/sqlite.d index b5c0f47..4ce5e0d 100644 --- a/src/sisudoc/io_out/sqlite.d +++ b/src/sisudoc/io_out/sqlite.d @@ -71,7 +71,12 @@ template SQLiteHubBuildTablesAndPopulate() { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } template SQLiteDbStatementComposite() { void SQLiteDbStatementComposite(Db,D)( @@ -85,7 +90,12 @@ template SQLiteHubBuildTablesAndPopulate() { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } _db_statement ~= SQLiteTablesReCreate!()(); SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "TABLE RE-CREATE"); @@ -154,7 +164,12 @@ template SQLiteHubDiscreteBuildTablesAndPopulate() { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } auto db = Database(pth_sqlite.sqlite_file(doc.matters.src.filename)); template SQLiteDiscreteDbStatementComposite() { @@ -1671,7 +1686,12 @@ template SQLiteTablesCreate() { } else { try { pth_sqlite.base.mkdirRecurse; - } catch (FileException ex) { } + } catch (FileException ex) { + stderr.writeln("FATAL: cannot create --sqlite-db-path directory: ", pth_sqlite.base); + stderr.writeln(" (", ex.msg, ")"); + import core.runtime; + core.runtime.Runtime.terminate(); + } } auto db = Database(pth_sqlite.sqlite_file); { -- cgit v1.2.3