diff options
Diffstat (limited to '3rdparty/lsqlite3/examples/function.lua')
-rw-r--r-- | 3rdparty/lsqlite3/examples/function.lua | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/3rdparty/lsqlite3/examples/function.lua b/3rdparty/lsqlite3/examples/function.lua new file mode 100644 index 00000000000..34ba4f70092 --- /dev/null +++ b/3rdparty/lsqlite3/examples/function.lua @@ -0,0 +1,21 @@ + +local sqlite3 = require("lsqlite3") + + +local db = sqlite3.open_memory() + +assert( db:exec "CREATE TABLE test (col1, col2)" ) +assert( db:exec "INSERT INTO test VALUES (1, 2)" ) +assert( db:exec "INSERT INTO test VALUES (2, 4)" ) +assert( db:exec "INSERT INTO test VALUES (3, 6)" ) +assert( db:exec "INSERT INTO test VALUES (4, 8)" ) +assert( db:exec "INSERT INTO test VALUES (5, 10)" ) + +assert( db:create_function("my_sum", 2, function(ctx, a, b) + ctx:result_number( a + b ) +end)) + + +for col1, col2, sum in db:urows("SELECT *, my_sum(col1, col2) FROM test") do + print(col1, col2, sum) +end |