diff options
author | drh <drh@noemail.net> | 2004-10-31 02:22:47 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2004-10-31 02:22:47 +0000 |
commit | b7f9164e98fa24ae6995c99dd792836b81ccc91d (patch) | |
tree | f55e787ff88094cfad5dd4abf2a6230ae5e5f4ee /src/delete.c | |
parent | 27d258a3ec1cf88e2a9104650bb6221215ea4d76 (diff) | |
download | sqlite-b7f9164e98fa24ae6995c99dd792836b81ccc91d.tar.gz sqlite-b7f9164e98fa24ae6995c99dd792836b81ccc91d.zip |
Insert #ifdefs that can optionally remove features at compiletime resulting
in a database engine with a smaller footprint. (CVS 2034)
FossilOrigin-Name: be661acfa849bb0d5692797dd221f5a8a457f8ad
Diffstat (limited to 'src/delete.c')
-rw-r--r-- | src/delete.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/delete.c b/src/delete.c index d6d4cd733..e9b2bf707 100644 --- a/src/delete.c +++ b/src/delete.c @@ -12,7 +12,7 @@ ** This file contains C code routines that are called by the parser ** to handle DELETE FROM statements. ** -** $Id: delete.c,v 1.83 2004/10/22 20:29:22 drh Exp $ +** $Id: delete.c,v 1.84 2004/10/31 02:22:49 drh Exp $ */ #include "sqliteInt.h" @@ -104,12 +104,28 @@ void sqlite3DeleteFrom( */ pTab = sqlite3SrcListLookup(pParse, pTabList); if( pTab==0 ) goto delete_from_cleanup; + + /* Figure out if we have any triggers and if the table being + ** deleted from is a view + */ +#ifndef SQLITE_OMIT_TRIGGER before_triggers = sqlite3TriggersExist(pParse, pTab->pTrigger, TK_DELETE, TK_BEFORE, TK_ROW, 0); after_triggers = sqlite3TriggersExist(pParse, pTab->pTrigger, TK_DELETE, TK_AFTER, TK_ROW, 0); row_triggers_exist = before_triggers || after_triggers; isView = pTab->pSelect!=0; +#else +# define before_triggers 0 +# define after_triggers 0 +# define row_triggers_exist 0 +# define isView 0 +#endif +#ifdef SQLITE_OMIT_VIEW +# undef isView +# define isView 0 +#endif + if( sqlite3IsReadOnly(pParse, pTab, before_triggers) ){ goto delete_from_cleanup; } |