diff options
author | drh <drh@noemail.net> | 2003-05-17 19:04:03 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2003-05-17 19:04:03 +0000 |
commit | 79a519c04743df1e04df149f357dc417d18fea3c (patch) | |
tree | 329bac8c02a4b1b431f18da02bf8ec0279e01850 /src/build.c | |
parent | 24f1eb74c860d60782a9149a23f8f6b295b61b87 (diff) | |
download | sqlite-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.c | 8 |
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{ |