From: drh Date: Thu, 30 Jan 2014 14:10:00 +0000 (+0000) Subject: Update a requirement mark and add some additional test cases to cover X-Git-Tag: version-3.8.3~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a88aca5442e8849a65c256f192da2d80b0571e71;p=thirdparty%2Fsqlite.git Update a requirement mark and add some additional test cases to cover the requirement associated with ORDER BY and LIMIT on compound SELECT statements. FossilOrigin-Name: 8560091e85f2f99a24810648868bf2e081c32698 --- diff --git a/manifest b/manifest index 67bd849e56..d1099a7749 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Enhance\sthe\sMSVC\smakefile\sfor\sbetter\sdebugging\ssymbol\ssupport. -D 2014-01-30T12:45:32.815 +C Update\sa\srequirement\smark\sand\sadd\ssome\sadditional\stest\scases\sto\scover\nthe\srequirement\sassociated\swith\sORDER\sBY\sand\sLIMIT\son\scompound\sSELECT\nstatements. +D 2014-01-30T14:10:00.638 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -444,7 +444,7 @@ F test/e_fts3.test 5c02288842e4f941896fd44afdef564dd5fc1459 F test/e_insert.test 1e44f84d2abe44d66e4fbf198be4b20e3cc724a0 F test/e_reindex.test 396b7b4f0a66863b4e95116a67d93b227193e589 F test/e_resolve.test dcce9308fb13b934ce29591105d031d3e14fbba6 -F test/e_select.test 51c062a9bda16e0ae1bbeed50806bedbd040b282 +F test/e_select.test 5ea777ed64da80e9555c899418147545672d79e0 F test/e_select2.test aceb80ab927d46fba5ce7586ebabf23e2bb0604f F test/e_update.test 312cb8f5ccfe41515a6bb092f8ea562a9bd54d52 F test/e_uri.test a2c92d80093a7efdcfbb11093651cbea87097b6b @@ -1152,7 +1152,7 @@ F tool/vdbe-compress.tcl 0cf56e9263a152b84da86e75a5c0cdcdb7a47891 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P b222b61a98dc1f3c2c48ea06efe7d82d9fcf4d75 c723ec2784d6b60c9781a435c84800b2bc7818d5 -R e369e7ab83fcd9b334788d3ecd6a9d15 -U mistachkin -Z 2464332c499b43b0d44ce106a9540b46 +P c9bef0f29a5a7f04914d80e58105104babd4168c +R ae529b38795c843e83dc18ea74bfef1b +U drh +Z 79880c6c4300891d14acd2d52b2dcd6c diff --git a/manifest.uuid b/manifest.uuid index 26473fc0db..772abde600 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c9bef0f29a5a7f04914d80e58105104babd4168c \ No newline at end of file +8560091e85f2f99a24810648868bf2e081c32698 \ No newline at end of file diff --git a/test/e_select.test b/test/e_select.test index 58b8987ba6..4822df5f0b 100644 --- a/test/e_select.test +++ b/test/e_select.test @@ -1371,8 +1371,9 @@ foreach {tn select op1 op2} { do_catchsql_test e_select-7.2.$tn $select [list 1 $err] } -# EVIDENCE-OF: R-22874-32655 ORDER BY and LIMIT clauses may only occur -# at the end of the entire compound SELECT. +# EVIDENCE-OF: R-45440-25633 ORDER BY and LIMIT clauses may only occur +# at the end of the entire compound SELECT, and then only if the final +# element of the compound is not a VALUES clause. # foreach {tn select} { 1 "SELECT * FROM j1 UNION ALL SELECT * FROM j2,j3 ORDER BY a" @@ -1384,6 +1385,7 @@ foreach {tn select} { 7 "SELECT * FROM j1 UNION SELECT * FROM j2,j3 ORDER BY a" 8 "SELECT count(*) FROM j1 UNION SELECT max(e) FROM j2 ORDER BY 1" + 8b "VALUES('8b') UNION SELECT max(e) FROM j2 ORDER BY 1" 9 "SELECT count(*), * FROM j1 UNION SELECT *,* FROM j2 ORDER BY 1,2,3" 10 "SELECT * FROM j1 UNION SELECT * FROM j2,j3 LIMIT 10" 11 "SELECT * FROM j1 UNION SELECT * FROM j2,j3 LIMIT 10 OFFSET 5" @@ -1405,6 +1407,14 @@ foreach {tn select} { } { do_test e_select-7.3.$tn { catch {execsql $select} msg } 0 } +foreach {tn select} { + 50 "SELECT * FROM j1 ORDER BY 1 UNION ALL SELECT * FROM j2,j3" + 51 "SELECT * FROM j1 LIMIT 1 UNION ALL SELECT * FROM j2,j3" + 52 "SELECT count(*) FROM j1 UNION ALL VALUES(11) ORDER BY 1" + 53 "SELECT count(*) FROM j1 UNION ALL VALUES(11) LIMIT 1" +} { + do_test e_select-7.3.$tn { catch {execsql $select} msg } 1 +} # EVIDENCE-OF: R-08531-36543 A compound SELECT created using UNION ALL # operator returns all the rows from the SELECT to the left of the UNION