aboutsummaryrefslogtreecommitdiff
path: root/src/trigger.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2003-03-31 02:12:46 +0000
committerdrh <drh@noemail.net>2003-03-31 02:12:46 +0000
commitda93d238c2067a1951b8043c3c30355947fd6da9 (patch)
tree29057f4a84763deb95565d3e8bd2622614c85c15 /src/trigger.c
parent1c2d84148a6bb2f8d231debd65bc09e948abf029 (diff)
downloadsqlite-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.c31
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;
}
}