diff options
Diffstat (limited to 'dev-db/sqlite')
-rw-r--r-- | dev-db/sqlite/Manifest | 1 | ||||
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch | 101 |
2 files changed, 0 insertions, 102 deletions
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index 764ef0a01ef5..db1046f518a5 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,4 +1,3 @@ -AUX sqlite-3.41.2-perf-regression.patch 3737 BLAKE2B 434b7785c39d7cc449cc4daece45186fbf41796c45e98223ba44b78a2d93bcbe5e496f4dd69a694a8b3677235f7c25b31fa17209ac284e6a02ed46f668a3f02f SHA512 6afb7d159c42065d3407881c1e13d184b3782ad867277a86ff2d9b779ac70c409dbbbad2741bb3e6f0a941660fd0b2874a830b03f9d592dd94ef76c38a9430e4 DIST sqlite-doc-3420000.zip 10665938 BLAKE2B 62aef59e6976101ecca60d1ee194e9e558009dd8bdb7cd911f9938f1256e50bc946f8ca554666b6c101f7024baac7857b83adf6e897164afb9b5c4d4917593d1 SHA512 d675ee2897323d468816bc713594c4e94cb5c15270b4f991758e2c82e2891ad724c5790f29b76bc9e5d6b3be04e95aee371c57ceb2d855c1057b4af62a5af162 DIST sqlite-src-3420000.zip 13910252 BLAKE2B defe14bf0b5588775b2a2b17b3adbbaf39f1e95eac049cbd4868e2e59fbf50fb92b11c74ecf12fe0138521e7d4d3cc2a4bf45e7c83fd774abd7aa9ed7ee0f925 SHA512 509b7aa292870c927ef137469028e5e07ca74907414c5b295360cb10b377a42de7469d3afe79f8d9947d486ef74d676679c7f2d3b1caaeb8c949f27201180def EBUILD sqlite-3.42.0.ebuild 12911 BLAKE2B 75ce24b3af53746bd30f3628e86c31813ab2900fe1ddab7fef94b0c64e48c64cba7f115591aeabc442c98b9e380b107ef7c0dd483d20bf1bff5ecf15770ad988 SHA512 cd972b7bf7e5cb62a68f3e3e1f978693c7457da412359265656ea59210abfb28008580324984e71680724d4fb3ce1f7d57784a603ca1a0da038500170dbcb66c diff --git a/dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch b/dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch deleted file mode 100644 index 0bf5c41513af..000000000000 --- a/dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch +++ /dev/null @@ -1,101 +0,0 @@ -https://sqlite.org/forum/forumpost/3a180ba0d4 and https://sqlite.org/forum/forumpost/f9346b11a6 -https://sqlite.org/src/info/aa6bd6dff751223e -(-> https://sqlite.org/src/vpatch?from=71215599cd8ebb97&to=aa6bd6dff751223e) - ---- a/src/select.c -+++ b/src/select.c -@@ -4236,12 +4236,11 @@ - ** (17f) the subquery must not be the RHS of a LEFT JOIN. - ** (17g) either the subquery is the first element of the outer - ** query or there are no RIGHT or FULL JOINs in any arm - ** of the subquery. (This is a duplicate of condition (27b).) - ** (17h) The corresponding result set expressions in all arms of the --** compound must have the same affinity. (See restriction (9) --** on the push-down optimization.) -+** compound must have the same affinity. - ** - ** The parent and sub-query may contain WHERE clauses. Subject to - ** rules (11), (13) and (14), they may also contain ORDER BY, - ** LIMIT and OFFSET clauses. The subquery cannot use any compound - ** operator other than UNION ALL because all the other compound -@@ -5105,14 +5104,10 @@ - ** - ** (8) If the subquery is a compound that uses UNION, INTERSECT, - ** or EXCEPT, then all of the result set columns for all arms of - ** the compound must use the BINARY collating sequence. - ** --** (9) If the subquery is a compound, then all arms of the compound must --** have the same affinity. (This is the same as restriction (17h) --** for query flattening.) --** - ** - ** Return 0 if no changes are made and non-zero if one or more WHERE clause - ** terms are duplicated into the subquery. - */ - static int pushDownWhereTerms( -@@ -5139,13 +5134,10 @@ - } - #ifndef SQLITE_OMIT_WINDOWFUNC - if( pSel->pWin ) return 0; /* restriction (6b) */ - #endif - } -- if( compoundHasDifferentAffinities(pSubq) ){ -- return 0; /* restriction (9) */ -- } - if( notUnionAll ){ - /* If any of the compound arms are connected using UNION, INTERSECT, - ** or EXCEPT, then we must ensure that none of the columns use a - ** non-BINARY collating sequence. */ - for(pSel=pSubq; pSel; pSel=pSel->pPrior){ - ---- a/test/pushdown.test -+++ b/test/pushdown.test -@@ -120,7 +120,47 @@ - SELECT v1.a, v1.b, t0.c0 AS cd FROM t0 LEFT JOIN v0 ON v0.c0!=0, v1 - ) WHERE a=2 AND b=0 AND cd=0; - } { - 2 0 0 - } -- -+ -+# 2023-02-22 https://sqlite.org/forum/forumpost/bcc4375032 -+# Performance regression caused by check-in [1ad41840c5e0fa70] from 2022-11-25. -+# That check-in added a new restriction on push-down. The new restriction is -+# no longer necessary after check-in [27655c9353620aa5] from 2022-12-14. -+# -+do_execsql_test 3.5 { -+ DROP TABLE IF EXISTS t1; -+ CREATE TABLE t1(a INT, b INT, c TEXT, PRIMARY KEY(a,b)) WITHOUT ROWID; -+ INSERT INTO t1(a,b,c) VALUES -+ (1,100,'abc'), -+ (2,200,'def'), -+ (3,300,'abc'); -+ DROP TABLE IF EXISTS t2; -+ CREATE TABLE t2(a INT, b INT, c TEXT, PRIMARY KEY(a,b)) WITHOUT ROWID; -+ INSERT INTO t2(a,b,c) VALUES -+ (1,110,'efg'), -+ (2,200,'hij'), -+ (3,330,'klm'); -+ CREATE VIEW v3 AS -+ SELECT a, b, c FROM t1 -+ UNION ALL -+ SELECT a, b, 'xyz' FROM t2; -+ SELECT * FROM v3 WHERE a=2 AND b=200; -+} {2 200 def 2 200 xyz} -+do_eqp_test 3.6 { -+ SELECT * FROM v3 WHERE a=2 AND b=200; -+} { -+ QUERY PLAN -+ |--CO-ROUTINE v3 -+ | `--COMPOUND QUERY -+ | |--LEFT-MOST SUBQUERY -+ | | `--SEARCH t1 USING PRIMARY KEY (a=? AND b=?) -+ | `--UNION ALL -+ | `--SEARCH t2 USING PRIMARY KEY (a=? AND b=?) -+ `--SCAN v3 -+} -+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -+# We want both arms of the compound subquery to use the -+# primary key. -+ - finish_test |