summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2009-09-17 15:48:17 +0000
committerTed Trask <ttrask01@yahoo.com>2009-09-17 15:48:17 +0000
commitca008912dfc2a0b55e54adcae97f1b9c5ff197d4 (patch)
treeca56f8592797625b548e164e196bfda87b8b4f7a
parent388baf2f4024180123d194975c22a8537b154a34 (diff)
downloadacf-weblog-ca008912dfc2a0b55e54adcae97f1b9c5ff197d4.tar.bz2
acf-weblog-ca008912dfc2a0b55e54adcae97f1b9c5ff197d4.tar.xz
Modified validation to convert to default timestamp format.
-rw-r--r--weblog-model.lua37
1 files changed, 32 insertions, 5 deletions
diff --git a/weblog-model.lua b/weblog-model.lua
index ec4929e..896952a 100644
--- a/weblog-model.lua
+++ b/weblog-model.lua
@@ -501,6 +501,33 @@ local testdatabaseentry = function(datatype, value)
return success, errtxt
end
+local convertdatabaseentry = function(datatype, value)
+ local success = true
+ local errtxt
+ local result = value
+ local res, err = pcall(function()
+ local sql = "CREATE TEMP TABLE testing ( test "..escape(datatype).." )"
+ assert (con:execute(sql))
+ sql = "INSERT INTO testing VALUES ('"..value.."')"
+ assert (con:execute(sql))
+ sql = "SELECT * FROM testing"
+ local cur = assert (con:execute(sql))
+ local row = cur:fetch ({}, "a")
+ if row then
+ result = row.test
+ end
+ end)
+ if not res then
+ success = false
+ errtxt = string.gsub(err or "", "\n.*", "")
+ end
+ local res, err = pcall(function()
+ local sql = "DROP TABLE testing"
+ assert (con:execute(sql))
+ end)
+ return success, errtxt, result
+end
+
local printtableentries = function(tablename)
-- retrieve a cursor
local count = 0
@@ -1009,15 +1036,15 @@ local validateparameters = function(params)
databaseconnect(DatabaseUser)
local s
if params.starttime.value ~= "" then
- s,params.starttime.errtxt = testdatabaseentry("TIMESTAMP", params.starttime.value)
+ s,params.starttime.errtxt,params.starttime.value = convertdatabaseentry("TIMESTAMP", params.starttime.value)
success = success and s
end
if params.endtime.value ~= "" then
- s,params.endtime.errtxt = testdatabaseentry("TIMESTAMP", params.endtime.value)
+ s,params.endtime.errtxt,params.endtime.value = convertdatabaseentry("TIMESTAMP", params.endtime.value)
success = success and s
end
if params.focus.value ~= "" then
- s,params.focus.errtxt = testdatabaseentry("TIMESTAMP", params.focus.value)
+ s,params.focus.errtxt,params.focus.value = convertdatabaseentry("TIMESTAMP", params.focus.value)
success = success and s
end
databasedisconnect()
@@ -1163,11 +1190,11 @@ local function validateconfig(newconfig)
databaseconnect(DatabaseUser)
local s
if newconfig.value.auditstart.value ~= "" then
- s,newconfig.value.auditstart.errtxt = testdatabaseentry("TIMESTAMP", newconfig.value.auditstart.value)
+ s,newconfig.value.auditstart.errtxt,newconfig.value.auditstart.value = convertdatabaseentry("TIMESTAMP", newconfig.value.auditstart.value)
success = success and s
end
if newconfig.value.auditend.value ~= "" then
- s,newconfig.value.auditend.errtxt = testdatabaseentry("TIMESTAMP", newconfig.value.auditend.value)
+ s,newconfig.value.auditend.errtxt,newconfig.value.auditend.value = convertdatabaseentry("TIMESTAMP", newconfig.value.auditend.value)
success = success and s
end
databasedisconnect()