summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/data/database.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/data/database.lua')
-rw-r--r--plugins/data/database.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/data/database.lua b/plugins/data/database.lua
index 5925766dcfe..9e1fd7ae855 100644
--- a/plugins/data/database.lua
+++ b/plugins/data/database.lua
@@ -1,23 +1,33 @@
local sql = require("lsqlite3")
local datfile = {}
local db
+
+function check_db(msg)
+ if db:errcode() > sqlite3.OK then
+ io.stderr:write("Error: " .. msg .. " (" .. db:errcode() .. " - " .. db:errmsg() .. ")\n")
+ end
+end
+
do
local dbpath = lfs.env_replace(mame_manager:ui():options().entries.historypath:value():match("([^;]+)"))
db = sql.open(dbpath .. "/history.db")
if not db then
lfs.mkdir(dbpath)
db = sql.open(dbpath .. "/history.db")
+ check_db("opening database")
end
end
if db then
local found = false
db:exec("select * from sqlite_master where name = 'version'", function() found = true return 0 end)
+ check_db("checking for 'version' table")
if not found then
db:exec([[
CREATE TABLE version (
version VARCHAR NOT NULL,
datfile VARCHAR UNIQUE NOT NULL)]])
+ check_db("creating 'version' table")
end
end