summaryrefslogtreecommitdiff
path: root/tex/context/base/util-sql.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2013-02-18 17:00:30 +0200
committerMarius <mariausol@gmail.com>2013-02-18 17:00:30 +0200
commit194a9daae885e85e4970143daffd1b9f9080ccf5 (patch)
tree8e26a5aa2ef0c01f9eb6bd86abc664cd8af6c523 /tex/context/base/util-sql.lua
parent13706211c6f53d83a620a845c9c0e5bb736345a3 (diff)
downloadcontext-194a9daae885e85e4970143daffd1b9f9080ccf5.tar.gz
beta 2013.02.18 15:46
Diffstat (limited to 'tex/context/base/util-sql.lua')
-rw-r--r--tex/context/base/util-sql.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/tex/context/base/util-sql.lua b/tex/context/base/util-sql.lua
index 5d57c22f5..42bf3dc88 100644
--- a/tex/context/base/util-sql.lua
+++ b/tex/context/base/util-sql.lua
@@ -125,6 +125,7 @@ sql.converters = converters
local function makeconverter(entries,celltemplate,wraptemplate)
local shortcuts = { }
local assignments = { }
+ local key = false
for i=1,#entries do
local entry = entries[i]
local name = entry.name
@@ -146,11 +147,14 @@ local function makeconverter(entries,celltemplate,wraptemplate)
assignments[i] = format("[%q] = tab_%s[%s],",name,#converters,value)
elseif kind == "deserialize" then
assignments[i] = format("[%q] = deserialize(%s),",name,value)
+ elseif kind == "key" then
+ key = value -- hashed instead of indexed
else
assignments[i] = format("[%q] = %s,",name,value)
end
end
- local code = format(wraptemplate,concat(shortcuts,"\n"),concat(assignments,"\n "))
+ local code = format(wraptemplate,concat(shortcuts,"\n"),key or "i",concat(assignments,"\n "))
+ -- print(code)
local func = load(code)
return func and func()
end