From: drh <> Date: Fri, 16 Jul 2021 22:43:00 +0000 (+0000) Subject: Try to omit the ORDER BY clause in subqueries if doing so does not change X-Git-Tag: version-3.37.0~329 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef8344c6a5ae118392fceb3e924f035776ec4ca6;p=thirdparty%2Fsqlite.git Try to omit the ORDER BY clause in subqueries if doing so does not change the result in any way. See [forum:/forumpost/2d76f2bcf65d256a|Forum post 2d76f2bcf65d256a] for details and history. FossilOrigin-Name: 85ddaf1b59a19cbd9efe7724a163b30c14bafabfaf2cfced07b463e76f73e494 --- ef8344c6a5ae118392fceb3e924f035776ec4ca6 diff --cc manifest index 867598a0d0,4a30fc798b..304acc49f7 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C De-typo\ssqlite3_expanded_sql()\sdoc - D 2021-07-16T17:11:21.925 -C Minor\scomment\simprovements. -D 2021-07-16T20:16:19.970 ++C Try\sto\somit\sthe\sORDER\sBY\sclause\sin\ssubqueries\sif\sdoing\sso\sdoes\snot\schange\nthe\sresult\sin\sany\sway.\sSee\n[forum:/forumpost/2d76f2bcf65d256a|Forum\spost\s2d76f2bcf65d256a]\sfor\ndetails\sand\shistory. ++D 2021-07-16T22:43:00.597 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -542,14 -542,14 +542,14 @@@ F src/pragma.h 8dc78ab7e9ec6ce3ded83328 F src/prepare.c 0d53d20532aada295c1690792a125adbd6435f5ce703ff0adf1b9b3605238b67 F src/printf.c 78fabb49b9ac9a12dd1c89d744abdc9b67fd3205e62967e158f78b965a29ec4b F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c - F src/resolve.c b379c5ffe3b692e9c64fa37817cc0efa204b7c9468a818309dde85fd132d9d81 + F src/resolve.c ea205123fba6bb254666f50b6c220270913eae54eb03d263abaa432c703f5857 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 - F src/select.c 1c1230aaa4e5979edd3c5a9f7a90ab856a302cca4962e8a7d08f42dd2e7e1a49 + F src/select.c 0c783511b5f35b37d971dcd653c554d21f74d7cb63a4979991a61d068480c40f F src/shell.c.in 856de2945bb7fdfdeebe7136cf1b59d24618845aa5e5f3937fda7ff37c623b51 -F src/sqlite.h.in a5d5641afa335226231231c7b6e424de327f17577d9e8aeaaaab78d9bbbcf381 +F src/sqlite.h.in f716b8a9fb30c6928752fd75b3f824e8ac4d225d31494029dee8454aeb9aa01a F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510 - F src/sqliteInt.h 129619232aa632fa85db7792bfe4b378ed28d3361bf9cbcdb4522353fd04b89b -F src/sqliteInt.h a71d18dc76a2768ec2b7671b5b5996a8725677bf77a987b451323b4451099061 ++F src/sqliteInt.h b3762f49d8b6b4bf7bf30d154f007d6f9421c86343042d7a246a79988d1fec1a F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657 F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 @@@ -1920,7 -1920,7 +1920,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 459d85a2898d6a53f43b4ad48d2f39edd1bbe37a4f97426a5d666c39c52576a4 - R 586dff70e9760c1426027997891782a1 - U larrybr - Z 508402e0d81680ab955ec6d0adae92e8 -P e31c5888659ffd4c6d8b68627123df3bbb84bb010b7766b0a74877bf3ba1e52b -R 2b5d3bf35c291d863ff2cdabf1b23aa4 ++P 56b0f5418dad34d1e83d53741916e2a38a5448369031d959b8a44867774be657 6854b5919beefa43da21ba739e82d583183c8cdfe5dd63e27a810ac1ffe2330b ++R 6e75e47df06fbba5ca701a4a4bf4039e ++T +closed 6854b5919beefa43da21ba739e82d583183c8cdfe5dd63e27a810ac1ffe2330b + U drh -Z 8fd4496f447f68e71867e0b05442b99f ++Z f23b8c5ab82b5bff69635213de4f5afb diff --cc manifest.uuid index 524955bd4f,3a27d75dee..b1da6c4a23 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 56b0f5418dad34d1e83d53741916e2a38a5448369031d959b8a44867774be657 -6854b5919beefa43da21ba739e82d583183c8cdfe5dd63e27a810ac1ffe2330b ++85ddaf1b59a19cbd9efe7724a163b30c14bafabfaf2cfced07b463e76f73e494 diff --cc src/sqliteInt.h index 81774c1f01,6f02a5184c..651116aa9e --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@@ -1744,6 -1744,7 +1744,8 @@@ struct sqlite3 #define SQLITE_PropagateConst 0x00008000 /* The constant propagation opt */ #define SQLITE_MinMaxOpt 0x00010000 /* The min/max optimization */ #define SQLITE_SeekScan 0x00020000 /* The OP_SeekScan optimization */ + #define SQLITE_OmitOrderBy 0x00040000 /* Omit pointless ORDER BY */ ++ /* TH3 expects this value ^^^^^^^^^^ to be 0x40000. Coordinate any change */ #define SQLITE_AllOpts 0xffffffff /* All optimizations */ /*