Lines Matching refs:pTrigger
18831 Trigger *pTrigger; /* List of triggers on this object */ member
20173 Trigger *pTrigger; /* Trigger this program was coded from */ member
34190 const Trigger *pTrigger in sqlite3TreeViewDelete() argument
34201 if( pTrigger ) n++; in sqlite3TreeViewDelete()
34228 if( pTrigger ){ in sqlite3TreeViewDelete()
34229 sqlite3TreeViewTrigger(pView, pTrigger, (--n)>0, 1); in sqlite3TreeViewDelete()
34248 const Trigger *pTrigger in sqlite3TreeViewInsert() argument
34268 if( pTrigger ) n++; in sqlite3TreeViewInsert()
34298 if( pTrigger ){ in sqlite3TreeViewInsert()
34299 sqlite3TreeViewTrigger(pView, pTrigger, (--n)>0, 1); in sqlite3TreeViewInsert()
34319 const Trigger *pTrigger in sqlite3TreeViewUpdate() argument
34340 if( pTrigger ) n++; in sqlite3TreeViewUpdate()
34376 if( pTrigger ){ in sqlite3TreeViewUpdate()
34377 sqlite3TreeViewTrigger(pView, pTrigger, (--n)>0, 1); in sqlite3TreeViewUpdate()
34412 const Trigger *pTrigger, in sqlite3TreeViewTrigger() argument
34417 if( pTrigger==0 ) return; in sqlite3TreeViewTrigger()
34419 moreToFollow || (showFullList && pTrigger->pNext!=0)); in sqlite3TreeViewTrigger()
34421 if( cnt++ && pTrigger->pNext==0 ){ in sqlite3TreeViewTrigger()
34425 sqlite3TreeViewLine(pView, "TRIGGER %s", pTrigger->zName); in sqlite3TreeViewTrigger()
34427 sqlite3TreeViewTriggerStep(pView, pTrigger->step_list, 0, 1); in sqlite3TreeViewTrigger()
34429 }while( showFullList && (pTrigger = pTrigger->pNext)!=0 ); in sqlite3TreeViewTrigger()
119200 static void renameWalkTrigger(Walker *pWalker, Trigger *pTrigger){
119204 sqlite3WalkExpr(pWalker, pTrigger->pWhen);
119207 for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){
119597 Trigger *pTrigger = sParse.pNewTrigger;
119600 && sCtx.pTab->pSchema==pTrigger->pTabSchema
119608 renameWalkTrigger(&sWalker, pTrigger);
119609 for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){
126375 Trigger *pTrigger;
126392 pTrigger = sqlite3TriggerList(pParse, pTab);
126393 while( pTrigger ){
126394 assert( pTrigger->pSchema==pTab->pSchema ||
126395 pTrigger->pSchema==db->aDb[1].pSchema );
126396 sqlite3DropTriggerPtr(pParse, pTrigger);
126397 pTrigger = pTrigger->pNext;
129465 SQLITE_PRIVATE int sqlite3IsReadOnly(Parse *pParse, Table *pTab, Trigger *pTrigger){
129472 && (pTrigger==0 || (pTrigger->bReturning && pTrigger->pNext==0))
129674 Trigger *pTrigger; /* List of table triggers, if required */
129698 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
129701 # define pTrigger 0
129704 bComplex = pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0);
129714 pOrderBy, pLimit, pTrigger);
129734 if( sqlite3IsReadOnly(pParse, pTab, pTrigger) ){
129745 assert(!isView || pTrigger);
129996 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
130046 #ifdef pTrigger
130047 #undef pTrigger
130094 Trigger *pTrigger, /* List of triggers to (potentially) fire */
130127 if( sqlite3FkRequired(pParse, pTab, 0, 0) || pTrigger ){
130135 pParse, pTrigger, 0, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onconf
130155 sqlite3CodeRowTrigger(pParse, pTrigger,
130214 if( pTrigger ){
130215 sqlite3CodeRowTrigger(pParse, pTrigger,
134184 Trigger *p = pTop->pTriggerPrg->pTrigger;
134550 Trigger *pTrigger; /* Trigger definition to return */
134558 pTrigger = pFKey->apTrigger[iAction];
134560 if( action!=OE_None && !pTrigger ){
134682 pTrigger = (Trigger *)sqlite3DbMallocZero(db,
134687 if( pTrigger ){
134688 pStep = pTrigger->step_list = (TriggerStep *)&pTrigger[1];
134697 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
134709 fkTriggerDelete(db, pTrigger);
134713 assert( pTrigger!=0 );
134728 pStep->pTrig = pTrigger;
134729 pTrigger->pSchema = pTab->pSchema;
134730 pTrigger->pTabSchema = pTab->pSchema;
134731 pFKey->apTrigger[iAction] = pTrigger;
134732 pTrigger->op = (pChanges ? TK_UPDATE : TK_DELETE);
134735 return pTrigger;
135748 Trigger *pTrigger; /* List of triggers on pTab, if required */
135790 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_INSERT, 0, &tmask);
135793 # define pTrigger 0
135801 assert( (pTrigger && tmask) || (pTrigger==0 && tmask==0) );
135807 onError, pUpsert, pTrigger);
135820 if( sqlite3IsReadOnly(pParse, pTab, pTrigger) ){
135829 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
135843 && pTrigger==0
135846 assert( !pTrigger );
135978 if( pTrigger || readsTable(pParse, iDb, pTab) ){
136306 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_BEFORE,
136415 if( pTrigger ){
136417 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_AFTER,
136481 #ifdef pTrigger
136482 #undef pTrigger
136743 Trigger *pTrigger; /* List of DELETE triggers on the table pTab */
137028 pTrigger = 0;
137032 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
137033 regTrigCnt = pTrigger!=0 || sqlite3FkRequired(pParse, pTab, 0, 0);
137035 pTrigger = 0;
137150 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
137421 if( pTrigger && isUpdate ){
137424 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
137427 if( pTrigger && isUpdate ){
153921 pList = pTab->pTrigger;
153979 Trigger *pTrigger = 0; /* The new trigger */
154127 pTrigger = (Trigger*)sqlite3DbMallocZero(db, sizeof(Trigger));
154128 if( pTrigger==0 ) goto trigger_cleanup;
154129 pTrigger->zName = zName;
154131 pTrigger->table = sqlite3DbStrDup(db, pTableName->a[0].zName);
154132 pTrigger->pSchema = db->aDb[iDb].pSchema;
154133 pTrigger->pTabSchema = pTab->pSchema;
154134 pTrigger->op = (u8)op;
154135 pTrigger->tr_tm = tr_tm==TK_BEFORE ? TRIGGER_BEFORE : TRIGGER_AFTER;
154137 sqlite3RenameTokenRemap(pParse, pTrigger->table, pTableName->a[0].zName);
154138 pTrigger->pWhen = pWhen;
154141 pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE);
154143 pTrigger->pColumns = pColumns;
154146 pParse->pNewTrigger = pTrigger;
154154 sqlite3DeleteTrigger(db, pTrigger);
154156 assert( pParse->pNewTrigger==pTrigger );
154271 pLink->pNext = pTab->pTrigger;
154272 pTab->pTrigger = pLink;
154469 SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3 *db, Trigger *pTrigger){
154470 if( pTrigger==0 || pTrigger->bReturning ) return;
154471 sqlite3DeleteTriggerStep(db, pTrigger->step_list);
154472 sqlite3DbFree(db, pTrigger->zName);
154473 sqlite3DbFree(db, pTrigger->table);
154474 sqlite3ExprDelete(db, pTrigger->pWhen);
154475 sqlite3IdListDelete(db, pTrigger->pColumns);
154476 sqlite3DbFree(db, pTrigger);
154488 Trigger *pTrigger = 0;
154508 pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName);
154509 if( pTrigger ) break;
154511 if( !pTrigger ){
154520 sqlite3DropTriggerPtr(pParse, pTrigger);
154530 static Table *tableOfTrigger(Trigger *pTrigger){
154531 return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table);
154538 SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){
154544 iDb = sqlite3SchemaToIndex(pParse->db, pTrigger->pSchema);
154546 pTable = tableOfTrigger(pTrigger);
154547 assert( (pTable && pTable->pSchema==pTrigger->pSchema) || iDb==1 );
154554 if( sqlite3AuthCheck(pParse, code, pTrigger->zName, pTable->zName, zDb) ||
154566 db->aDb[iDb].zDbSName, pTrigger->zName
154569 sqlite3VdbeAddOp4(v, OP_DropTrigger, iDb, 0, 0, pTrigger->zName, 0);
154577 Trigger *pTrigger;
154582 pTrigger = sqlite3HashInsert(pHash, zName, 0);
154583 if( ALWAYS(pTrigger) ){
154584 if( pTrigger->pSchema==pTrigger->pTabSchema ){
154585 Table *pTab = tableOfTrigger(pTrigger);
154588 for(pp=&pTab->pTrigger; *pp; pp=&((*pp)->pNext)){
154589 if( *pp==pTrigger ){
154596 sqlite3DeleteTrigger(db, pTrigger);
154651 && pTab->pTrigger!=0
154656 if( pList==pTab->pTrigger ){
154660 while( ALWAYS(p->pNext) && p->pNext!=pTab->pTrigger ) p = p->pNext;
154705 if( (pTab->pTrigger==0 && !tempTriggersExist(pParse->db))
154896 Trigger *pTrigger, /* The trigger step that defines the RETURNING */
154917 if( pTrigger != &(pReturning->retTrig) ){
154947 pParse->eTriggerOp = pTrigger->op;
155104 Trigger *pTrigger, /* Trigger to code */
155118 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
155131 pPrg->pTrigger = pTrigger;
155143 sSubParse.zAuthContext = pTrigger->zName;
155144 sSubParse.eTriggerOp = pTrigger->op;
155153 pTrigger->zName, onErrorText(orconf),
155154 (pTrigger->tr_tm==TRIGGER_BEFORE ? "BEFORE" : "AFTER"),
155155 (pTrigger->op==TK_UPDATE ? "UPDATE" : ""),
155156 (pTrigger->op==TK_INSERT ? "INSERT" : ""),
155157 (pTrigger->op==TK_DELETE ? "DELETE" : ""),
155161 if( pTrigger->zName ){
155163 sqlite3MPrintf(db, "-- TRIGGER %s", pTrigger->zName), P4_DYNAMIC
155171 if( pTrigger->pWhen ){
155172 pWhen = sqlite3ExprDup(db, pTrigger->pWhen, 0);
155183 codeTriggerProgram(&sSubParse, pTrigger->step_list, orconf);
155190 VdbeComment((v, "End: %s.%s", pTrigger->zName, onErrorText(orconf)));
155199 pProgram->token = (void *)pTrigger;
155220 Trigger *pTrigger, /* Trigger to code */
155227 assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
155234 pPrg && (pPrg->pTrigger!=pTrigger || pPrg->orconf!=orconf);
155240 pPrg = codeRowTrigger(pParse, pTrigger, pTab, orconf);
155327 Trigger *pTrigger, /* List of triggers on table pTab */
155342 for(p=pTrigger; p; p=p->pNext){
155397 Trigger *pTrigger, /* List of triggers on table pTab */
155412 for(p=pTrigger; p; p=p->pNext){
155764 Trigger *pTrigger; /* List of triggers on pTab, if required */
155805 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_UPDATE, pChanges, &tmask);
155807 assert( pTrigger || tmask==0 );
155809 # define pTrigger 0
155822 onError, pOrderBy, pLimit, pUpsert, pTrigger);
155846 if( sqlite3IsReadOnly(pParse, pTab, pTrigger) ){
156033 sqlite3BeginWriteOperation(pParse, pTrigger || hasFK, iDb);
156045 if( chngPk || pTrigger || hasFK ){
156049 if( chngKey || pTrigger || hasFK ){
156169 && !pTrigger
156321 assert( chngKey || pTrigger || hasFK || regOldRowid==regNewRowid );
156334 if( chngPk || hasFK || pTrigger ){
156337 pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError
156374 pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError
156419 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
156552 if( pTrigger ){
156553 sqlite3CodeRowTrigger(pParse, pTrigger, TK_UPDATE, pChanges,
156605 #ifdef pTrigger
156606 #undef pTrigger