]> 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 16:22:27 +0000 (16:22 +0000)
committerdrh <drh@noemail.net>
Thu, 16 Apr 2015 16:22:27 +0000 (16:22 +0000)
FossilOrigin-Name: 10715b05f2201a63dca317f99ce39d3ce182e182

manifest
manifest.uuid
src/select.c
test/select4.test

index 2370ea266a18a7920201eee4ca54f846816f1409..8446774a73915d76dd496c76be21893b771f64e4 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Silently\signore\srequests\sto\schange\sthe\sPRAGMA\ssynchronous\ssetting\sto\san\nillegal\sinteger\svalue,\srather\sthan\sraising\san\sassertion.
-D 2015-04-16T16:04:39.846
+C Fix\sa\sfaulty\sassert()\sin\sthe\scompound-SELECT\scode\sgenerator.
+D 2015-04-16T16:22:27.087
 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 b7b91db829464db6ebba4cd6a878a0ef688b847d
+F src/select.c d66970749a9d5a5b04950c9a26d6d0ea1320f91b
 F src/shell.c 28b3e1174a7fc00155d7d00880a33589a88508c9
 F src/sqlite.h.in ca27603a36fcacdaac5a19d8ee35aaff8ce8516f
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
@@ -839,7 +839,7 @@ F test/securedel2.test 2d54c28e46eb1fd6902089958b20b1b056c6f1c5
 F test/select1.test 53c3a5228b099601eafc7f3cc0e9cd682b07d9d5
 F test/select2.test 352480e0e9c66eda9c3044e412abdf5be0215b56
 F test/select3.test 2ce595f8fb8e2ac10071d3b4e424cadd4634a054
-F test/select4.test d4330ee0e24e52fa21c62c6bbf999dbfcbb7dfd0
+F test/select4.test 4b2df48129369a2a426f0f710fb94c50f75b31fb
 F test/select5.test e758b8ef94f69b111df4cb819008856655dcd535
 F test/select6.test 39eac4a5c03650b2b473c532882273283ee8b7a0
 F test/select7.test 7fd2ef598cfabb6b9ff6ac13973b91d0527df49d
@@ -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 928f973ca9adc7933015b2fb6b6fcb8e3154cb9c
-R f9e99024211f275c6c5be92b169c1ffa
+P e0a88176fcfbed7b554a036948261a332c920053
+R 0b75ab69a90f92b9d27a639039ba6734
 U drh
-Z 092fd595f2813758c3267ca51aac5606
+Z 2a30576e418c5afefa31fbc64fb3a4fe
index 91ff8f2a2e3bf1790c62f8a3c0e99dd8ee9cd23a..7c6fbacdd33c5ddec6ad793db99daaf77fb9c961 100644 (file)
@@ -1 +1 @@
-e0a88176fcfbed7b554a036948261a332c920053
\ No newline at end of file
+10715b05f2201a63dca317f99ce39d3ce182e182
\ No newline at end of file
index c7c7095032b067570cc0a89d69e51efdfb46f6ca..e4e5d6da8de0f87efd3e13342b0ba11b8a97487f 100644 (file)
@@ -2628,7 +2628,7 @@ static int generateOutputSubroutine(
     ** of the scan loop.
     */
     case SRT_Mem: {
-      assert( pIn->nSdst==1 );
+      assert( pIn->nSdst==1 || pParse->nErr>0 );  testcase( pIn->nSdst!=1 );
       sqlite3ExprCodeMove(pParse, pIn->iSdst, pDest->iSDParm, 1);
       /* The LIMIT clause will jump out of the loop for us */
       break;
index ce09ba71d4d5d06e1f7aca0c93aefddee327ff97..7718901c0cb1ad7ce7089a66f606fafae51ef37c 100644 (file)
@@ -118,6 +118,10 @@ do_test select4-1.3 {
   }} msg]
   lappend v $msg
 } {1 {ORDER BY clause should come after UNION ALL not before}}
+do_catchsql_test select4-1.4 {
+  SELECT (VALUES(0) INTERSECT SELECT(0) UNION SELECT(0) ORDER BY (0) UNION
+          SELECT 0 UNION SELECT 0 ORDER BY 1);
+} {1 {ORDER BY clause should come after UNION not before}}
 
 # Union operator
 #