util.sqlite3: Skip prepared statements when no parameters are given
Seems CREATE INDEX is unhappy as a prepared statement. Perhaps because
the table has not been COMMIT-ed yet?
--- a/util/sqlite3.lua Fri Oct 01 02:27:53 2021 +0200
+++ b/util/sqlite3.lua Mon Aug 01 17:25:40 2022 +0200
@@ -164,6 +164,16 @@
if not success then return success, err; end
local prepared = self.prepared;
+ if select('#', ...) == 0 then
+ local ret = self.conn:exec(sql);
+ if ret ~= lsqlite3.OK then
+ local err = sqlite_errors.new(err);
+ err.text = self.conn:errmsg();
+ return err;
+ end
+ return true;
+ end
+
local stmt = prepared[sql];
if not stmt then
local err;