summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/lsqlite3/examples/update_hook.lua
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-11-07 16:12:06 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2016-11-07 16:12:06 +0100
commitcf4a8b9e0342e42f5c4e4f38e66b3cd96dd3fcc5 (patch)
tree1b5db9ba22e47ed67e0bf7f0534334af68d0b613 /3rdparty/lsqlite3/examples/update_hook.lua
parenta60731323599ab4d624adba7a73333037670430d (diff)
resurected sqlite3 and lsqlite3 (nw)
Diffstat (limited to '3rdparty/lsqlite3/examples/update_hook.lua')
-rw-r--r--3rdparty/lsqlite3/examples/update_hook.lua31
1 files changed, 31 insertions, 0 deletions
diff --git a/3rdparty/lsqlite3/examples/update_hook.lua b/3rdparty/lsqlite3/examples/update_hook.lua
new file mode 100644
index 00000000000..3bce0a2795c
--- /dev/null
+++ b/3rdparty/lsqlite3/examples/update_hook.lua
@@ -0,0 +1,31 @@
+
+local sqlite3 = require("lsqlite3")
+
+local db = sqlite3.open_memory()
+
+optbl = { [sqlite3.UPDATE] = "UPDATE";
+ [sqlite3.INSERT] = "INSERT";
+ [sqlite3.DELETE] = "DELETE"
+ }
+setmetatable(optbl,
+ {__index=function(t,n) return string.format("Unknown op %d",n) end})
+
+udtbl = {0, 0, 0}
+
+db:update_hook( function(ud, op, dname, tname, rowid)
+ print("Sqlite Update Hook:", optbl[op], dname, tname, rowid)
+end, udtbl)
+
+db:exec[[
+ CREATE TABLE test ( id INTEGER PRIMARY KEY, content VARCHAR );
+
+ INSERT INTO test VALUES (NULL, 'Hello World');
+ INSERT INTO test VALUES (NULL, 'Hello Lua');
+ INSERT INTO test VALUES (NULL, 'Hello Sqlite3');
+ UPDATE test SET content = 'Hello Again World' WHERE id = 1;
+ DELETE FROM test WHERE id = 2;
+]]
+
+for row in db:nrows("SELECT * FROM test") do
+ print(row.id, row.content)
+end