Lines Matching refs:pTrigger
17488 Trigger *pTrigger; /* List of triggers stored in pSchema */ member
18597 Trigger *pTrigger; /* Trigger this program was coded from */ member
106729 static void renameWalkTrigger(Walker *pWalker, Trigger *pTrigger){
106733 sqlite3WalkExpr(pWalker, pTrigger->pWhen);
106736 for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){
107099 Trigger *pTrigger = sParse.pNewTrigger;
107102 && sCtx.pTab->pSchema==pTrigger->pTabSchema
107110 renameWalkTrigger(&sWalker, pTrigger);
107111 for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){
112966 Trigger *pTrigger;
112983 pTrigger = sqlite3TriggerList(pParse, pTab);
112984 while( pTrigger ){
112985 assert( pTrigger->pSchema==pTab->pSchema ||
112986 pTrigger->pSchema==db->aDb[1].pSchema );
112987 sqlite3DropTriggerPtr(pParse, pTrigger);
112988 pTrigger = pTrigger->pNext;
115952 Trigger *pTrigger; /* List of table triggers, if required */
115975 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
115978 # define pTrigger 0
115981 bComplex = pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0);
116003 if( sqlite3IsReadOnly(pParse, pTab, (pTrigger?1:0)) ){
116014 assert(!isView || pTrigger);
116262 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
116314 #ifdef pTrigger
116315 #undef pTrigger
116362 Trigger *pTrigger, /* List of triggers to (potentially) fire */
116395 if( sqlite3FkRequired(pParse, pTab, 0, 0) || pTrigger ){
116403 pParse, pTrigger, 0, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onconf
116423 sqlite3CodeRowTrigger(pParse, pTrigger,
116482 sqlite3CodeRowTrigger(pParse, pTrigger,
119539 Trigger *p = pTop->pTriggerPrg->pTrigger;
119894 Trigger *pTrigger; /* Trigger definition to return */
119901 pTrigger = pFKey->apTrigger[iAction];
119903 if( action!=OE_None && !pTrigger ){
120018 pTrigger = (Trigger *)sqlite3DbMallocZero(db,
120023 if( pTrigger ){
120024 pStep = pTrigger->step_list = (TriggerStep *)&pTrigger[1];
120033 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
120045 fkTriggerDelete(db, pTrigger);
120049 assert( pTrigger!=0 );
120063 pStep->pTrig = pTrigger;
120064 pTrigger->pSchema = pTab->pSchema;
120065 pTrigger->pTabSchema = pTab->pSchema;
120066 pFKey->apTrigger[iAction] = pTrigger;
120067 pTrigger->op = (pChanges ? TK_UPDATE : TK_DELETE);
120070 return pTrigger;
120811 Trigger *pTrigger; /* List of triggers on pTab, if required */
120851 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_INSERT, 0, &tmask);
120854 # define pTrigger 0
120862 assert( (pTrigger && tmask) || (pTrigger==0 && tmask==0) );
120882 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
120895 assert( !pTrigger );
121009 if( pTrigger || readsTable(pParse, iDb, pTab) ){
121317 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_BEFORE,
121417 if( pTrigger ){
121419 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_AFTER,
121480 #ifdef pTrigger
121481 #undef pTrigger
121678 Trigger *pTrigger; /* List of DELETE triggers on the table pTab */
121916 pTrigger = 0;
121920 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
121921 regTrigCnt = pTrigger!=0 || sqlite3FkRequired(pParse, pTab, 0, 0);
121923 pTrigger = 0;
122028 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
122293 if( pTrigger && isUpdate ){
122296 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
122299 if( pTrigger && isUpdate ){
135908 pTrig->pNext = (pList ? pList : pTab->pTrigger);
135914 return (pList ? pList : pTab->pTrigger);
135937 Trigger *pTrigger = 0; /* The new trigger */
136089 pTrigger = (Trigger*)sqlite3DbMallocZero(db, sizeof(Trigger));
136090 if( pTrigger==0 ) goto trigger_cleanup;
136091 pTrigger->zName = zName;
136093 pTrigger->table = sqlite3DbStrDup(db, pTableName->a[0].zName);
136094 pTrigger->pSchema = db->aDb[iDb].pSchema;
136095 pTrigger->pTabSchema = pTab->pSchema;
136096 pTrigger->op = (u8)op;
136097 pTrigger->tr_tm = tr_tm==TK_BEFORE ? TRIGGER_BEFORE : TRIGGER_AFTER;
136099 sqlite3RenameTokenRemap(pParse, pTrigger->table, pTableName->a[0].zName);
136100 pTrigger->pWhen = pWhen;
136103 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
136105 pTrigger->pColumns = pColumns;
136108 pParse->pNewTrigger = pTrigger;
136116 sqlite3DeleteTrigger(db, pTrigger);
136118 assert( pParse->pNewTrigger==pTrigger );
136198 pLink->pNext = pTab->pTrigger;
136199 pTab->pTrigger = pLink;
136390 SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3 *db, Trigger *pTrigger){
136391 if( pTrigger==0 ) return;
136392 sqlite3DeleteTriggerStep(db, pTrigger->step_list);
136393 sqlite3DbFree(db, pTrigger->zName);
136394 sqlite3DbFree(db, pTrigger->table);
136395 sqlite3ExprDelete(db, pTrigger->pWhen);
136396 sqlite3IdListDelete(db, pTrigger->pColumns);
136397 sqlite3DbFree(db, pTrigger);
136409 Trigger *pTrigger = 0;
136428 pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName);
136429 if( pTrigger ) break;
136431 if( !pTrigger ){
136440 sqlite3DropTriggerPtr(pParse, pTrigger);
136450 static Table *tableOfTrigger(Trigger *pTrigger){
136451 return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table);
136458 SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){
136464 iDb = sqlite3SchemaToIndex(pParse->db, pTrigger->pSchema);
136466 pTable = tableOfTrigger(pTrigger);
136467 assert( (pTable && pTable->pSchema==pTrigger->pSchema) || iDb==1 );
136474 if( sqlite3AuthCheck(pParse, code, pTrigger->zName, pTable->zName, zDb) ||
136486 db->aDb[iDb].zDbSName, MASTER_NAME, pTrigger->zName
136489 sqlite3VdbeAddOp4(v, OP_DropTrigger, iDb, 0, 0, pTrigger->zName, 0);
136497 Trigger *pTrigger;
136502 pTrigger = sqlite3HashInsert(pHash, zName, 0);
136503 if( ALWAYS(pTrigger) ){
136504 if( pTrigger->pSchema==pTrigger->pTabSchema ){
136505 Table *pTab = tableOfTrigger(pTrigger);
136508 for(pp=&pTab->pTrigger; *pp; pp=&((*pp)->pNext)){
136509 if( *pp==pTrigger ){
136516 sqlite3DeleteTrigger(db, pTrigger);
136730 Trigger *pTrigger, /* Trigger to code */
136744 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
136757 pPrg->pTrigger = pTrigger;
136771 pSubParse->zAuthContext = pTrigger->zName;
136772 pSubParse->eTriggerOp = pTrigger->op;
136779 pTrigger->zName, onErrorText(orconf),
136780 (pTrigger->tr_tm==TRIGGER_BEFORE ? "BEFORE" : "AFTER"),
136781 (pTrigger->op==TK_UPDATE ? "UPDATE" : ""),
136782 (pTrigger->op==TK_INSERT ? "INSERT" : ""),
136783 (pTrigger->op==TK_DELETE ? "DELETE" : ""),
136787 if( pTrigger->zName ){
136789 sqlite3MPrintf(db, "-- TRIGGER %s", pTrigger->zName), P4_DYNAMIC
136797 if( pTrigger->pWhen ){
136798 pWhen = sqlite3ExprDup(db, pTrigger->pWhen, 0);
136809 codeTriggerProgram(pSubParse, pTrigger->step_list, orconf);
136816 VdbeComment((v, "End: %s.%s", pTrigger->zName, onErrorText(orconf)));
136824 pProgram->token = (void *)pTrigger;
136846 Trigger *pTrigger, /* Trigger to code */
136853 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
136860 pPrg && (pPrg->pTrigger!=pTrigger || pPrg->orconf!=orconf);
136866 pPrg = codeRowTrigger(pParse, pTrigger, pTab, orconf);
136952 Trigger *pTrigger, /* List of triggers on table pTab */
136967 for(p=pTrigger; p; p=p->pNext){
137014 Trigger *pTrigger, /* List of triggers on table pTab */
137026 for(p=pTrigger; p; p=p->pNext){
137227 Trigger *pTrigger; /* List of triggers on pTab, if required */
137266 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_UPDATE, pChanges, &tmask);
137268 assert( pTrigger || tmask==0 );
137270 # define pTrigger 0
137476 sqlite3BeginWriteOperation(pParse, pTrigger || hasFK, iDb);
137488 if( chngPk || pTrigger || hasFK ){
137492 if( chngKey || pTrigger || hasFK ){
137582 if( !pParse->nested && !pTrigger && !hasFK && !chngKey && !bReplace ){
137700 assert( chngKey || pTrigger || hasFK || regOldRowid==regNewRowid );
137708 if( chngPk || hasFK || pTrigger ){
137711 pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError
137745 pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError
137784 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
137915 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
137970 #ifdef pTrigger
137971 #undef pTrigger