diff options
author | drh <drh@noemail.net> | 2003-03-31 02:12:46 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2003-03-31 02:12:46 +0000 |
commit | da93d238c2067a1951b8043c3c30355947fd6da9 (patch) | |
tree | 29057f4a84763deb95565d3e8bd2622614c85c15 /src/trigger.c | |
parent | 1c2d84148a6bb2f8d231debd65bc09e948abf029 (diff) | |
download | sqlite-da93d238c2067a1951b8043c3c30355947fd6da9.tar.gz sqlite-da93d238c2067a1951b8043c3c30355947fd6da9.zip |
Add the sqliteErrorMsg() function and use it to generate error message
text during parsing and code generation. This simplifies the code
somewhat and makes it easier to handle names with a database prefix. (CVS 891)
FossilOrigin-Name: 1d3fc977211abdc7ba3fd51d661863e8ce5aef69
Diffstat (limited to 'src/trigger.c')
-rw-r--r-- | src/trigger.c | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/src/trigger.c b/src/trigger.c index 7e48e4d57..ec95daae6 100644 --- a/src/trigger.c +++ b/src/trigger.c @@ -66,33 +66,29 @@ void sqliteCreateTrigger( goto trigger_cleanup; } if( tab->iDb>=2 ){ - sqliteSetString(&pParse->zErrMsg, "triggers may not be added to " - "auxiliary database \"", db->aDb[tab->iDb].zName, "\"", 0); - pParse->nErr++; + sqliteErrorMsg(pParse, "triggers may not be added to auxiliary " + "database %s", db->aDb[tab->iDb].zName); goto trigger_cleanup; } zName = sqliteStrNDup(pName->z, pName->n); if( sqliteHashFind(&(db->aDb[tab->iDb].trigHash), zName,pName->n+1) ){ - sqliteSetNString(&pParse->zErrMsg, "trigger ", -1, - pName->z, pName->n, " already exists", -1, 0); - pParse->nErr++; + sqliteErrorMsg(pParse, "trigger %T already exists", pName); goto trigger_cleanup; } if( sqliteStrNICmp(tab->zName, "sqlite_", 7)==0 ){ - sqliteSetString(&pParse->zErrMsg,"cannot create trigger on system table",0); + sqliteErrorMsg(pParse, "cannot create trigger on system table"); pParse->nErr++; goto trigger_cleanup; } if( tab->pSelect && tr_tm != TK_INSTEAD ){ - sqliteSetString(&pParse->zErrMsg, "cannot create ", - (tr_tm == TK_BEFORE)?"BEFORE":"AFTER", " trigger on view: ", - pTableName->a[0].zName, 0); + sqliteErrorMsg(pParse, "cannot create %s trigger on view: %S", + (tr_tm == TK_BEFORE)?"BEFORE":"AFTER", pTableName, 0); goto trigger_cleanup; } if( !tab->pSelect && tr_tm == TK_INSTEAD ){ - sqliteSetString(&pParse->zErrMsg, "cannot create INSTEAD OF", - " trigger on table: ", pTableName->a[0].zName, 0); + sqliteErrorMsg(pParse, "cannot create INSTEAD OF" + " trigger on table: %S", pTableName, 0); goto trigger_cleanup; } #ifndef SQLITE_OMIT_AUTHORIZATION @@ -362,14 +358,13 @@ void sqliteDropTrigger(Parse *pParse, SrcList *pName, int nested){ if( pTrigger ) break; } if( !pTrigger ){ - sqliteSetString(&pParse->zErrMsg, "no such trigger: ", zName, 0); + sqliteErrorMsg(pParse, "no such trigger: %S", pName, 0); goto drop_trigger_cleanup; } assert( pTrigger->iDb>=0 && pTrigger->iDb<db->nDb ); if( pTrigger->iDb>=2 ){ - sqliteSetString(&pParse->zErrMsg, "triggers may not be removed from " - "auxiliary database \"", db->aDb[pTrigger->iDb].zName, "\"", 0); - pParse->nErr++; + sqliteErrorMsg(pParse, "triggers may not be removed from " + "auxiliary database %s", db->aDb[pTrigger->iDb].zName); goto drop_trigger_cleanup; } pTable = sqliteFindTable(db, pTrigger->table, db->aDb[pTrigger->iDb].zName); @@ -764,9 +759,7 @@ void sqliteViewTriggers( } } if( jj>=pTab->nCol ){ - sqliteSetString(&pParse->zErrMsg, "no such column: ", - pChanges->a[ii].zName, 0); - pParse->nErr++; + sqliteErrorMsg(pParse, "no such column: %s", pChanges->a[ii].zName); goto trigger_cleanup; } } |