diff options
author | dan <dan@noemail.net> | 2018-10-26 17:05:00 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2018-10-26 17:05:00 +0000 |
commit | 1f48e67db125ad20716ff617c75a49859bb2bf16 (patch) | |
tree | 701d4201b3067e82cee34000b8c381e543b1988b /ext/session/test_session.c | |
parent | f689400dc7ca5ec26725b47355650210d20a9ae8 (diff) | |
download | sqlite-1f48e67db125ad20716ff617c75a49859bb2bf16.tar.gz sqlite-1f48e67db125ad20716ff617c75a49859bb2bf16.zip |
Add the sqlite3session_config() interface. For configuring global parameters
belonging to the sessions module.
FossilOrigin-Name: 1e69f3ff057b0be27a9e79842de2485f8299799f309e89bfa7597dd688e0975b
Diffstat (limited to 'ext/session/test_session.c')
-rw-r--r-- | ext/session/test_session.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/session/test_session.c b/ext/session/test_session.c index 016050fdb..1e76616cb 100644 --- a/ext/session/test_session.c +++ b/ext/session/test_session.c @@ -1239,6 +1239,45 @@ static int SQLITE_TCLAPI test_sqlite3rebaser_create( return TCL_OK; } +/* +** tclcmd: sqlite3rebaser_configure OP VALUE +*/ +static int SQLITE_TCLAPI test_sqlite3session_config( + void * clientData, + Tcl_Interp *interp, + int objc, + Tcl_Obj *CONST objv[] +){ + struct ConfigOpt { + const char *zSub; + int op; + } aSub[] = { + { "strm_size", SQLITE_SESSION_CONFIG_STRMSIZE }, + { "invalid", 0 }, + { 0 } + }; + int rc; + int iSub; + int iVal; + + if( objc!=3 ){ + Tcl_WrongNumArgs(interp, 1, objv, "OP VALUE"); + return SQLITE_ERROR; + } + rc = Tcl_GetIndexFromObjStruct(interp, + objv[1], aSub, sizeof(aSub[0]), "sub-command", 0, &iSub + ); + if( rc!=TCL_OK ) return rc; + if( Tcl_GetIntFromObj(interp, objv[2], &iVal) ) return TCL_ERROR; + + rc = sqlite3session_config(aSub[iSub].op, (void*)&iVal); + if( rc!=SQLITE_OK ){ + return test_session_error(interp, rc, 0); + } + Tcl_SetObjResult(interp, Tcl_NewIntObj(iVal)); + return TCL_OK; +} + int TestSession_Init(Tcl_Interp *interp){ struct Cmd { const char *zCmd; @@ -1254,6 +1293,7 @@ int TestSession_Init(Tcl_Interp *interp){ test_sqlite3changeset_apply_replace_all }, { "sql_exec_changeset", test_sql_exec_changeset }, { "sqlite3rebaser_create", test_sqlite3rebaser_create }, + { "sqlite3session_config", test_sqlite3session_config }, }; int i; |