aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstephan <stephan@noemail.net>2025-03-10 17:35:00 +0000
committerstephan <stephan@noemail.net>2025-03-10 17:35:00 +0000
commite0fa42053fe1603de66d23a5a17d0147450d162d (patch)
tree35ee2c31902dfa65f35dc25c10715eef88170402
parentb37f8b97143b6796ef794edcf004014288c21923 (diff)
parent09eba154b235f35a710da1d0096d9e1b3d5bda04 (diff)
downloadsqlite-e0fa42053fe1603de66d23a5a17d0147450d162d.tar.gz
sqlite-e0fa42053fe1603de66d23a5a17d0147450d162d.zip
Merge trunk into the cygwin-fixes branch.
FossilOrigin-Name: f3d14433f24f89558e72a9085c950bc72440e9933d6b4ff59d6e603d25e39422
-rw-r--r--manifest14
-rw-r--r--manifest.uuid2
-rw-r--r--src/select.c7
-rw-r--r--test/walsetlk.test1
4 files changed, 15 insertions, 9 deletions
diff --git a/manifest b/manifest
index c7c40d462..119efea57 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Patch\san\sunnecessary\ssize_t-to-int\sconversion\swhich\swarns\son\ssome\scompilers.
-D 2025-03-10T15:35:43.346
+C Merge\strunk\sinto\sthe\scygwin-fixes\sbranch.
+D 2025-03-10T17:35:00.466
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -781,7 +781,7 @@ F src/printf.c 33fc0d7643c848a098afdcb6e1db6de12379d47084b1cd0912cfce1d09345e44
F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
F src/resolve.c 626c24b258b111f75c22107aa5614ad89810df3026f5ca071116d3fe75925c75
F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
-F src/select.c a076f7db3a0fcbd9f710d7746cfc07e0b3baadee45eb3136bedc29c598ef8f1c
+F src/select.c df63f64ef91c132dd12d37c876653f8b5493d2d5cf330a27158912ee5a065451
F src/shell.c.in ad3cb02ead5551be11ecf1433899d7585ad3bed669de0de9a70dabfd6a8a7256
F src/sqlite.h.in 3db05f6603c78d9e6fe035e9e12bed4ca8140135d05ff092becc2cf7d7d1fefb
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@@ -2028,7 +2028,7 @@ F test/walro.test 78a84bc0fdae1385c06b017215c426b6845734d6a5a3ac75c918dd9b801b1b
F test/walro2.test 33955a6fd874dd9724005e17f77fef89d334b3171454a1256fe4941a96766cdc
F test/walrofault.test c70cb6e308c443867701856cce92ad8288cd99488fa52afab77cca6cfd51af68
F test/walseh1.test bae700eb99519b6d5cd3f893c04759accc5a59c391d4189fe4dd6995a533442b
-F test/walsetlk.test 9c5b92f9a20252540fedf9ffa6ee3d1b8af08ea4b80d0144d9b88e6c0c1de80d
+F test/walsetlk.test aaa418dc2c11002b3e270f8128235a3bbb846796907095a0a02bf0f0bbf8512e
F test/walsetlk2.test 9097083633cdf55bf1098b694fb8651d0356d38fef28b869481d18029d7ceaf4
F test/walsetlk3.test 1b82bd92dea7e58f498b4399b0b3d26773dd8ac5c74205ce4a23c207cb8e85fe
F test/walshared.test 42e3808582504878af237ea02c42ca793e8a0efaa19df7df26ac573370dbc7a3
@@ -2213,8 +2213,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P a591c018558af70e0ddfdd2d4d61905f030bac01df19ac9b204aed09d44517be
-R 6bed3060a5a54ab64492dc249411b575
+P 8681dfdb59d3258663ec176daafd7a52446a207db21fbd1a4d151508092dcbc5 f418de109335cd7cb29d2b587540c163bbaaa7129c662c2908ef67492139b2d7
+R bee86888a7151d2e80a9568beca57317
U stephan
-Z 690380eef0b46b079ce996dc120adcaf
+Z f13475192cf48b8c4466aedb50a415e2
# Remove this line to create a well-formed Fossil manifest.
diff --git a/manifest.uuid b/manifest.uuid
index 1b1d18ef7..df41f537a 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-8681dfdb59d3258663ec176daafd7a52446a207db21fbd1a4d151508092dcbc5
+f3d14433f24f89558e72a9085c950bc72440e9933d6b4ff59d6e603d25e39422
diff --git a/src/select.c b/src/select.c
index e7db19533..904290223 100644
--- a/src/select.c
+++ b/src/select.c
@@ -7201,6 +7201,7 @@ static void agginfoFree(sqlite3 *db, void *pArg){
** * There is no WHERE or GROUP BY or HAVING clauses on the subqueries
** * The outer query is a simple count(*) with no WHERE clause or other
** extraneous syntax.
+** * None of the subqueries are DISTINCT (forumpost/a860f5fb2e 2025-03-10)
**
** Return TRUE if the optimization is undertaken.
*/
@@ -7233,7 +7234,11 @@ static int countOfViewOptimization(Parse *pParse, Select *p){
if( pSub->op!=TK_ALL && pSub->pPrior ) return 0; /* Must be UNION ALL */
if( pSub->pWhere ) return 0; /* No WHERE clause */
if( pSub->pLimit ) return 0; /* No LIMIT clause */
- if( pSub->selFlags & SF_Aggregate ) return 0; /* Not an aggregate */
+ if( pSub->selFlags & (SF_Aggregate|SF_Distinct) ){
+ testcase( pSub->selFlags & SF_Aggregate );
+ testcase( pSub->selFlags & SF_Distinct );
+ return 0; /* Not an aggregate nor DISTINCT */
+ }
assert( pSub->pHaving==0 ); /* Due to the previous */
pSub = pSub->pPrior; /* Repeat over compound */
}while( pSub );
diff --git a/test/walsetlk.test b/test/walsetlk.test
index d3fd050a6..b65eb9ab6 100644
--- a/test/walsetlk.test
+++ b/test/walsetlk.test
@@ -315,6 +315,7 @@ testfixture_nb done {
db eval {
COMMIT
}
+ db close
}
after 500 {set ok 1}