]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a faulty assert() in the compound select code generator.
authordrh <drh@noemail.net>
Thu, 16 Apr 2015 14:33:35 +0000 (14:33 +0000)
committerdrh <drh@noemail.net>
Thu, 16 Apr 2015 14:33:35 +0000 (14:33 +0000)
FossilOrigin-Name: 9d336be1b16aa9bd5c9e4132bb645874993c7d96

manifest
manifest.uuid
src/select.c

index e9c5d46443ce96fc612a235d28de00edcb81f1f2..86969a411cf060f4f5097e574c5350bee7571703 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Improvements\sto\sthe\sway\sVALUES\sclauses\sare\sparsed.
-D 2015-04-16T14:13:12.394
+C Fix\sa\sfaulty\sassert()\sin\sthe\scompound\sselect\scode\sgenerator.
+D 2015-04-16T14:33:35.359
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5f78b1ab81b64e7c57a75d170832443e66c0880a
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -230,7 +230,7 @@ F src/printf.c 08fa675c200aac29e561c6153f91f909ed17612f
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c 66cfe49a9c3b449ef13b89a8c47036a4ed167eab
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
-F src/select.c e24bd1a7b6bf2256cf8df115d01e308c94ad9c05
+F src/select.c b7b91db829464db6ebba4cd6a878a0ef688b847d
 F src/shell.c 72b61a9d41ba12b67ea06fe9267abcc012c6c5bb
 F src/sqlite.h.in ca27603a36fcacdaac5a19d8ee35aaff8ce8516f
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
@@ -1250,7 +1250,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 7c0deed25762a954c78d98412d8f4a265a437d06
-R 611a860661173119865e499e8c5f5052
+P ec5a493ad27593ca78899b3001630c1898b940ff
+R 11ac4c431272562d678d3132e12f4ff6
 U drh
-Z f1f791a01fc19f4f892a113c0900910a
+Z 9969aaea0bee219926e4d05bec4ccd67
index c43e82716426c8bf6dae7018f586422c4be1cabc..523f920fa32a0a7efdcf47672b9f7d280827b3dc 100644 (file)
@@ -1 +1 @@
-ec5a493ad27593ca78899b3001630c1898b940ff
\ No newline at end of file
+9d336be1b16aa9bd5c9e4132bb645874993c7d96
\ No newline at end of file
index 298ad90a1cc3366071dd65c4a7c0f9c4192f0031..c7c7095032b067570cc0a89d69e51efdfb46f6ca 100644 (file)
@@ -2859,8 +2859,10 @@ static int multiSelectOrderBy(
   if( aPermute ){
     struct ExprList_item *pItem;
     for(i=0, pItem=pOrderBy->a; i<nOrderBy; i++, pItem++){
-      assert( pItem->u.x.iOrderByCol>0
-          && pItem->u.x.iOrderByCol<=p->pEList->nExpr );
+      assert( pItem->u.x.iOrderByCol>0 );
+      /* assert( pItem->u.x.iOrderByCol<=p->pEList->nExpr ) is also true
+      ** but only for well-formed SELECT statements. */
+      testcase( pItem->u.x.iOrderByCol > p->pEList->nExpr );
       aPermute[i] = pItem->u.x.iOrderByCol - 1;
     }
     pKeyMerge = multiSelectOrderByKeyInfo(pParse, p, 1);