]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bug in LIMIT 0 for compound SELECT statement.
authordrh <drh@noemail.net>
Fri, 20 Nov 2009 16:13:15 +0000 (16:13 +0000)
committerdrh <drh@noemail.net>
Fri, 20 Nov 2009 16:13:15 +0000 (16:13 +0000)
The problem was introduced by recent enhancements and has not appeared
in any release.

FossilOrigin-Name: c6ed7e2a73a7a65cfa914ffcad4f603b6b7a22a8

manifest
manifest.uuid
src/select.c

index dd42d07acf084b069b7bc2bf9495950ecf927ef5..99158e45a638d1839014fee8fd59f06fb0395c17 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C If\sthe\sroot\spages\snumbers\sof\sthe\sinternal\sschema\sare\sadjusted\sdue\sto\s\nautovacuum\son\sa\sDROP\sTABLE\sstatement\sand\sthat\sstatement\slater\saborts\s(for\nexample,\sdue\sto\san\sOOM\serror)\sthen\sreset\sthe\sinternal\sschema\sat\sthe\nconclusion\sof\sthe\sstatement.\nPartial\sfix\sfor\sticket\s[564d412f15a].
-D 2009-11-20T15:02:34
+C Fix\sa\sbug\sin\sLIMIT\s0\sfor\scompound\sSELECT\sstatement.\nThe\sproblem\swas\sintroduced\sby\srecent\senhancements\sand\shas\snot\sappeared\nin\sany\srelease.
+D 2009-11-20T16:13:15
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 7f6c6aa7feeeb5e26e01b344161d9aa1b5d64177
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -165,7 +165,7 @@ F src/printf.c 03fabdd6112a0e23f78f8ac9a1396947ade0273b
 F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
 F src/resolve.c aa3cb21e1ecd905c071fce8fb64d1a166cefc239
 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
-F src/select.c a727f61f3267bfa20ce1c3e85d38dc2132db1060
+F src/select.c 2f9ed7482e7a25b0b127fc41693bbdbe1caf5647
 F src/shell.c f4948cb6d30665d755a6b5e0ec313d1094aab828
 F src/sqlite.h.in 4464e9772122f0447305d425e04d122b6f1bffec
 F src/sqlite3ext.h 69dfb8116af51b84a029cddb3b35062354270c89
@@ -775,14 +775,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 9a429349ccc2fa9acd28365a86578f602e87dafb
-R 98fcdb3bebf5cd6b5539291ec5159fa2
+P e493b093f8ca722c3160b32a16fb615023978dc9
+R 5ec1b2582562a57f9f564d3489d61dc3
 U drh
-Z d921d0e136eadcd906a3ecc76e7083b9
+Z 1a324a1c90a5bbddcb009087c1541226
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFLBq+NoxKgR168RlERAuHoAJ4xcaWqbV9st4vnlQ8SbWQTMKFcKACgiAlE
-s6FOzlbJpHpo7yi7MLuMesw=
-=HELf
+iD8DBQFLBsAeoxKgR168RlERAjHuAJ9QJtWD6T56mccvLQ1ITcoNvvNpMwCfZr52
+Jqb5eUds3ueWwA0ZJsx59YQ=
+=bz6Y
 -----END PGP SIGNATURE-----
index 48d0393e3e2cd83e52252509a8eda52ee6bc8b0e..85c9ff8d570ce410371c0bfa900f56468baed45c 100644 (file)
@@ -1 +1 @@
-e493b093f8ca722c3160b32a16fb615023978dc9
\ No newline at end of file
+c6ed7e2a73a7a65cfa914ffcad4f603b6b7a22a8
\ No newline at end of file
index d6b7c0bdb9b9b6ad8db4fc2bc4af80de9f1d6810..7555a391c2504e6e2d4183a9cba5c89239b3f3fe 100644 (file)
@@ -1323,11 +1323,10 @@ static void computeLimitRegisters(Parse *pParse, Select *p, int iBreak){
     v = sqlite3GetVdbe(pParse);
     if( NEVER(v==0) ) return;  /* VDBE should have already been allocated */
     if( sqlite3ExprIsInteger(p->pLimit, &n) ){
+      sqlite3VdbeAddOp2(v, OP_Integer, n, iLimit);
+      VdbeComment((v, "LIMIT counter"));
       if( n==0 ){
         sqlite3VdbeAddOp2(v, OP_Goto, 0, iBreak);
-      }else{
-        sqlite3VdbeAddOp2(v, OP_Integer, n, iLimit);
-        VdbeComment((v, "LIMIT counter"));
       }
     }else{
       sqlite3ExprCode(pParse, p->pLimit, iLimit);