summaryrefslogtreecommitdiff
path: root/lib/lua/sqlite/test-sqlite.lua
diff options
context:
space:
mode:
authormbalmer <mbalmer@NetBSD.org>2011-10-15 10:27:06 +0000
committermbalmer <mbalmer@NetBSD.org>2011-10-15 10:27:06 +0000
commit9bd42012971681ae0e2c80e341c050183efc85c9 (patch)
tree81500c4be5e61a90144803b5714d06e30b406aa2 /lib/lua/sqlite/test-sqlite.lua
parent58c6bbcc757d78432ce9f7f640206578a8536a2f (diff)
A small test/demo program to show the sqlite Lua module usage.
Diffstat (limited to 'lib/lua/sqlite/test-sqlite.lua')
-rw-r--r--lib/lua/sqlite/test-sqlite.lua53
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/lua/sqlite/test-sqlite.lua b/lib/lua/sqlite/test-sqlite.lua
new file mode 100644
index 00000000000..b1959211649
--- /dev/null
+++ b/lib/lua/sqlite/test-sqlite.lua
@@ -0,0 +1,53 @@
+require 'sqlite'
+
+print('initialize sqlite')
+sqlite.initialize()
+
+print('this is sqlite ' .. sqlite.libversion() .. ' (' ..
+ sqlite.libversion_number() .. ')')
+print('sourceid ' .. sqlite.sourceid())
+
+db, state = sqlite.open('db.sqlite',
+ sqlite.OPEN_READWRITE + sqlite.OPEN_CREATE)
+
+if state ~= sqlite.OK then
+ print('db open failed')
+else
+ err = db:exec('create table test (name varchar(32))')
+
+ if err ~= sqlite.OK then
+ print('table creation failed')
+ print('error code ' .. db:errcode() .. ' msg ' .. db:errmsg())
+ end
+
+ db:exec("insert into test values('Balmer')")
+
+ stmt = db:prepare("insert into test values(:name)")
+
+ print('statement has ' .. stmt:bind_parameter_count() .. ' parameters')
+ print('param 1 name: ' .. stmt:bind_parameter_name(1))
+ print('param name is at index ' .. stmt:bind_parameter_index('name'))
+
+ stmt:bind(1, 'Hardmeier')
+ stmt:step()
+ stmt:reset()
+ stmt:bind(1, 'Keller')
+ stmt:step()
+ stmt:finalize()
+
+ s2 = db:prepare('select name from test')
+
+ while s2:step() == sqlite.ROW do
+ print('name = ' .. s2:column(1))
+ end
+ s2:finalize()
+
+ stmt = db:prepare('drop table testx')
+ stmt:step()
+ stmt:finalize()
+ db:close()
+end
+
+print('shutdown sqlite')
+sqlite.shutdown()
+