mame/plugins/data/database.lua
Vas Crabb fab84e8d2b Mostly revert "Create console history file in homepath (#8026)"
The change to make the console plugin work is preserved.

This reverts commit 25137717c9.
2021-05-07 02:14:05 +10:00

41 lines
1.1 KiB
Lua

local sql = require("lsqlite3")
local datfile = {}
local db
local function check_db(msg)
if db:errcode() > sql.OK then
emu.print_error(string.format("Error: %s (%s - %s)\n", msg, db:errcode(), db:errmsg()))
end
end
do
local dbpath = emu.subst_env(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")
if not db then
emu.print_error("Unable to create history.db\n")
return false
end
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
local dbtable = { prepare = function(...) return db:prepare(...) end,
exec = function(...) return db:exec(...) end, ROW = sql.ROW, check = check_db }
return db and dbtable or false