]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove an ALWAYS() that can sometimes be false. Add a test case that makes
authordrh <>
Tue, 11 Apr 2023 15:06:20 +0000 (15:06 +0000)
committerdrh <>
Tue, 11 Apr 2023 15:06:20 +0000 (15:06 +0000)
the test false.

FossilOrigin-Name: c8fb143d64d8e823684cd26799080da4b42bef121ca3c6315b1803a593490926

manifest
manifest.uuid
src/expr.c
test/window1.test

index 7c725fd7481c82ec7cecec9b0ab229b4e7e5bd0d..2be8f39913d24a89d2bcea662f0dab1105112e23 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Better\shandling\sof\sOOM\serrors\sin\sthe\scursor-hint\slogic.\ndbsqlfuzz\s60cd5fff91974af91c2c3692beb4a2d7fdafef46
-D 2023-04-11T02:10:34.486
+C Remove\san\sALWAYS()\sthat\scan\ssometimes\sbe\sfalse.\s\sAdd\sa\stest\scase\sthat\smakes\nthe\stest\sfalse.
+D 2023-04-11T15:06:20.059
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -575,7 +575,7 @@ F src/date.c f21815ca7172ce073db3163ac54c8d9f2841077165c1a6123b4d1c376a0c7ec7
 F src/dbpage.c f3eea5f7ec47e09ee7da40f42b25092ecbe961fc59566b8e5f705f34335b2387
 F src/dbstat.c ec92074baa61d883de58c945162d9e666c13cd7cf3a23bc38b4d1c4d0b2c2bef
 F src/delete.c a9c6d3f51c0a31e9b831e0a0580a98d702904b42d216fee530940e40dec34873
-F src/expr.c 067ed64192802739d2a6d4f4ecab5773874c0602dadce89a8b941f46eaddc7ac
+F src/expr.c 86f843dba99f1d60836b0b9fa7f595ff2723d902416a4c7749217e950160f17c
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 F src/fkey.c 722f20779f5342a787922deded3628d8c74b5249cab04098cf17ee2f2aaff002
 F src/func.c d187be57a886ddf4e6b7ef584a494361899be3df5eee6d4a747b68ff4aff4122
@@ -1902,7 +1902,7 @@ F test/win32heap.test 10fd891266bd00af68671e702317726375e5407561d859be1aa04696f2
 F test/win32lock.test e0924eb8daac02bf80e9da88930747bd44dd9b230b7759fed927b1655b467c9c
 F test/win32longpath.test 4baffc3acb2e5188a5e3a895b2b543ed09e62f7c72d713c1feebf76222fe9976
 F test/win32nolock.test ac4f08811a562e45a5755e661f45ca85892bdbbc
-F test/window1.test 67aaef6e01e8d8fb3f89aa440e8c8045dbfd3c6f21628a6d7bad2b786c310d9b
+F test/window1.test c607e30741c034a1e88c104f97f107f07489f538a65c0f56ccce97e7a956065a
 F test/window2.tcl 492c125fa550cda1dd3555768a2303b3effbeceee215293adf8871efc25f1476
 F test/window2.test e466a88bd626d66edc3d352d7d7e1d5531e0079b549ba44efb029d1fbff9fd3c
 F test/window3.tcl acea6e86a4324a210fd608d06741010ca83ded9fde438341cb978c49928faf03
@@ -2052,8 +2052,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 529ab138a438379f0cbd170bff5211aee1c327a1b3119a714ee15f68fd2239f3
-R 2b073bb091f9647750fe13a7239467ad
+P 68fcfb58df837b40e401dfa4e505f4f0b87554b9cfeb2c527f3558348b73c1be
+R bc6a8cda8e023714aac7bd85583d4924
 U drh
-Z 5c099af3d555e42160813c7dd8f116af
+Z 2237c0728bfff0a59ab0f03de511e2c3
 # Remove this line to create a well-formed Fossil manifest.
index 4dd2051cc59144284f955868dbc2e1c4380ad304..d69c4529fb756fb44343a51d2c52ffd92e089b69 100644 (file)
@@ -1 +1 @@
-68fcfb58df837b40e401dfa4e505f4f0b87554b9cfeb2c527f3558348b73c1be
\ No newline at end of file
+c8fb143d64d8e823684cd26799080da4b42bef121ca3c6315b1803a593490926
\ No newline at end of file
index c3afdd1cba9441e8708775d804d711c4b136e359..00c67a4e682e7b1f2baa2a0237503fe206dab203 100644 (file)
@@ -6288,7 +6288,7 @@ static int agginfoPersistExprCb(Walker *pWalker, Expr *pExpr){
     sqlite3 *db = pParse->db;
     assert( iAgg>=0 );
     if( pExpr->op!=TK_AGG_FUNCTION ){
-      if( ALWAYS(iAgg<pAggInfo->nColumn)
+      if( iAgg<pAggInfo->nColumn
        && pAggInfo->aCol[iAgg].pCExpr==pExpr
       ){
         pExpr = sqlite3ExprDup(db, pExpr, 0);
index 59a933c4f6286f96eb42c86d2272477f11892b12..5678dbb89b106626d20123bca870d391a376996a 100644 (file)
@@ -2316,4 +2316,18 @@ do_execsql_test 74.4 {
      AND a1.c1=0;
 } {}
 
+# 2023-04-11 https://sqlite.org/forum/forumpost/6c5678e3da
+# An ALWAYS() turns out to be sometimes false.
+#
+do_execsql_test 75.0 {
+  DROP TABLE t1;
+  CREATE TABLE t1(a INT, b INT);
+  CREATE INDEX t1x ON t1(a+b);
+}
+do_catchsql_test 75.1 {
+  SELECT count((SELECT count(a0.a+a0.b) ORDER BY sum(0) OVER (PARTITION BY 0)))
+    FROM t1 AS a0 JOIN t1 AS a1
+   GROUP BY a1.a;
+} {1 {misuse of aggregate: count()}}
+
 finish_test