login

<     >

2022-12-16 09:06:45 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

sqlite: add get_rows() to build a lua table from query results

diff --git a/src/sqlite.lua b/src/sqlite.lua
index 6e7d488..a2c104b 100644
--- a/src/sqlite.lua
+++ b/src/sqlite.lua
@@ -26,6 +26,21 @@ function DB:execute(sql, cb, arg)
     end
 end
 
+function DB:get_rows(sql)
+    local rows = {}
+    self:execute(sql, function (obj, argc, argv, col)
+        local row = {}
+        for i = 0, argc-1 do
+            local col_name = ffi.string(col[i])
+            local col_value = ffi.string(argv[i])
+            row[col_name] = col_value
+        end
+        table.insert(rows, row)
+        return 0
+    end)
+    return rows
+end
+
 function DB:close()
     C.sqlite3_close(self.db)
 end