diff options
author | dan <dan@noemail.net> | 2011-03-22 18:45:29 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2011-03-22 18:45:29 +0000 |
commit | 1e7a2d431532c931e0d2e122a43c3a70e2e4ffb5 (patch) | |
tree | 84323337a8a71a5af92d5510c10c9adf24bec806 /src/tclsqlite.c | |
parent | 245b49b2030989768c410ea1459f791a131216cb (diff) | |
download | sqlite-1e7a2d431532c931e0d2e122a43c3a70e2e4ffb5.tar.gz sqlite-1e7a2d431532c931e0d2e122a43c3a70e2e4ffb5.zip |
Add API function sqlite3_preupdate_depth(), for determining the depth of the trigger stack from within a pre-update callback.
FossilOrigin-Name: bdea70895c2c686a4dd3f4bf0a475fd1501d9551
Diffstat (limited to 'src/tclsqlite.c')
-rw-r--r-- | src/tclsqlite.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/tclsqlite.c b/src/tclsqlite.c index 092295a2d..2d945be53 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -2851,9 +2851,9 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ ** $db preupdate_hook old INDEX */ case DB_PREUPDATE: { - static const char *azSub[] = {"count", "hook", "new", "old", 0}; + static const char *azSub[] = {"count", "depth", "hook", "new", "old", 0}; enum DbPreupdateSubCmd { - PRE_COUNT, PRE_HOOK, PRE_NEW, PRE_OLD + PRE_COUNT, PRE_DEPTH, PRE_HOOK, PRE_NEW, PRE_OLD }; int iSub; @@ -2880,6 +2880,17 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ break; } + case PRE_DEPTH: { + Tcl_Obj *pRet; + if( objc!=3 ){ + Tcl_WrongNumArgs(interp, 3, objv, ""); + return TCL_ERROR; + } + pRet = Tcl_NewIntObj(sqlite3_preupdate_depth(pDb->db)); + Tcl_SetObjResult(interp, pRet); + break; + } + case PRE_NEW: case PRE_OLD: { int iIdx; |