~ubuntu-branches/ubuntu/hardy/sqlite3/hardy

« back to all changes in this revision

Viewing changes to src/trigger.c

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2007-05-17 02:01:42 UTC
  • mfrom: (1.1.8 upstream) (3.1.1 etch)
  • Revision ID: james.westby@ubuntu.com-20070517020142-o79d5uduuhfbtknv
Tags: 3.3.17-1
* New upstream release.
* Use minor version as well in sqlite3.pc (closes: #424235).

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
  int op,             /* One of TK_INSERT, TK_UPDATE, TK_DELETE */
48
48
  IdList *pColumns,   /* column list if this is an UPDATE OF trigger */
49
49
  SrcList *pTableName,/* The name of the table/view the trigger applies to */
50
 
  int foreach,        /* One of TK_ROW or TK_STATEMENT */
51
50
  Expr *pWhen,        /* WHEN clause */
52
51
  int isTemp,         /* True if the TEMPORARY keyword is present */
53
52
  int noErr           /* Suppress errors if the trigger already exists */
180
179
  pTrigger->tr_tm = tr_tm==TK_BEFORE ? TRIGGER_BEFORE : TRIGGER_AFTER;
181
180
  pTrigger->pWhen = sqlite3ExprDup(pWhen);
182
181
  pTrigger->pColumns = sqlite3IdListDup(pColumns);
183
 
  pTrigger->foreach = foreach;
184
182
  sqlite3TokenCopy(&pTrigger->nameToken,pName);
185
183
  assert( pParse->pNewTrigger==0 );
186
184
  pParse->pNewTrigger = pTrigger;
390
388
  int orconf           /* The conflict algorithm. (OE_Abort, OE_Ignore, etc) */
391
389
){
392
390
  TriggerStep *pTriggerStep = sqliteMalloc(sizeof(TriggerStep));
393
 
  if( pTriggerStep==0 ) return 0;
 
391
  if( pTriggerStep==0 ){
 
392
     sqlite3ExprListDelete(pEList);
 
393
     sqlite3ExprDelete(pWhere);
 
394
     return 0;
 
395
  }
394
396
 
395
397
  pTriggerStep->op = TK_UPDATE;
396
398
  pTriggerStep->target  = *pTableName;
409
411
*/
410
412
TriggerStep *sqlite3TriggerDeleteStep(Token *pTableName, Expr *pWhere){
411
413
  TriggerStep *pTriggerStep = sqliteMalloc(sizeof(TriggerStep));
412
 
  if( pTriggerStep==0 ) return 0;
 
414
  if( pTriggerStep==0 ){
 
415
    sqlite3ExprDelete(pWhere);
 
416
    return 0;
 
417
  }
413
418
 
414
419
  pTriggerStep->op = TK_DELETE;
415
420
  pTriggerStep->target  = *pTableName;