Lines Matching refs:pTrigger

9638   Trigger *pTrigger;   /* List of triggers stored in pSchema */
10470 ** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
10473 ** values for both pTrigger and orconf.
10481 Trigger *pTrigger; /* Trigger this program was coded from */
10483 SubProgram *pProgram; /* Program implementing pTrigger/orconf */
10638 * linked list is stored as the "pTrigger" member of the associated
78916 Trigger *pTrigger;
78931 pTrigger = sqlite3TriggerList(pParse, pTab);
78932 while( pTrigger ){
78933 assert( pTrigger->pSchema==pTab->pSchema ||
78934 pTrigger->pSchema==db->aDb[1].pSchema );
78935 sqlite3DropTriggerPtr(pParse, pTrigger);
78936 pTrigger = pTrigger->pNext;
81302 Trigger *pTrigger; /* List of table triggers, if required */
81324 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
81327 # define pTrigger 0
81341 if( sqlite3IsReadOnly(pParse, pTab, (pTrigger?1:0)) ){
81352 assert(!isView || pTrigger);
81408 if( rcauth==SQLITE_OK && pWhere==0 && !pTrigger && !IsVirtual(pTab)
81466 sqlite3GenerateRowDelete(pParse, pTab, iCur, iRowid, count, pTrigger, OE_Default);
81512 #ifdef pTrigger
81513 #undef pTrigger
81541 Trigger *pTrigger, /* List of triggers to (potentially) fire */
81559 if( sqlite3FkRequired(pParse, pTab, 0, 0) || pTrigger ){
81566 pParse, pTrigger, 0, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onconf
81582 sqlite3CodeRowTrigger(pParse, pTrigger,
81615 sqlite3CodeRowTrigger(pParse, pTrigger,
84240 Trigger *pTrigger; /* Trigger definition to return */
84244 pTrigger = pFKey->apTrigger[iAction];
84246 if( action!=OE_None && !pTrigger ){
84359 pTrigger = (Trigger *)sqlite3DbMallocZero(db,
84364 if( pTrigger ){
84365 pStep = pTrigger->step_list = (TriggerStep *)&pTrigger[1];
84375 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
84387 fkTriggerDelete(db, pTrigger);
84403 pStep->pTrig = pTrigger;
84404 pTrigger->pSchema = pTab->pSchema;
84405 pTrigger->pTabSchema = pTab->pSchema;
84406 pFKey->apTrigger[iAction] = pTrigger;
84407 pTrigger->op = (pChanges ? TK_UPDATE : TK_DELETE);
84410 return pTrigger;
84958 Trigger *pTrigger; /* List of triggers on pTab, if required */
84989 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_INSERT, 0, &tmask);
84992 # define pTrigger 0
85000 assert( (pTrigger && tmask) || (pTrigger==0 && tmask==0) );
85023 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
85036 assert( !pTrigger );
85112 if( pTrigger || readsTable(pParse, addrSelect, iDb, pTab) ){
85353 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_BEFORE,
85476 if( pTrigger ){
85478 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_AFTER,
85537 #ifdef pTrigger
85538 #undef pTrigger
85764 Trigger *pTrigger = 0;
85766 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
85768 if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){
85771 pParse, pTab, baseCur, regRowid, 0, pTrigger, OE_Replace
85875 Trigger *pTrigger = 0;
85879 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
85882 pParse, pTab, baseCur, regR, 0, pTrigger, OE_Replace
94624 ** are already attached to pTab->pTrigger. But there might be additional
94626 ** TEMP triggers on pTab to the beginning of the pTab->pTrigger list
94631 ** pTab as well as the triggers lised in pTab->pTrigger.
94649 pTrig->pNext = (pList ? pList : pTab->pTrigger);
94655 return (pList ? pList : pTab->pTrigger);
94678 Trigger *pTrigger = 0; /* The new trigger */
94814 pTrigger = (Trigger*)sqlite3DbMallocZero(db, sizeof(Trigger));
94815 if( pTrigger==0 ) goto trigger_cleanup;
94816 pTrigger->zName = zName;
94818 pTrigger->table = sqlite3DbStrDup(db, pTableName->a[0].zName);
94819 pTrigger->pSchema = db->aDb[iDb].pSchema;
94820 pTrigger->pTabSchema = pTab->pSchema;
94821 pTrigger->op = (u8)op;
94822 pTrigger->tr_tm = tr_tm==TK_BEFORE ? TRIGGER_BEFORE : TRIGGER_AFTER;
94823 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
94824 pTrigger->pColumns = sqlite3IdListDup(db, pColumns);
94826 pParse->pNewTrigger = pTrigger;
94834 sqlite3DeleteTrigger(db, pTrigger);
94836 assert( pParse->pNewTrigger==pTrigger );
94907 pLink->pNext = pTab->pTrigger;
94908 pTab->pTrigger = pLink;
95045 SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3 *db, Trigger *pTrigger){
95046 if( pTrigger==0 ) return;
95047 sqlite3DeleteTriggerStep(db, pTrigger->step_list);
95048 sqlite3DbFree(db, pTrigger->zName);
95049 sqlite3DbFree(db, pTrigger->table);
95050 sqlite3ExprDelete(db, pTrigger->pWhen);
95051 sqlite3IdListDelete(db, pTrigger->pColumns);
95052 sqlite3DbFree(db, pTrigger);
95064 Trigger *pTrigger = 0;
95085 pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName, nName);
95086 if( pTrigger ) break;
95088 if( !pTrigger ){
95097 sqlite3DropTriggerPtr(pParse, pTrigger);
95107 static Table *tableOfTrigger(Trigger *pTrigger){
95108 int n = sqlite3Strlen30(pTrigger->table);
95109 return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table, n);
95116 SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){
95122 iDb = sqlite3SchemaToIndex(pParse->db, pTrigger->pSchema);
95124 pTable = tableOfTrigger(pTrigger);
95126 assert( pTable->pSchema==pTrigger->pSchema || iDb==1 );
95133 if( sqlite3AuthCheck(pParse, code, pTrigger->zName, pTable->zName, zDb) ||
95160 sqlite3VdbeChangeP4(v, base+1, pTrigger->zName, P4_TRANSIENT);
95164 sqlite3VdbeAddOp4(v, OP_DropTrigger, iDb, 0, 0, pTrigger->zName, 0);
95175 Trigger *pTrigger;
95180 pTrigger = sqlite3HashInsert(pHash, zName, sqlite3Strlen30(zName), 0);
95181 if( ALWAYS(pTrigger) ){
95182 if( pTrigger->pSchema==pTrigger->pTabSchema ){
95183 Table *pTab = tableOfTrigger(pTrigger);
95185 for(pp=&pTab->pTrigger; *pp!=pTrigger; pp=&((*pp)->pNext));
95188 sqlite3DeleteTrigger(db, pTrigger);
95386 ** implementing trigger pTrigger with ON CONFLICT policy orconf.
95390 Trigger *pTrigger, /* Trigger to code */
95391 Table *pTab, /* The table pTrigger is attached to */
95404 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
95417 pPrg->pTrigger = pTrigger;
95431 pSubParse->zAuthContext = pTrigger->zName;
95432 pSubParse->eTriggerOp = pTrigger->op;
95438 pTrigger->zName, onErrorText(orconf),
95439 (pTrigger->tr_tm==TRIGGER_BEFORE ? "BEFORE" : "AFTER"),
95440 (pTrigger->op==TK_UPDATE ? "UPDATE" : ""),
95441 (pTrigger->op==TK_INSERT ? "INSERT" : ""),
95442 (pTrigger->op==TK_DELETE ? "DELETE" : ""),
95447 sqlite3MPrintf(db, "-- TRIGGER %s", pTrigger->zName), P4_DYNAMIC
95454 if( pTrigger->pWhen ){
95455 pWhen = sqlite3ExprDup(db, pTrigger->pWhen, 0);
95466 codeTriggerProgram(pSubParse, pTrigger->step_list, orconf);
95473 VdbeComment((v, "End: %s.%s", pTrigger->zName, onErrorText(orconf)));
95481 pProgram->token = (void *)pTrigger;
95496 ** trigger pTrigger with default ON CONFLICT algorithm orconf. If no such
95502 Trigger *pTrigger, /* Trigger to code */
95503 Table *pTab, /* The table trigger pTrigger is attached to */
95509 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
95513 ** a matching TriggerPrg.pTrigger field will be present somewhere
95516 pPrg && (pPrg->pTrigger!=pTrigger || pPrg->orconf!=orconf);
95522 pPrg = codeRowTrigger(pParse, pTrigger, pTab, orconf);
95608 Trigger *pTrigger, /* List of triggers on table pTab */
95617 Trigger *p; /* Used to iterate through pTrigger list */
95623 for(p=pTrigger; p; p=p->pNext){
95670 Trigger *pTrigger, /* List of triggers on table pTab */
95682 for(p=pTrigger; p; p=p->pNext){
95818 Trigger *pTrigger; /* List of triggers on pTab, if required */
95848 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_UPDATE, pChanges, &tmask);
95850 assert( pTrigger || tmask==0 );
95852 # define pTrigger 0
95978 if( pTrigger || hasFK ){
95982 if( chngRowid || pTrigger || hasFK ){
96082 assert( chngRowid || pTrigger || hasFK || regOldRowid==regNewRowid );
96090 if( hasFK || pTrigger ){
96093 pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError
96121 pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError
96150 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
96217 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
96268 #ifdef pTrigger
96269 #undef pTrigger