]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
An ORDER BY clause can slip into an SRT_Upfrom query via the query
authordrh <drh@noemail.net>
Thu, 23 Jul 2020 14:12:47 +0000 (14:12 +0000)
committerdrh <drh@noemail.net>
Thu, 23 Jul 2020 14:12:47 +0000 (14:12 +0000)
flattener, even without the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time
option.  So always enable the code to deal with that case.

FossilOrigin-Name: 6a3111cd0693bb51191d55a32ecd436341638d54ecb2df0778de681b4969241b

manifest
manifest.uuid
src/select.c

index 6c11c9c22cbdd31534bcaa4f55794b6319b0854d..ed9f0407481c1db6b5c0195902caa90dad2e72cd 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,6 +1,6 @@
 B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
-C Fix\sanother\scase\swhere\sa\scorrupt\srecord\scould\scause\san\sassert()\sto\sfail\sin\sfts3.
-D 2020-07-23T13:45:47.044
+C An\sORDER\sBY\sclause\scan\sslip\sinto\san\sSRT_Upfrom\squery\svia\sthe\squery\nflattener,\seven\swithout\sthe\sSQLITE_ENABLE_UPDATE_DELETE_LIMIT\scompile-time\noption.\s\sSo\salways\senable\sthe\scode\sto\sdeal\swith\sthat\scase.
+D 2020-07-23T14:12:47.461
 F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806
 F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574
 F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
@@ -29,7 +29,7 @@ F src/parse.y 5bdb760a29c0b25caf7e80e82210b81cd2ea3066d5199ca29e6eac40b34bc184
 F src/pragma.c d96ce48697d6a1d9b4fe9b1d624a62745488ecceaab702941d1c7b9f85ced8d5
 F src/pragma.h 8dc78ab7e9ec6ce3ded8332810a2066f1ef6267e2e03cd7356ee00276125c6cf
 F src/resolve.c 2dd6821aac2cd27de9fcf6aa6d1f8c41b4b5841c9bc58bf1c9109008009a3a2e
-F src/select.c 39c6b63d996f9a24b34d2ccf38f67a7283355056011c2bb1b135daed7a715cf5
+F src/select.c 860ee5f1a72e8d4bfa76f5115eb9ae6862be77561130192b7ec6a7e0d72aa3a8
 F src/shell.c.in 352a0a6399ccae40a30f72ea06f52f3791a062bde9b8929a97f345e1584ba310
 F src/sqliteInt.h e07f073568a07e6b96c99a08ec650e2dd88a3a3229dbaeb0ed09a5f1b215e405
 F src/test1.c fe56c4bcaa2685ca9aa25d817a0ee9345e189aff4a5a71a3d8ba946c7776feb8
@@ -73,7 +73,7 @@ F tool/mksqlite3c.tcl f4ef476510eca4124c874a72029f1e01bc54a896b1724e8f9eef0d8bfa
 F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
 F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564
 F tool/speed-check.sh 615cbdf50f1409ef3bbf9f682e396df80f49d97ed93ed3e61c8e91fae6afde58
-P 65dd321432e8f80bc1cb11be8ca06656b41ac997a74a5eb271c797cf0fbb764e
-R f9a13ea428ee03cdd1b9a50a26aa3366
-U dan
-Z 5e6e488fc0c7fab53624bbe30255a98f
+P 28515bbbae4fbc260457dea7a0f7414be1837d6db27fec5514f8da358bfc1f0c
+R 796f4eb68aea986a8f73e6e51252aacd
+U drh
+Z c1de31883a1f8f457abd5c3040dd5d2f
index 906a0736a6301c432ba589fc5ca5221cea0683b6..44b233273c9f7ec8caaec13b0917953dc1a851f6 100644 (file)
@@ -1 +1 @@
-28515bbbae4fbc260457dea7a0f7414be1837d6db27fec5514f8da358bfc1f0c
\ No newline at end of file
+6a3111cd0693bb51191d55a32ecd436341638d54ecb2df0778de681b4969241b
\ No newline at end of file
index ebb764573e1a39f7e8de487ea2aca73ec3d04bb7..763b2541259ec13f29c546b08c34908128393473 100644 (file)
@@ -1129,13 +1129,10 @@ static void selectInnerLoop(
     }
 
     case SRT_Upfrom: {
-#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
       if( pSort ){
         pushOntoSorter(
             pParse, pSort, p, regResult, regOrig, nResultCol, nPrefixReg);
-      }else
-#endif
-      {
+      }else{
         int i2 = pDest->iSDParm2;
         int r1 = sqlite3GetTempReg(pParse);
 
@@ -1587,7 +1584,6 @@ static void generateSortTail(
       break;
     }
 #endif
-#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
     case SRT_Upfrom: {
       int i2 = pDest->iSDParm2;
       int r1 = sqlite3GetTempReg(pParse);
@@ -1599,7 +1595,6 @@ static void generateSortTail(
       }
       break;
     }
-#endif
     default: {
       assert( eDest==SRT_Output || eDest==SRT_Coroutine ); 
       testcase( eDest==SRT_Output );