This repository was archived by the owner on Jul 1, 2020. It is now read-only.
Description Test case:
Database:
CREATE TABLE test (v1 VARCHAR (20 ), v2 BLOB);
INSERT INTO test VALUES (' abcd' ,X' ABCD' );
Lua:
local sqlite = require ' lsqlite3'
local conn = sqlite .open (' testdb.sqlite' , " read" )
local stmt = conn :prepare ' select v1,hex(v2) from test'
while stmt :step () do
print (stmt :get_value (0 ), stmt :get_value (1 ))
end
stmt :finalize ()
conn :close ()
Actual output:
Expected output:
Fix:
--- lsqlite3.lua.bad 2017-03-23 20:34:53.000000000 +0100
+++ lsqlite3.lua.good 2017-03-23 20:45:58.000000000 +0100
@@ -995,7 +995,7 @@
local value_handlers = {
[sqlite3.SQLITE_INTEGER] = function(stmt, n) return sqlite3.sqlite3_column_int(stmt, n) end,
[sqlite3.SQLITE_FLOAT] = function(stmt, n) return sqlite3.sqlite3_column_double(stmt, n) end,
- [sqlite3.SQLITE_TEXT] = function(stmt, n) return ffi.string(sqlite3.sqlite3_column_text(stmt,n), sqlite3.sqlite3_column_bytes(stmt,n)-1) end,
+ [sqlite3.SQLITE_TEXT] = function(stmt, n) return ffi.string(sqlite3.sqlite3_column_text(stmt,n), sqlite3.sqlite3_column_bytes(stmt,n)) end,
[sqlite3.SQLITE_BLOB] = function(stmt, n) return sqlite3.sqlite3_column_blob(stmt,n), sqlite3.sqlite3_column_bytes(stmt,n) end,
[sqlite3.SQLITE_NULL] = function() return nil end
}Reactions are currently unavailable
Test case:
Database:
Lua:
Actual output:
Expected output:
Fix: