]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In the [/info/7c2d3406000dc8ac|omit-unused-subquery-columns optimization], be
authordrh <>
Sun, 26 Feb 2023 11:36:35 +0000 (11:36 +0000)
committerdrh <>
Sun, 26 Feb 2023 11:36:35 +0000 (11:36 +0000)
sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions
that get nulled-out.  dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15.

FossilOrigin-Name: 21aec65e5e2a01e58dd0bb8c8b9b29b8414373b53353fc7ca80a152fdd27566b

manifest
manifest.uuid
src/select.c
test/selectH.test

index ddc9f57b71ac003678bd7707af0093e9797e1a78..85a637de7bf3b3db2dbbc65284c15cd92994f4de 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Split\sout\sa\snew\svariant\sof\scellSizePtr()\sthat\sapplies\sonly\sto\sleaf\spages,\nfor\sa\ssmall\sperformance\sincrease.
-D 2023-02-25T16:03:28.921
+C In\sthe\s[/info/7c2d3406000dc8ac|omit-unused-subquery-columns\soptimization],\sbe\nsure\sto\sremove\sthe\sEP_Skip\sand\sEP_Unlikely\sflags\sfrom\sthe\sresult\sset\sexpressions\nthat\sget\snulled-out.\s\sdbsqlfuzz\sbf1d3ed6e0e0dd8766027797d43db40c776d2b15.
+D 2023-02-26T11:36:35.402
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -621,7 +621,7 @@ F src/printf.c fb31597cf93200eba9167573094ee312b0d51b2c1998613284ceb2c8c212b492
 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c d62c5665279cc7485f9d45b5e20911cc7b19c203f268321a90d05d74f4725750
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
-F src/select.c a6a5cc0bbb97be616a2608cb5d063b6635b920ecd6b7b3445cde88597daf3542
+F src/select.c 230dc0601f55ae4909b5f88bc002bfa1f1fb331e51f2c6d670d3effc2ced365e
 F src/shell.c.in cb763c332be668ecba48c85de52df52a86f992867b813460d55c3bccaaf4c0eb
 F src/sqlite.h.in 5f308635ad467b50af858f271e403d14f8bcc574c2610f7cfd2d00f5bb37f616
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@@ -1462,7 +1462,7 @@ F test/selectD.test 6d1909b49970bf92f45ce657505befcef5fc7cbc13544e18103a316d3218
 F test/selectE.test a8730ca330fcf40ace158f134f4fe0eb00c7edbf
 F test/selectF.test 21c94e6438f76537b72532fa9fd4710cdd455fc3
 F test/selectG.test 089f7d3d7e6db91566f00b036cb353107a2cca6220eb1cb264085a836dae8840
-F test/selectH.test a1fed72a83a68ed858db6fcf6d8ddccc4a368645c0ef48dc3ac331d41efe34de
+F test/selectH.test 88237ded5925adfb3f27fdafb5428c2ffc4d61e313bceb854e225ffc3ef0d206
 F test/session.test 78fa2365e93d3663a6e933f86e7afc395adf18be
 F test/sessionfuzz-data1.db 1f8d5def831f19b1c74571037f0d53a588ea49a6c4ca2a028fc0c27ef896dbcb
 F test/sessionfuzz.c 5eef09af01eeff6f20250ae4c0112c2e576e4d2f2026cc9a49dc5be6886fa6ee
@@ -2046,8 +2046,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 2dc7342e12e9dac2d8345d045a17caa29c26eaf6f417dd052c7c645eddd6c58c
-R 7550d632ae1e4db50e93659ce002df8e
+P 22d32eef8741ae4f2aac3869465e5a7d2e33c6bc2425dd8e77f2a746e43687e8
+R cc7aa349e394b75f23cb7073138b42c3
 U drh
-Z 36cbe33dfaff9cae13269d630b44e5c2
+Z ca0c0ef47bfc20fd4080b324e9bbcac3
 # Remove this line to create a well-formed Fossil manifest.
index 32b031f27e3ee506fa4561c9c5b51bc007b25123..72554d27ff43bafe9954f84848b261d1af7daee4 100644 (file)
@@ -1 +1 @@
-22d32eef8741ae4f2aac3869465e5a7d2e33c6bc2425dd8e77f2a746e43687e8
\ No newline at end of file
+21aec65e5e2a01e58dd0bb8c8b9b29b8414373b53353fc7ca80a152fdd27566b
\ No newline at end of file
index 1c71dbe5481d46749f2002208b83a3fce567ecf4..a882b973ee27c54b5cd7493cedf16c8374d67f6a 100644 (file)
@@ -5288,6 +5288,7 @@ static int disableUnusedSubqueryResultColumns(SrcItem *pItem){
       Expr *pY = pX->pEList->a[j].pExpr;
       if( pY->op==TK_NULL ) continue;
       pY->op = TK_NULL;
+      ExprClearProperty(pY, EP_Skip|EP_Unlikely);
       pX->selFlags |= SF_PushDown;
       nChng++;
     }
index f621fc302c2d9ffb11b96763ddebeaef9e64ea14..a97679bda292cf333ce14b3fb77069eaeb20f862 100644 (file)
@@ -106,5 +106,13 @@ do_test 3.7 {
   set ::selectH_cnt
 } {4}
 
+# 2023-02-25 dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15
+#
+do_execsql_test 4.1 {
+  DROP TABLE IF EXISTS t1;
+  CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT);
+  SELECT 1 FROM (SELECT DISTINCT name COLLATE rtrim FROM sqlite_schema
+                 UNION ALL SELECT a FROM t1);
+} 1
 
 finish_test