Lines Matching refs:pTrigger

10967   Trigger *pTrigger;   /* List of triggers stored in pSchema */
11854 ** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
11857 ** values for both pTrigger and orconf.
11865 Trigger *pTrigger; /* Trigger this program was coded from */
11867 SubProgram *pProgram; /* Program implementing pTrigger/orconf */
12051 * linked list is stored as the "pTrigger" member of the associated
88420 Trigger *pTrigger;
88437 pTrigger = sqlite3TriggerList(pParse, pTab);
88438 while( pTrigger ){
88439 assert( pTrigger->pSchema==pTab->pSchema ||
88440 pTrigger->pSchema==db->aDb[1].pSchema );
88441 sqlite3DropTriggerPtr(pParse, pTrigger);
88442 pTrigger = pTrigger->pNext;
91087 Trigger *pTrigger; /* List of table triggers, if required */
91109 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
91112 # define pTrigger 0
91126 if( sqlite3IsReadOnly(pParse, pTab, (pTrigger?1:0)) ){
91137 assert(!isView || pTrigger);
91194 if( rcauth==SQLITE_OK && pWhere==0 && !pTrigger && !IsVirtual(pTab)
91340 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
91395 #ifdef pTrigger
91396 #undef pTrigger
91422 Trigger *pTrigger, /* List of triggers to (potentially) fire */
91454 if( sqlite3FkRequired(pParse, pTab, 0, 0) || pTrigger ){
91462 pParse, pTrigger, 0, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onconf
91481 sqlite3CodeRowTrigger(pParse, pTrigger,
91519 sqlite3CodeRowTrigger(pParse, pTrigger,
94537 Trigger *pTrigger; /* Trigger definition to return */
94541 pTrigger = pFKey->apTrigger[iAction];
94543 if( action!=OE_None && !pTrigger ){
94656 pTrigger = (Trigger *)sqlite3DbMallocZero(db,
94661 if( pTrigger ){
94662 pStep = pTrigger->step_list = (TriggerStep *)&pTrigger[1];
94672 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
94684 fkTriggerDelete(db, pTrigger);
94701 pStep->pTrig = pTrigger;
94702 pTrigger->pSchema = pTab->pSchema;
94703 pTrigger->pTabSchema = pTab->pSchema;
94704 pFKey->apTrigger[iAction] = pTrigger;
94705 pTrigger->op = (pChanges ? TK_UPDATE : TK_DELETE);
94708 return pTrigger;
95264 Trigger *pTrigger; /* List of triggers on pTab, if required */
95307 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_INSERT, 0, &tmask);
95310 # define pTrigger 0
95318 assert( (pTrigger && tmask) || (pTrigger==0 && tmask==0) );
95338 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
95351 assert( !pTrigger );
95448 if( pTrigger || readsTable(pParse, iDb, pTab) ){
95635 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_BEFORE,
95759 if( pTrigger ){
95761 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_AFTER,
95820 #ifdef pTrigger
95821 #undef pTrigger
96112 Trigger *pTrigger = 0;
96114 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
96116 if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){
96118 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
96286 Trigger *pTrigger = 0;
96290 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
96292 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
107096 ** are already attached to pTab->pTrigger. But there might be additional
107098 ** TEMP triggers on pTab to the beginning of the pTab->pTrigger list
107103 ** pTab as well as the triggers lised in pTab->pTrigger.
107121 pTrig->pNext = (pList ? pList : pTab->pTrigger);
107127 return (pList ? pList : pTab->pTrigger);
107150 Trigger *pTrigger = 0; /* The new trigger */
107299 pTrigger = (Trigger*)sqlite3DbMallocZero(db, sizeof(Trigger));
107300 if( pTrigger==0 ) goto trigger_cleanup;
107301 pTrigger->zName = zName;
107303 pTrigger->table = sqlite3DbStrDup(db, pTableName->a[0].zName);
107304 pTrigger->pSchema = db->aDb[iDb].pSchema;
107305 pTrigger->pTabSchema = pTab->pSchema;
107306 pTrigger->op = (u8)op;
107307 pTrigger->tr_tm = tr_tm==TK_BEFORE ? TRIGGER_BEFORE : TRIGGER_AFTER;
107308 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
107309 pTrigger->pColumns = sqlite3IdListDup(db, pColumns);
107311 pParse->pNewTrigger = pTrigger;
107319 sqlite3DeleteTrigger(db, pTrigger);
107321 assert( pParse->pNewTrigger==pTrigger );
107393 pLink->pNext = pTab->pTrigger;
107394 pTab->pTrigger = pLink;
107527 SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3 *db, Trigger *pTrigger){
107528 if( pTrigger==0 ) return;
107529 sqlite3DeleteTriggerStep(db, pTrigger->step_list);
107530 sqlite3DbFree(db, pTrigger->zName);
107531 sqlite3DbFree(db, pTrigger->table);
107532 sqlite3ExprDelete(db, pTrigger->pWhen);
107533 sqlite3IdListDelete(db, pTrigger->pColumns);
107534 sqlite3DbFree(db, pTrigger);
107546 Trigger *pTrigger = 0;
107567 pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName, nName);
107568 if( pTrigger ) break;
107570 if( !pTrigger ){
107579 sqlite3DropTriggerPtr(pParse, pTrigger);
107589 static Table *tableOfTrigger(Trigger *pTrigger){
107590 int n = sqlite3Strlen30(pTrigger->table);
107591 return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table, n);
107598 SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){
107604 iDb = sqlite3SchemaToIndex(pParse->db, pTrigger->pSchema);
107606 pTable = tableOfTrigger(pTrigger);
107608 assert( pTable->pSchema==pTrigger->pSchema || iDb==1 );
107615 if( sqlite3AuthCheck(pParse, code, pTrigger->zName, pTable->zName, zDb) ||
107643 sqlite3VdbeChangeP4(v, base+1, pTrigger->zName, P4_TRANSIENT);
107647 sqlite3VdbeAddOp4(v, OP_DropTrigger, iDb, 0, 0, pTrigger->zName, 0);
107658 Trigger *pTrigger;
107663 pTrigger = sqlite3HashInsert(pHash, zName, sqlite3Strlen30(zName), 0);
107664 if( ALWAYS(pTrigger) ){
107665 if( pTrigger->pSchema==pTrigger->pTabSchema ){
107666 Table *pTab = tableOfTrigger(pTrigger);
107668 for(pp=&pTab->pTrigger; *pp!=pTrigger; pp=&((*pp)->pNext));
107671 sqlite3DeleteTrigger(db, pTrigger);
107869 ** implementing trigger pTrigger with ON CONFLICT policy orconf.
107873 Trigger *pTrigger, /* Trigger to code */
107874 Table *pTab, /* The table pTrigger is attached to */
107887 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
107900 pPrg->pTrigger = pTrigger;
107914 pSubParse->zAuthContext = pTrigger->zName;
107915 pSubParse->eTriggerOp = pTrigger->op;
107921 pTrigger->zName, onErrorText(orconf),
107922 (pTrigger->tr_tm==TRIGGER_BEFORE ? "BEFORE" : "AFTER"),
107923 (pTrigger->op==TK_UPDATE ? "UPDATE" : ""),
107924 (pTrigger->op==TK_INSERT ? "INSERT" : ""),
107925 (pTrigger->op==TK_DELETE ? "DELETE" : ""),
107930 sqlite3MPrintf(db, "-- TRIGGER %s", pTrigger->zName), P4_DYNAMIC
107937 if( pTrigger->pWhen ){
107938 pWhen = sqlite3ExprDup(db, pTrigger->pWhen, 0);
107949 codeTriggerProgram(pSubParse, pTrigger->step_list, orconf);
107956 VdbeComment((v, "End: %s.%s", pTrigger->zName, onErrorText(orconf)));
107965 pProgram->token = (void *)pTrigger;
107981 ** trigger pTrigger with default ON CONFLICT algorithm orconf. If no such
107987 Trigger *pTrigger, /* Trigger to code */
107988 Table *pTab, /* The table trigger pTrigger is attached to */
107994 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
107998 ** a matching TriggerPrg.pTrigger field will be present somewhere
108001 pPrg && (pPrg->pTrigger!=pTrigger || pPrg->orconf!=orconf);
108007 pPrg = codeRowTrigger(pParse, pTrigger, pTab, orconf);
108093 Trigger *pTrigger, /* List of triggers on table pTab */
108102 Trigger *p; /* Used to iterate through pTrigger list */
108108 for(p=pTrigger; p; p=p->pNext){
108155 Trigger *pTrigger, /* List of triggers on table pTab */
108167 for(p=pTrigger; p; p=p->pNext){
108311 Trigger *pTrigger; /* List of triggers on pTab, if required */
108345 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_UPDATE, pChanges, &tmask);
108347 assert( pTrigger || tmask==0 );
108349 # define pTrigger 0
108498 if( chngPk || pTrigger || hasFK ){
108502 if( chngKey || pTrigger || hasFK ){
108645 assert( chngKey || pTrigger || hasFK || regOldRowid==regNewRowid );
108653 if( chngPk || hasFK || pTrigger ){
108656 pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError
108688 pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError
108718 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
108802 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
108860 #ifdef pTrigger
108861 #undef pTrigger