Updated SQLite session changes to wrap into #ifdef

This commit is contained in:
Paul Kulchenko 2022-10-14 16:41:59 -07:00
parent 20516f292b
commit a37c219981

View file

@ -119,11 +119,13 @@ static const char *const sqlite_meta = ":sqlite3";
static const char *const sqlite_vm_meta = ":sqlite3:vm"; static const char *const sqlite_vm_meta = ":sqlite3:vm";
static const char *const sqlite_bu_meta = ":sqlite3:bu"; static const char *const sqlite_bu_meta = ":sqlite3:bu";
static const char *const sqlite_ctx_meta = ":sqlite3:ctx"; static const char *const sqlite_ctx_meta = ":sqlite3:ctx";
static int sqlite_ctx_meta_ref;
#ifdef SQLITE_ENABLE_SESSION
static const char *const sqlite_ses_meta = ":sqlite3:ses"; static const char *const sqlite_ses_meta = ":sqlite3:ses";
static const char *const sqlite_reb_meta = ":sqlite3:reb"; static const char *const sqlite_reb_meta = ":sqlite3:reb";
static int sqlite_ctx_meta_ref;
static int sqlite_ses_meta_ref; static int sqlite_ses_meta_ref;
static int sqlite_reb_meta_ref; static int sqlite_reb_meta_ref;
#endif
/* /*
** ======================================================= ** =======================================================
@ -1732,6 +1734,8 @@ static int db_deserialize(lua_State *L) {
return 0; return 0;
} }
#ifdef SQLITE_ENABLE_SESSION
/* /*
** ======================================================= ** =======================================================
** Rebaser functions (for session support) ** Rebaser functions (for session support)
@ -2118,6 +2122,8 @@ static int db_apply_changeset(lua_State *L) {
return 1; return 1;
} }
#endif
/* /*
** ======================================================= ** =======================================================
** General library functions ** General library functions
@ -2249,6 +2255,7 @@ static const struct {
SC(OPEN_SHAREDCACHE) SC(OPEN_SHAREDCACHE)
SC(OPEN_PRIVATECACHE) SC(OPEN_PRIVATECACHE)
#ifdef SQLITE_ENABLE_SESSION
/* session constants */ /* session constants */
SC(CHANGESETSTART_INVERT) SC(CHANGESETSTART_INVERT)
SC(CHANGESETAPPLY_NOSAVEPOINT) SC(CHANGESETAPPLY_NOSAVEPOINT)
@ -2261,6 +2268,7 @@ static const struct {
SC(CHANGESET_OMIT) SC(CHANGESET_OMIT)
SC(CHANGESET_REPLACE) SC(CHANGESET_REPLACE)
SC(CHANGESET_ABORT) SC(CHANGESET_ABORT)
#endif
/* terminator */ /* terminator */
{ NULL, 0 } { NULL, 0 }
@ -2303,11 +2311,13 @@ static const luaL_Reg dblib[] = {
{"serialize", db_serialize }, {"serialize", db_serialize },
{"deserialize", db_deserialize }, {"deserialize", db_deserialize },
#ifdef SQLITE_ENABLE_SESSION
{"create_session", db_create_session }, {"create_session", db_create_session },
{"create_rebaser", db_create_rebaser }, {"create_rebaser", db_create_rebaser },
{"apply_changeset", db_apply_changeset }, {"apply_changeset", db_apply_changeset },
{"invert_changeset", db_invert_changeset }, {"invert_changeset", db_invert_changeset },
{"concat_changeset", db_concat_changeset }, {"concat_changeset", db_concat_changeset },
#endif
{"__tostring", db_tostring }, {"__tostring", db_tostring },
{"__gc", db_gc }, {"__gc", db_gc },
@ -2382,6 +2392,8 @@ static const luaL_Reg ctxlib[] = {
{NULL, NULL} {NULL, NULL}
}; };
#ifdef SQLITE_ENABLE_SESSION
static const luaL_Reg seslib[] = { static const luaL_Reg seslib[] = {
{"attach", lsession_attach }, {"attach", lsession_attach },
{"changeset", lsession_changeset }, {"changeset", lsession_changeset },
@ -2404,6 +2416,8 @@ static const luaL_Reg reblib[] = {
{NULL, NULL} {NULL, NULL}
}; };
#endif
static const luaL_Reg sqlitelib[] = { static const luaL_Reg sqlitelib[] = {
{"lversion", lsqlite_lversion }, {"lversion", lsqlite_lversion },
{"version", lsqlite_version }, {"version", lsqlite_version },
@ -2433,17 +2447,20 @@ LUALIB_API int luaopen_lsqlite3(lua_State *L) {
create_meta(L, sqlite_meta, dblib); create_meta(L, sqlite_meta, dblib);
create_meta(L, sqlite_vm_meta, vmlib); create_meta(L, sqlite_vm_meta, vmlib);
create_meta(L, sqlite_ctx_meta, ctxlib); create_meta(L, sqlite_ctx_meta, ctxlib);
create_meta(L, sqlite_ses_meta, seslib);
create_meta(L, sqlite_reb_meta, reblib);
luaL_getmetatable(L, sqlite_ctx_meta); luaL_getmetatable(L, sqlite_ctx_meta);
sqlite_ctx_meta_ref = luaL_ref(L, LUA_REGISTRYINDEX); sqlite_ctx_meta_ref = luaL_ref(L, LUA_REGISTRYINDEX);
#ifdef SQLITE_ENABLE_SESSION
create_meta(L, sqlite_ses_meta, seslib);
create_meta(L, sqlite_reb_meta, reblib);
luaL_getmetatable(L, sqlite_ses_meta); luaL_getmetatable(L, sqlite_ses_meta);
sqlite_ses_meta_ref = luaL_ref(L, LUA_REGISTRYINDEX); sqlite_ses_meta_ref = luaL_ref(L, LUA_REGISTRYINDEX);
luaL_getmetatable(L, sqlite_reb_meta); luaL_getmetatable(L, sqlite_reb_meta);
sqlite_reb_meta_ref = luaL_ref(L, LUA_REGISTRYINDEX); sqlite_reb_meta_ref = luaL_ref(L, LUA_REGISTRYINDEX);
#endif
/* register (local) sqlite metatable */ /* register (local) sqlite metatable */
luaL_register(L, "sqlite3", sqlitelib); luaL_register(L, "sqlite3", sqlitelib);