mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-08-08 19:00:27 +00:00
Updated SQLite session changes to wrap into #ifdef
This commit is contained in:
parent
20516f292b
commit
a37c219981
1 changed files with 20 additions and 3 deletions
|
@ -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);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue