]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Deal with an OOM condition while processing aggregate ORDER BYs.
authordrh <>
Wed, 18 Oct 2023 22:27:59 +0000 (22:27 +0000)
committerdrh <>
Wed, 18 Oct 2023 22:27:59 +0000 (22:27 +0000)
FossilOrigin-Name: b6d44427ec0184880ad14919667e2f526777c5085ffa636f6734cb5951a31225

manifest
manifest.uuid
src/select.c

index 0fae9862b8a1edd8dece2bc866935afaa82d987c..b7c394baed75f23d37ed3a1d60058957b003c50d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Make\ssure\sall\sterms\sof\sthe\sORDER\sBY\swithin\san\saggregate\sgo\sthrough\saggregate\nanalysis.\s\sDo\snot\sattach\san\saggregate\sORDER\sBY\sto\sa\swindow\sfunction.
-D 2023-10-18T22:03:48.889
+C Deal\swith\san\sOOM\scondition\swhile\sprocessing\saggregate\sORDER\sBYs.
+D 2023-10-18T22:27:59.265
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -718,7 +718,7 @@ F src/printf.c 9da63b9ae1c14789bcae12840f5d800fd9302500cd2d62733fac77f0041b4750
 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c 77d07bcec1b3101ce36ebf4aa04dd0340e77cbfc4f31bd1a6e43fcd2db904626
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
-F src/select.c 12733c8abdfffa7d383830a258885eeccc32b10eedbe068edd3137b1b05b3b1a
+F src/select.c 9b6fd8e12eb607013d32c41448521495e0f6ee65be13076eca56418f36606241
 F src/shell.c.in cf0a3387c5bb05ca2fe6073fa7df21aaa11e749ca5b3846b80b586a447e728aa
 F src/sqlite.h.in 60e5698417e674f44be17d5ceeb4c2d395ccedba18d6de05435dec0135d9eff1
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@@ -2133,8 +2133,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 6cccf86c362631ada0c6cbaf661520648f8bbf7ae2b137b3d7d959647387e5c2
-R 67ae4f4c3cb6848472e4d3dd82fce25b
+P 16f3805514a741405f70e0ee3b5a6b67720bc75719372e82daa4136fe411ea2b
+R 6802737776ac151bb19cf65ccd4a04fb
 U drh
-Z dc2e81b0f2992d3e49cb5d6bc5c317b5
+Z 63e8f8ba6a775006c8b7c4fe41a1d182
 # Remove this line to create a well-formed Fossil manifest.
index 03d4b453fdb1d99e2dc53a6346d0924195d26486..dde82f9eb8ddb8d8e7acc4114f8b070f011c5b0a 100644 (file)
@@ -1 +1 @@
-16f3805514a741405f70e0ee3b5a6b67720bc75719372e82daa4136fe411ea2b
\ No newline at end of file
+b6d44427ec0184880ad14919667e2f526777c5085ffa636f6734cb5951a31225
\ No newline at end of file
index 05aeb42e05012f9dcdd9a18c5d60bd6c657e9d0e..69e22ba3efe5022b7f27c375ab967b100fde9436 100644 (file)
@@ -6669,7 +6669,7 @@ static void resetAccumulator(Parse *pParse, AggInfo *pAggInfo){
         nExtra += pFunc->pFExpr->x.pList->nExpr;
       }
       pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pOBList, 0, nExtra);
-      if( !pFunc->bOBUnique ){
+      if( !pFunc->bOBUnique && pParse->nErr==0 ){
         pKeyInfo->nKeyField++;
       }
       sqlite3VdbeAddOp4(v, OP_OpenEphemeral,