]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove some if() conditions that are always true from delete.c. (CVS 5843)
authordanielk1977 <danielk1977@noemail.net>
Mon, 27 Oct 2008 08:24:38 +0000 (08:24 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Mon, 27 Oct 2008 08:24:38 +0000 (08:24 +0000)
FossilOrigin-Name: 297ad90dd3a69002e6e4175e9e3938b3a627574d

manifest
manifest.uuid
src/delete.c

index 7dd3f770160f975b4bc4f5600b63e36278c9788d..22f03526b0c427aee1c971bdfe6460a2c90a1021 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\sunused\sparameter\sfrom\sfunction\srtreeInit()\s(part\sof\sthe\sr-tree\sextension).\s(CVS\s5842)
-D 2008-10-25T17:10:10
+C Remove\ssome\sif()\sconditions\sthat\sare\salways\strue\sfrom\sdelete.c.\s(CVS\s5843)
+D 2008-10-27T08:24:38
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 3fe17eccd87d385b5adc9766828716cfdd154d6b
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -106,7 +106,7 @@ F src/build.c d6d55f97abcb6f17ac3e9e7a1dd8c0db67db34fd
 F src/callback.c e970e5beddbdb23f89a6d05cb1a6419d9f755624
 F src/complete.c cb14e06dbe79dee031031f0d9e686ff306afe07c
 F src/date.c 6f4277fa56d8c1b8e70c0bde838c9e99609f5ec0
-F src/delete.c d3f2adfdd07e701115a111cc81dca33ed6039d10
+F src/delete.c 8bb079e098c0d154f0469062ddbc8237d1cc0b55
 F src/expr.c 2b1945314fdc661fb04306cb86bd8516cfd12d4a
 F src/fault.c dc88c821842157460750d2d61a8a8b4197d047ff
 F src/func.c 8431b40a7843d1024145684d303c55b4ee087bbe
@@ -651,7 +651,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 1fa3bbd8220ce073e91935ea362b6f5d5d6d2859
-R dae93994bda0f30e07a5f49b4bf52661
+P 3224ea59812d0f3b5685bd92751054b81e3b681e
+R ba54cbfc3be9ecc00ba76b8e1609779a
 U danielk1977
-Z 7aae3acdac273e44b3563e1dd3d963ab
+Z ccda3a5856c2017497ad6a21acb2893e
index 8b87b3000d9b9fde8c99aeffc4f467f60c23c4d4..958e7b8d26b416ffb6600932903b279d591a3f8d 100644 (file)
@@ -1 +1 @@
-3224ea59812d0f3b5685bd92751054b81e3b681e
\ No newline at end of file
+297ad90dd3a69002e6e4175e9e3938b3a627574d
\ No newline at end of file
index 0c0666529b54c82935560cf346104ce229989e1a..ef036cba921eba9f3b3d2cb3a8ad4500b0fd1105 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** in order to generate code for DELETE FROM statements.
 **
-** $Id: delete.c,v 1.182 2008/10/10 23:48:26 drh Exp $
+** $Id: delete.c,v 1.183 2008/10/27 08:24:38 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 
@@ -284,6 +284,7 @@ void sqlite3DeleteFrom(
   if( sqlite3AuthCheck(pParse, SQLITE_DELETE, pTab->zName, 0, zDb) ){
     goto delete_from_cleanup;
   }
+  assert(!isView || triggers_exist);
 
   /* If pTab is really a view, make sure it has been initialized.
   */
@@ -370,27 +371,24 @@ void sqlite3DeleteFrom(
   ** this means that the row change count will be incorrect.
   */
   if( pWhere==0 && !triggers_exist && !IsVirtual(pTab) ){
+    assert( !isView );
     if( db->flags & SQLITE_CountRows ){
       /* If counting rows deleted, just count the total number of
       ** entries in the table. */
       int addr2;
-      if( !isView ){
-        sqlite3OpenTable(pParse, iCur, iDb, pTab, OP_OpenRead);
-      }
+      sqlite3OpenTable(pParse, iCur, iDb, pTab, OP_OpenRead);
       sqlite3VdbeAddOp2(v, OP_Rewind, iCur, sqlite3VdbeCurrentAddr(v)+2);
       addr2 = sqlite3VdbeAddOp2(v, OP_AddImm, memCnt, 1);
       sqlite3VdbeAddOp2(v, OP_Next, iCur, addr2);
       sqlite3VdbeAddOp1(v, OP_Close, iCur);
     }
-    if( !isView ){
-      sqlite3VdbeAddOp2(v, OP_Clear, pTab->tnum, iDb);
-      if( !pParse->nested ){
-        sqlite3VdbeChangeP4(v, -1, pTab->zName, P4_STATIC);
-      }
-      for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
-        assert( pIdx->pSchema==pTab->pSchema );
-        sqlite3VdbeAddOp2(v, OP_Clear, pIdx->tnum, iDb);
-      }
+    sqlite3VdbeAddOp2(v, OP_Clear, pTab->tnum, iDb);
+    if( !pParse->nested ){
+      sqlite3VdbeChangeP4(v, -1, pTab->zName, P4_STATIC);
+    }
+    for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
+      assert( pIdx->pSchema==pTab->pSchema );
+      sqlite3VdbeAddOp2(v, OP_Clear, pIdx->tnum, iDb);
     }
   }else
 #endif /* SQLITE_OMIT_TRUNCATE_OPTIMIZATION */