aboutsummaryrefslogtreecommitdiff
path: root/src/build.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2003-05-17 19:04:03 +0000
committerdrh <drh@noemail.net>2003-05-17 19:04:03 +0000
commit79a519c04743df1e04df149f357dc417d18fea3c (patch)
tree329bac8c02a4b1b431f18da02bf8ec0279e01850 /src/build.c
parent24f1eb74c860d60782a9149a23f8f6b295b61b87 (diff)
downloadsqlite-79a519c04743df1e04df149f357dc417d18fea3c.tar.gz
sqlite-79a519c04743df1e04df149f357dc417d18fea3c.zip
Prevent an infinite loop when deleting a table that has a TEMP trigger. (CVS 984)
FossilOrigin-Name: c8c823b068916711857fa67db10fb479999b55c2
Diffstat (limited to 'src/build.c')
-rw-r--r--src/build.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/build.c b/src/build.c
index b160a32ee..100b701c8 100644
--- a/src/build.c
+++ b/src/build.c
@@ -23,7 +23,7 @@
** ROLLBACK
** PRAGMA
**
-** $Id: build.c,v 1.153 2003/05/17 17:35:11 drh Exp $
+** $Id: build.c,v 1.154 2003/05/17 19:04:04 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -1297,12 +1297,8 @@ void sqliteDropTable(Parse *pParse, Token *pName, int isView){
/* Drop all triggers associated with the table being dropped */
pTrigger = pTable->pTrigger;
while( pTrigger ){
- SrcList *pNm;
assert( pTrigger->iDb==pTable->iDb || pTrigger->iDb==1 );
- pNm = sqliteSrcListAppend(0, 0, 0);
- pNm->a[0].zName = sqliteStrDup(pTrigger->name);
- pNm->a[0].zDatabase = sqliteStrDup(db->aDb[pTable->iDb].zName);
- sqliteDropTrigger(pParse, pNm, 1);
+ sqliteDropTriggerPtr(pParse, pTrigger, 1);
if( pParse->explain ){
pTrigger = pTrigger->pNext;
}else{