aboutsummaryrefslogtreecommitdiff
path: root/src/tclsqlite.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2011-03-22 18:45:29 +0000
committerdan <dan@noemail.net>2011-03-22 18:45:29 +0000
commit1e7a2d431532c931e0d2e122a43c3a70e2e4ffb5 (patch)
tree84323337a8a71a5af92d5510c10c9adf24bec806 /src/tclsqlite.c
parent245b49b2030989768c410ea1459f791a131216cb (diff)
downloadsqlite-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.c15
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;