]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove some redundant code: Call sqlite3ResolveExprListNames() rather than
authordrh <drh@noemail.net>
Mon, 24 Aug 2015 20:54:06 +0000 (20:54 +0000)
committerdrh <drh@noemail.net>
Mon, 24 Aug 2015 20:54:06 +0000 (20:54 +0000)
calling sqlite3ResolveExprNames() in a loop - in two places.

FossilOrigin-Name: bdaf66465b6b1bdad10c08d9527b98e7000a41e4

manifest
manifest.uuid
src/insert.c
src/resolve.c

index bc354b2e9254d5225ee2ff3d7ffc61c1eb7e0dae..9efff535b2cb17c54cc7ccd708c85910371fde76 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Enhances\sthe\sparser\sso\sthat\sit\saccepts\sarbitrary\sexpressions\sfor\sthe\sarguments\nof\san\sindex,\sthough\sthe\scode\sgenerator\sstill\srejects\severything\sother\sthan\nsimple\scolumn\snames.\s\sThe\ssqlite3RestrictColumnListSyntax()\sroutine\sis\sremoved\nsince\sthat\sfeature\sis\snow\shandled\sby\sthe\sparser.
-D 2015-08-24T20:21:20.985
+C Remove\ssome\sredundant\scode:\s\sCall\ssqlite3ResolveExprListNames()\srather\sthan\ncalling\ssqlite3ResolveExprNames()\sin\sa\sloop\s-\sin\stwo\splaces.
+D 2015-08-24T20:54:06.120
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in e2218eb228374422969de7b1680eda6864affcef
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -297,7 +297,7 @@ F src/global.c 508e4087f7b41d688e4762dcf4d4fe28cfbc87f9
 F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
 F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
-F src/insert.c 842026863c726df5420f896a8c10eb3e150f9864
+F src/insert.c ad9ebaafdc4438bb0de58cd7d6bc199fb5b6917a
 F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
 F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
 F src/lempar.c 92bafa308607dd985ca389a788cd9e0a2b608712
@@ -335,7 +335,7 @@ F src/pragma.h 631a91c8b0e6ca8f051a1d8a4a0da4150e04620a
 F src/prepare.c 82e5db1013846a819f198336fed72c44c974e7b1
 F src/printf.c 2bc439ff20a4aad0e0ad50a37a67b5eae7d20edc
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
-F src/resolve.c 7a67cd2aebc9a9eeecd1d104eb6a9237388eb452
+F src/resolve.c 66b2740075fdb8baf90155180d33d9850cbcc976
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
 F src/select.c da6d1e7a4f1c8d713ed5415b5ed21d82ef465c0f
 F src/shell.c b1f91e60918df3a68efad1e3a11696b9a7e23d23
@@ -1379,7 +1379,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P d794b34da6f9c77dfe17773b0b17b22de72cce7f
-R 551ba7ed9667cd3021493a6e99ba80fb
+P bed42116addabcf3dfdc2e2d51ae183965704988
+R 455d327d4502b1aadc3594ff31ef63f2
 U drh
-Z 12005a1b68dc81ba8d64d2d3b63a147c
+Z 983b791d1ba8013f2148572b484fe05d
index defc8a532935d3475bae205f22ecbf468dae3a2d..96012b923f46b3bdd614525f45e87f9376984b70 100644 (file)
@@ -1 +1 @@
-bed42116addabcf3dfdc2e2d51ae183965704988
\ No newline at end of file
+bdaf66465b6b1bdad10c08d9527b98e7000a41e4
\ No newline at end of file
index 05d84df844f401836cd8a14d17ae4a999f027142..839599438c2135022af60f7085f22d0bcc540c2f 100644 (file)
@@ -705,11 +705,13 @@ void sqlite3Insert(
     sNC.pParse = pParse;
     srcTab = -1;
     assert( useTempTable==0 );
-    nColumn = pList ? pList->nExpr : 0;
-    for(i=0; i<nColumn; i++){
-      if( sqlite3ResolveExprNames(&sNC, pList->a[i].pExpr) ){
+    if( pList ){
+      nColumn = pList->nExpr;
+      if( sqlite3ResolveExprListNames(&sNC, pList) ){
         goto insert_cleanup;
       }
+    }else{
+      nColumn = 0;
     }
   }
 
index c859e886a78d1b6d84debdc9af207a89dee47cf5..4ef8fe051b5c765c4a0fb470dd2473addec33f05 100644 (file)
@@ -1507,7 +1507,6 @@ void sqlite3ResolveSelfReference(
 ){
   SrcList sSrc;                   /* Fake SrcList for pParse->pNewTable */
   NameContext sNC;                /* Name context for pParse->pNewTable */
-  int i;                          /* Loop counter */
 
   assert( type==NC_IsCheck || type==NC_PartIdx );
   memset(&sNC, 0, sizeof(sNC));
@@ -1520,11 +1519,5 @@ void sqlite3ResolveSelfReference(
   sNC.pSrcList = &sSrc;
   sNC.ncFlags = type;
   if( sqlite3ResolveExprNames(&sNC, pExpr) ) return;
-  if( pList ){
-    for(i=0; i<pList->nExpr; i++){
-      if( sqlite3ResolveExprNames(&sNC, pList->a[i].pExpr) ){
-        return;
-      }
-    }
-  }
+  if( pList ) sqlite3ResolveExprListNames(&sNC, pList);
 }