Avoid "loop is executed at most once" warning

This commit is contained in:
Ekdohibs 2017-01-27 09:25:05 +01:00
parent d630a1392f
commit ecc9968348

View File

@ -34,7 +34,7 @@ assert(itb_db:exec[[
CREATE TABLE series (id INTEGER PRIMARY KEY, name TEXT, meta BLOB); CREATE TABLE series (id INTEGER PRIMARY KEY, name TEXT, meta BLOB);
CREATE TABLE series_box (series_id INTEGER, box_id INTEGER); CREATE TABLE series_box (series_id INTEGER, box_id INTEGER);
CREATE TABLE player (id INTEGER PRIMARY KEY, name TEXT, meta BLOB); CREATE TABLE player (id INTEGER PRIMARY KEY, name TEXT, meta BLOB);
CREATE TABLE points (player_id INTEGER, score REAL, type TEXT, box_id INTEGER); CREATE TABLE points (player_id INTEGER, score REAL, type TEXT, box_id INTEGER);
]]) ]])
-- table structure and content -- table structure and content
@ -72,11 +72,12 @@ function db.player_get_meta(name)
SELECT meta FROM player WHERE name = :name SELECT meta FROM player WHERE name = :name
]] ]]
stmt:bind_names{name = name} stmt:bind_names{name = name}
for row in stmt:nrows() do local it, state = stmt:nrows()
stmt:finalize() local row = it(state)
stmt:finalize()
if row then
return minetest.parse_json(row.meta) return minetest.parse_json(row.meta)
end end
stmt:finalize()
print("no such player in db", name) print("no such player in db", name)
return nil return nil
@ -102,11 +103,12 @@ function db.box_get_data(box_id)
SELECT data FROM box WHERE id = :box_id SELECT data FROM box WHERE id = :box_id
]] ]]
stmt:bind_names{box_id = box_id} stmt:bind_names{box_id = box_id}
for row in stmt:nrows() do local it, state = stmt:nrows()
stmt:finalize() local row = it(state)
stmt:finalize()
if row then
return row.data return row.data
end end
stmt:finalize()
print("no such box in db", box_id) print("no such box in db", box_id)
return nil return nil