From 8b1d6a37c259085d2ade61268577ee4079aeb992 Mon Sep 17 00:00:00 2001 From: Paul Kulchenko Date: Fri, 18 Nov 2022 22:35:19 -0800 Subject: [PATCH] Add session diff method to SQLite Lua API --- tool/net/lsqlite3.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tool/net/lsqlite3.c b/tool/net/lsqlite3.c index 7b7e89a9e..77e4cf4c1 100644 --- a/tool/net/lsqlite3.c +++ b/tool/net/lsqlite3.c @@ -2205,6 +2205,16 @@ static int lsession_isempty(lua_State *L) { return 1; } +static int lsession_diff(lua_State *L) { + lsession *lses = lsqlite_checksession(L, 1); + const char *zFromDb = luaL_checkstring(L, 2); + const char *zTbl = luaL_checkstring(L, 3); + int rc = sqlite3session_diff(lses->ses, zFromDb, zTbl, NULL); + if (rc != SQLITE_OK) return pusherr(L, rc); + lua_pushboolean(L, 1); + return 1; +} + static int lsession_bool( lua_State *L, int (*session_func)(sqlite3_session *ses, int val) @@ -2696,6 +2706,7 @@ static const luaL_Reg seslib[] = { {"isempty", lsession_isempty }, {"indirect", lsession_indirect }, {"enable", lsession_enable }, + {"diff", lsession_diff }, {"delete", lsession_delete }, {"__tostring", lsession_tostring },