Lines Matching refs:pTrigger

9945   Trigger *pTrigger;   /* List of triggers stored in pSchema */  member
10796 Trigger *pTrigger; /* Trigger this program was coded from */ member
81234 Trigger *pTrigger;
81249 pTrigger = sqlite3TriggerList(pParse, pTab);
81250 while( pTrigger ){
81251 assert( pTrigger->pSchema==pTab->pSchema ||
81252 pTrigger->pSchema==db->aDb[1].pSchema );
81253 sqlite3DropTriggerPtr(pParse, pTrigger);
81254 pTrigger = pTrigger->pNext;
83643 Trigger *pTrigger; /* List of table triggers, if required */
83665 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
83668 # define pTrigger 0
83682 if( sqlite3IsReadOnly(pParse, pTab, (pTrigger?1:0)) ){
83693 assert(!isView || pTrigger);
83749 if( rcauth==SQLITE_OK && pWhere==0 && !pTrigger && !IsVirtual(pTab)
83810 sqlite3GenerateRowDelete(pParse, pTab, iCur, iRowid, count, pTrigger, OE_Default);
83856 #ifdef pTrigger
83857 #undef pTrigger
83885 Trigger *pTrigger, /* List of triggers to (potentially) fire */
83903 if( sqlite3FkRequired(pParse, pTab, 0, 0) || pTrigger ){
83910 pParse, pTrigger, 0, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onconf
83926 sqlite3CodeRowTrigger(pParse, pTrigger,
83959 sqlite3CodeRowTrigger(pParse, pTrigger,
86637 Trigger *pTrigger; /* Trigger definition to return */
86641 pTrigger = pFKey->apTrigger[iAction];
86643 if( action!=OE_None && !pTrigger ){
86756 pTrigger = (Trigger *)sqlite3DbMallocZero(db,
86761 if( pTrigger ){
86762 pStep = pTrigger->step_list = (TriggerStep *)&pTrigger[1];
86772 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
86784 fkTriggerDelete(db, pTrigger);
86800 pStep->pTrig = pTrigger;
86801 pTrigger->pSchema = pTab->pSchema;
86802 pTrigger->pTabSchema = pTab->pSchema;
86803 pFKey->apTrigger[iAction] = pTrigger;
86804 pTrigger->op = (pChanges ? TK_UPDATE : TK_DELETE);
86807 return pTrigger;
87355 Trigger *pTrigger; /* List of triggers on pTab, if required */
87386 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_INSERT, 0, &tmask);
87389 # define pTrigger 0
87397 assert( (pTrigger && tmask) || (pTrigger==0 && tmask==0) );
87420 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
87433 assert( !pTrigger );
87509 if( pTrigger || readsTable(pParse, addrSelect, iDb, pTab) ){
87750 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_BEFORE,
87874 if( pTrigger ){
87876 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_AFTER,
87935 #ifdef pTrigger
87936 #undef pTrigger
88162 Trigger *pTrigger = 0;
88164 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
88166 if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){
88169 pParse, pTab, baseCur, regRowid, 0, pTrigger, OE_Replace
88273 Trigger *pTrigger = 0;
88277 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
88280 pParse, pTab, baseCur, regR, 0, pTrigger, OE_Replace
97197 pTrig->pNext = (pList ? pList : pTab->pTrigger);
97203 return (pList ? pList : pTab->pTrigger);
97226 Trigger *pTrigger = 0; /* The new trigger */
97375 pTrigger = (Trigger*)sqlite3DbMallocZero(db, sizeof(Trigger));
97376 if( pTrigger==0 ) goto trigger_cleanup;
97377 pTrigger->zName = zName;
97379 pTrigger->table = sqlite3DbStrDup(db, pTableName->a[0].zName);
97380 pTrigger->pSchema = db->aDb[iDb].pSchema;
97381 pTrigger->pTabSchema = pTab->pSchema;
97382 pTrigger->op = (u8)op;
97383 pTrigger->tr_tm = tr_tm==TK_BEFORE ? TRIGGER_BEFORE : TRIGGER_AFTER;
97384 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
97385 pTrigger->pColumns = sqlite3IdListDup(db, pColumns);
97387 pParse->pNewTrigger = pTrigger;
97395 sqlite3DeleteTrigger(db, pTrigger);
97397 assert( pParse->pNewTrigger==pTrigger );
97467 pLink->pNext = pTab->pTrigger;
97468 pTab->pTrigger = pLink;
97605 SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3 *db, Trigger *pTrigger){
97606 if( pTrigger==0 ) return;
97607 sqlite3DeleteTriggerStep(db, pTrigger->step_list);
97608 sqlite3DbFree(db, pTrigger->zName);
97609 sqlite3DbFree(db, pTrigger->table);
97610 sqlite3ExprDelete(db, pTrigger->pWhen);
97611 sqlite3IdListDelete(db, pTrigger->pColumns);
97612 sqlite3DbFree(db, pTrigger);
97624 Trigger *pTrigger = 0;
97645 pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName, nName);
97646 if( pTrigger ) break;
97648 if( !pTrigger ){
97657 sqlite3DropTriggerPtr(pParse, pTrigger);
97667 static Table *tableOfTrigger(Trigger *pTrigger){
97668 int n = sqlite3Strlen30(pTrigger->table);
97669 return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table, n);
97676 SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){
97682 iDb = sqlite3SchemaToIndex(pParse->db, pTrigger->pSchema);
97684 pTable = tableOfTrigger(pTrigger);
97686 assert( pTable->pSchema==pTrigger->pSchema || iDb==1 );
97693 if( sqlite3AuthCheck(pParse, code, pTrigger->zName, pTable->zName, zDb) ||
97720 sqlite3VdbeChangeP4(v, base+1, pTrigger->zName, P4_TRANSIENT);
97724 sqlite3VdbeAddOp4(v, OP_DropTrigger, iDb, 0, 0, pTrigger->zName, 0);
97735 Trigger *pTrigger;
97740 pTrigger = sqlite3HashInsert(pHash, zName, sqlite3Strlen30(zName), 0);
97741 if( ALWAYS(pTrigger) ){
97742 if( pTrigger->pSchema==pTrigger->pTabSchema ){
97743 Table *pTab = tableOfTrigger(pTrigger);
97745 for(pp=&pTab->pTrigger; *pp!=pTrigger; pp=&((*pp)->pNext));
97748 sqlite3DeleteTrigger(db, pTrigger);
97950 Trigger *pTrigger, /* Trigger to code */
97964 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
97977 pPrg->pTrigger = pTrigger;
97991 pSubParse->zAuthContext = pTrigger->zName;
97992 pSubParse->eTriggerOp = pTrigger->op;
97998 pTrigger->zName, onErrorText(orconf),
97999 (pTrigger->tr_tm==TRIGGER_BEFORE ? "BEFORE" : "AFTER"),
98000 (pTrigger->op==TK_UPDATE ? "UPDATE" : ""),
98001 (pTrigger->op==TK_INSERT ? "INSERT" : ""),
98002 (pTrigger->op==TK_DELETE ? "DELETE" : ""),
98007 sqlite3MPrintf(db, "-- TRIGGER %s", pTrigger->zName), P4_DYNAMIC
98014 if( pTrigger->pWhen ){
98015 pWhen = sqlite3ExprDup(db, pTrigger->pWhen, 0);
98026 codeTriggerProgram(pSubParse, pTrigger->step_list, orconf);
98033 VdbeComment((v, "End: %s.%s", pTrigger->zName, onErrorText(orconf)));
98041 pProgram->token = (void *)pTrigger;
98062 Trigger *pTrigger, /* Trigger to code */
98069 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
98076 pPrg && (pPrg->pTrigger!=pTrigger || pPrg->orconf!=orconf);
98082 pPrg = codeRowTrigger(pParse, pTrigger, pTab, orconf);
98168 Trigger *pTrigger, /* List of triggers on table pTab */
98183 for(p=pTrigger; p; p=p->pNext){
98230 Trigger *pTrigger, /* List of triggers on table pTab */
98242 for(p=pTrigger; p; p=p->pNext){
98379 Trigger *pTrigger; /* List of triggers on pTab, if required */
98409 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_UPDATE, pChanges, &tmask);
98411 assert( pTrigger || tmask==0 );
98413 # define pTrigger 0
98539 if( pTrigger || hasFK ){
98543 if( chngRowid || pTrigger || hasFK ){
98645 assert( chngRowid || pTrigger || hasFK || regOldRowid==regNewRowid );
98653 if( hasFK || pTrigger ){
98656 pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError
98684 pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError
98713 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
98780 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
98831 #ifdef pTrigger
98832 #undef pTrigger