forked from mff/mysql_base
Compare commits
3 Commits
67804c69f1
...
master
Author | SHA1 | Date | |
---|---|---|---|
049ffb18e5 | |||
00a0c881a2 | |||
1a36d6a7d5 |
19
.luacheckrc
Normal file
19
.luacheckrc
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
unused_args = false
|
||||||
|
allow_defined_top = true
|
||||||
|
max_line_length = 999
|
||||||
|
|
||||||
|
globals ={
|
||||||
|
"minetest",
|
||||||
|
}
|
||||||
|
|
||||||
|
read_globals = {
|
||||||
|
string = {fields = {"split", "trim"}},
|
||||||
|
table = {fields = {"copy", "getn"}},
|
||||||
|
}
|
||||||
|
|
||||||
|
files["init.lua"].ignore = { "modname", "tab" }
|
||||||
|
files["mysql/mysql.lua"].ignore = { "" }
|
||||||
|
files["mysql/mysql_h.lua"].ignore = { "" }
|
||||||
|
files["mysql/mysql_print.lua"].ignore = { "" }
|
||||||
|
files["mysql/mysql_test.lua"].ignore = { "" }
|
||||||
|
-- ^ Ignore everything
|
11
.travis.yml
Normal file
11
.travis.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
language: generic
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- luarocks
|
||||||
|
before_install:
|
||||||
|
- luarocks install --local luacheck
|
||||||
|
script:
|
||||||
|
- $HOME/.luarocks/bin/luacheck .
|
||||||
|
notifications:
|
||||||
|
email: false
|
@ -1,4 +1,5 @@
|
|||||||
# mysql_base
|
# mysql_base
|
||||||
|
[](https://travis-ci.org/MinetestForFun/mysql_base)
|
||||||
|
|
||||||
Base Minetest mod to connect to a MySQL database. Used by other mods to read/write data.
|
Base Minetest mod to connect to a MySQL database. Used by other mods to read/write data.
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
local modname = minetest.get_current_modname()
|
local modname = minetest.get_current_modname()
|
||||||
|
|
||||||
local thismod = _G[modname]
|
local thismod = _G[modname]
|
||||||
|
|
||||||
---- Table creation & deletion
|
---- Table creation & deletion
|
||||||
@ -33,6 +32,7 @@ function thismod.create_table_sql(name, params)
|
|||||||
end
|
end
|
||||||
return 'CREATE TABLE ' .. name .. ' (' .. table.concat(lines, ',') .. ')'
|
return 'CREATE TABLE ' .. name .. ' (' .. table.concat(lines, ',') .. ')'
|
||||||
end
|
end
|
||||||
|
|
||||||
function thismod.create_table(name, params)
|
function thismod.create_table(name, params)
|
||||||
thismod.conn:query(thismod.create_table_sql(name, params))
|
thismod.conn:query(thismod.create_table_sql(name, params))
|
||||||
end
|
end
|
||||||
@ -40,6 +40,7 @@ end
|
|||||||
function thismod.drop_table_sql(name)
|
function thismod.drop_table_sql(name)
|
||||||
return 'DROP TABLE ' .. name
|
return 'DROP TABLE ' .. name
|
||||||
end
|
end
|
||||||
|
|
||||||
function thismod.drop_table(name)
|
function thismod.drop_table(name)
|
||||||
thismod.conn:query(thismod.drop_table_sql(name))
|
thismod.conn:query(thismod.drop_table_sql(name))
|
||||||
end
|
end
|
||||||
@ -96,6 +97,7 @@ end
|
|||||||
function thismod.prepare_select_sql(tablename, colnames, where)
|
function thismod.prepare_select_sql(tablename, colnames, where)
|
||||||
return 'SELECT ' .. table.concat(colnames, ',') .. ' FROM ' .. tablename .. ' WHERE ' .. where
|
return 'SELECT ' .. table.concat(colnames, ',') .. ' FROM ' .. tablename .. ' WHERE ' .. where
|
||||||
end
|
end
|
||||||
|
|
||||||
function thismod.prepare_select(tablename, cols, where, wheretypes)
|
function thismod.prepare_select(tablename, cols, where, wheretypes)
|
||||||
local colnames, coltypes = {}, {}
|
local colnames, coltypes = {}, {}
|
||||||
for _, col in ipairs(cols) do
|
for _, col in ipairs(cols) do
|
||||||
@ -104,4 +106,4 @@ function thismod.prepare_select(tablename, cols, where, wheretypes)
|
|||||||
end
|
end
|
||||||
local stmt = thismod.conn:prepare(thismod.prepare_select_sql(tablename, colnames, where))
|
local stmt = thismod.conn:prepare(thismod.prepare_select_sql(tablename, colnames, where))
|
||||||
return stmt, stmt:bind_params(wheretypes), stmt:bind_result(coltypes)
|
return stmt, stmt:bind_params(wheretypes), stmt:bind_result(coltypes)
|
||||||
end
|
end
|
11
init.lua
11
init.lua
@ -1,5 +1,5 @@
|
|||||||
local modname = minetest.get_current_modname()
|
local modname = minetest.get_current_modname()
|
||||||
local modpath = minetest.get_modpath(modname)
|
local modpath = minetest.get_modpath(modname)
|
||||||
|
|
||||||
local thismod = {
|
local thismod = {
|
||||||
enabled = false,
|
enabled = false,
|
||||||
@ -11,12 +11,14 @@ function thismod.mklog(level, modname)
|
|||||||
minetest.log(level, "[" .. modname .. "] " .. str)
|
minetest.log(level, "[" .. modname .. "] " .. str)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local LogI = thismod.mklog('action', modname)
|
local LogI = thismod.mklog('action', modname)
|
||||||
local LogE = thismod.mklog('error', modname)
|
local LogE = thismod.mklog('error', modname)
|
||||||
|
|
||||||
local singleplayer = minetest.is_singleplayer() -- Caching is OK since you can't open a game to
|
local singleplayer = minetest.is_singleplayer() -- Caching is OK since you can't open a game to
|
||||||
-- multiplayer unless you restart it.
|
-- multiplayer unless you restart it.
|
||||||
if minetest.setting_get(modname .. '.enable_singleplayer') ~= 'true' and singleplayer then
|
|
||||||
|
if minetest.settings:get(modname .. '.enable_singleplayer') ~= 'true' and singleplayer then
|
||||||
LogI("Not enabling because of singleplayer game")
|
LogI("Not enabling because of singleplayer game")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -67,7 +69,7 @@ local function string_splitdots(s)
|
|||||||
local word_bound = i - 1
|
local word_bound = i - 1
|
||||||
table.insert(temp, string.sub(s, index, word_bound))
|
table.insert(temp, string.sub(s, index, word_bound))
|
||||||
index = next_index
|
index = next_index
|
||||||
else
|
else
|
||||||
if index > 0 and index <= last_index then
|
if index > 0 and index <= last_index then
|
||||||
table.insert(temp, string.sub(s, index, last_index))
|
table.insert(temp, string.sub(s, index, last_index))
|
||||||
elseif index == 0 then
|
elseif index == 0 then
|
||||||
@ -202,6 +204,7 @@ local function ping()
|
|||||||
end
|
end
|
||||||
minetest.after(1800, ping)
|
minetest.after(1800, ping)
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.after(10, ping)
|
minetest.after(10, ping)
|
||||||
|
|
||||||
local shutdown_callbacks = {}
|
local shutdown_callbacks = {}
|
||||||
@ -229,4 +232,4 @@ function thismod.table_exists(name)
|
|||||||
return exists
|
return exists
|
||||||
end
|
end
|
||||||
|
|
||||||
dofile(modpath .. '/abstraction.lua')
|
dofile(modpath .. '/abstraction.lua')
|
2
mod.conf
Normal file
2
mod.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
name = mysql_base
|
||||||
|
description = MySQL connector (requires LuaJIT FFI).
|
2
mysql
2
mysql
Submodule mysql updated: 4bc8277470...720d2a3955
Reference in New Issue
Block a user