Lines Matching defs:hook
6830 ** ^If the callback on a commit hook function returns non-zero,
6838 ** The commit and rollback hook callbacks are not reentrant.
6843 ** or rollback hook in the first place.
6850 ** ^When the commit hook callback routine returns zero, the [COMMIT]
6851 ** operation is allowed to continue normally. ^If the commit hook
6853 ** ^The rollback hook is invoked on a rollback that results from a commit
6854 ** hook returning non-zero, just as it would be with any other rollback.
6956 ** ^(The update hook is not invoked when internal system tables are
6958 ** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified.
6960 ** ^In the current implementation, the update hook
6962 ** [ON CONFLICT | ON CONFLICT REPLACE] clause. ^Nor is the update hook
6967 ** The update hook implementation must not do anything that will modify
6968 ** the database connection that invoked the update hook. Any actions
6970 ** completion of the [sqlite3_step()] call that triggered the update hook.
10397 ** CAPI3REF: The pre-update hook.
10406 ** ^At most one preupdate hook may be registered at a time on a single
10409 ** ^The preupdate hook is disabled by invoking [sqlite3_preupdate_hook()]
10414 ** ^The preupdate hook only fires for changes to real database tables; the
10415 ** preupdate hook is not invoked for changes to [virtual tables] or to
10419 ** the [database connection] that registered the preupdate hook.
10478 ** the pre-update hook is invoked with SQLITE_DELETE. This is because the
10483 ** pre-update hook is being invoked for some other reason, including a
11019 ** is not possible for an application to register a pre-update hook on a
11022 ** which a pre-update hook is already defined. The results of attempting
19281 #define OPFLAG_ISNOOP 0x40 /* OP_Delete does pre-update-hook only */
22929 i64 iKey1; /* First key value passed to hook */
22930 i64 iKey2; /* Second key value passed to hook */
85318 /* This loop determines (a) if the commit hook should be invoked and
85357 /* If there are any write-transactions at all, invoke the commit hook */
85922 ** If an SQLITE_CONFIG_SQLLOG hook is registered and the VM has been run,
87792 ** Invoke the pre-update hook. If this is an UPDATE or DELETE pre-update call,
87798 Vdbe *v, /* Vdbe pre-update hook is invoked by */
90360 ** This macro evaluates to true if either the update hook or the preupdate
90361 ** hook are enabled for database connect DB.
95882 ** the update hook.
95885 ** not NULL, then the update-hook (sqlite3.xUpdateCallback) is invoked
95902 const char *zDb; /* database name - used by the update hook */
95936 /* Invoke the pre-update hook, if any */
95942 /* Prevent post-update hook from running in cases when it should not */
95968 /* Invoke the update-hook if required. */
96032 ** the update or pre-update hook, or both, may be invoked. The P1 cursor must
96034 ** this case. Specifically, if one is configured, the pre-update hook is
96035 ** invoked if P4 is not NULL. The update-hook is invoked if one is configured,
96071 /* If the update-hook or pre-update-hook will be invoked, set zDb to
96090 /* Invoke the pre-update-hook if required. */
96130 /* Invoke the update-hook if required. */
99669 /* If a pre-update hook is registered and this is a write cursor,
99672 ** TODO: The preupdate-hook is passed SQLITE_DELETE, even though this
117253 ** Setting the auth function to NULL disables this hook. The default
124525 ** invoke the update-hook. The pre-update-hook, on the other hand should
124527 ** the update-hook is not invoked for rows removed by REPLACE, but the
124528 ** pre-update-hook is.
130718 /* This OP_Delete opcode fires the pre-update-hook only. It does
130866 ** must be explicitly deleted in order to ensure any pre-update hook
131122 ** PK index. This function adds code to invoke the pre-update hook,
148896 ** to invoke the pre-update hook.
148899 ** pre-update hook. If the caller invokes preupdate_new(), the returned
174895 /* If one has been configured, invoke the rollback-hook callback */
175649 sqlite3 *db, /* Attach the hook to this database */
175674 sqlite3 *db, /* Attach the hook to this database */
175699 sqlite3 *db, /* Attach the hook to this database */
175725 sqlite3 *db, /* Attach the hook to this database */
175745 sqlite3 *db, /* Attach the hook to this database */
175823 sqlite3 *db, /* Attach the hook to this db handle */
204356 ** it uses this hook to close any open blob handle. This is done because a
215572 SessionHook hook; /* APIs to grab new and old data with */
216041 assert( pTab->nCol==pSession->hook.xCount(pSession->hook.pCtx) );
216049 rc = pSession->hook.xNew(pSession->hook.pCtx, i, &pVal);
216051 rc = pSession->hook.xOld(pSession->hook.pCtx, i, &pVal);
216356 ** This function is only called from within a pre-update-hook callback.
216357 ** It determines if the current pre-update-hook change affects the same row
216359 ** if the pre-update-hook does not affect the same row as pChange, it returns
216387 rc = pSession->hook.xNew(pSession->hook.pCtx, iCol, &pVal);
216390 rc = pSession->hook.xOld(pSession->hook.pCtx, iCol, &pVal);
216677 SessionHook hook;
216683 int rc = p->hook.xOld(p->hook.pCtx, iCol, &pVal);
216693 int rc = p->hook.xNew(p->hook.pCtx, iCol, &pVal);
216702 return p->hook.xCount(p->hook.pCtx);
216706 return p->hook.xDepth(p->hook.pCtx);
216721 pSession->hook.xNew(pSession->hook.pCtx, ii, &p);
216738 pSession->hook.xNew(pSession->hook.pCtx, ii, &p);
216808 ** This function is only called from with a pre-update-hook reporting a
216832 if( pTab->nCol!=pSession->hook.xCount(pSession->hook.pCtx) ){
216844 stat1.hook = pSession->hook;
216846 pSession->hook.pCtx = (void*)&stat1;
216847 pSession->hook.xNew = sessionStat1New;
216848 pSession->hook.xOld = sessionStat1Old;
216849 pSession->hook.xCount = sessionStat1Count;
216850 pSession->hook.xDepth = sessionStat1Depth;
216890 TESTONLY(int trc = ) pSession->hook.xOld(pSession->hook.pCtx, i, &p);
216893 TESTONLY(int trc = ) pSession->hook.xNew(pSession->hook.pCtx, i, &p);
216921 pSession->hook.xOld(pSession->hook.pCtx, i, &p);
216923 pSession->hook.xNew(pSession->hook.pCtx, i, &p);
216929 if( pSession->bIndirect || pSession->hook.xDepth(pSession->hook.pCtx) ){
216940 if( pSession->hook.xDepth(pSession->hook.pCtx)==0
216957 pSession->hook = stat1.hook;
217002 ** The 'pre-update' hook registered by this module with SQLite databases.
217040 ** The pre-update hook implementations.
217062 pSession->hook.pCtx = (void*)pSession->db;
217063 pSession->hook.xOld = sessionPreupdateOld;
217064 pSession->hook.xNew = sessionPreupdateNew;
217065 pSession->hook.xCount = sessionPreupdateCount;
217066 pSession->hook.xDepth = sessionPreupdateDepth;
217076 ** The diff hook implementations.
217104 pSession->hook.pCtx = (void*)pDiffCtx;
217105 pSession->hook.xOld = sessionDiffOld;
217106 pSession->hook.xNew = sessionDiffNew;
217107 pSession->hook.xCount = sessionDiffCount;
217108 pSession->hook.xDepth = sessionDiffDepth;
217198 SessionDiffCtx *pDiffCtx = (SessionDiffCtx*)pSession->hook.pCtx;
217237 SessionDiffCtx *pDiffCtx = (SessionDiffCtx*)pSession->hook.pCtx;