You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
11200: fix: Improve remote interactions against file remotes from within long-lived processes.
Dolt currently has a singleton cache which can cache file remotes across calls to things like dolt_clone and dolt_fetch. This change ensures that Dolt Rebases the store when it is interacting with the remote so that it always sees the latest novelty.
11197: bug fix for blame view
Recent change made results start including working set changes, which we don't want
11135: fix: make findCommonCommit deterministic for criss-cross merges
10976: fix(sql): use LEFT JOIN in blame view to handle schema-only reverts
go-mysql-server
3587: go.mod: Bump github.com/lestrrat-go/strftime to v1.2.0. Fixes a lock leak which can deadlock queries in Dolt.
3582: fix: panic in regexp functions over large text in group by REGEXP_REPLACE on a large TEXT column inside a GROUP BY panic with SIGSEGV.
Add a ScriptTest and RegexScriptTests for similar regressions on REGEXP_REPLACE, REGEXP_SUBSTR, REGEXP_LIKE, and REGEXP_INSTR.
Depends on dolthub/go-icu-regex#13
3581: Fix LIKE 'prefix%' dropping rows with multibyte text LIKE 'prefix%' is rewritten into an index range for speed, but the upper bound used byte 255 (U+00FF), which is not the largest character. Any value after prefix above U+00FF falls outside the range and was silently dropped as a WHERE/JOIN filter. Instead, we build the bound per collation:
utf8mb4_0900_bin matches are an exact code-point range, so emit GTE prefix AND LT next (prefix and last character incremented by one skipping the surrogate code points).
Any other collation GTE prefix AND <LIKE> so the index still narrows the scan while the retained LIKE keeps results correct. These collations may not sort by raw character numbers, or have unique rules (i.e., treating trailing spaces as nothing, so "ab" and "ab " count as equal).
Fix TPCH and IMDB plan expectations with old baked-in bound.
Fix #11182
Close #11188
3572: Rewrite CachedResults node and cachedResultsIter to not use MemoryManager
This PR is a follow-up to #3561 and further addresses the memory leak mentioned in #3560. While the initial fix in #3561 made it seem like the issue was that we were not properly disposing of the CachedResults node, the real issue was that a cachedResultsIter that never wrote to the CachedResults node was never disposed of in the MemoryManager if it was never closed.
This PR rewrites the CachedResults node and cachedResultsIter to never actually make use of the MemoryManager. Since we do not make use of parallel partitions, there's no need to have a locking cache. Instead, the results of the cachedResultsIter are stored directly in the CachedResults node. This greatly simplifies both the CachedResults node and the cachedResultsIter.
This PR also moves the emptyCacheIter and EmptyIter out of the plan package and de-dupes any code related to empty iters.
Closed Issues
11131: Dolt 2.0.8: adaptive out-of-line TEXT written via migration is unreadable — "invalid hash length: 19" on read (regression vs 2.0.4)
11037: Allow passing --date to DOLT_MERGE (as is the case for DOLT_COMMIT)
11196: GC kill-connections safepoint leaks connection slots: dss_concurrent_connections counts sessions whose client socket is already gone (pegs at max_connections)
7996: Dolt does not support CREATE TABLE ... AS ... with a table definition
3154: Undefined behavior for dolt checkout <remote branch> when two remote branches have the same name
10802: bug: DOLT_CHECKOUT -b ignores --no-overwrite-ignore when called directly via SQL
11042: dolt_merge_base is non-deterministic on multi-LCA criss-cross merges
11183: REGEXP_REPLACE over a TEXT column in a parallel GROUP BY grouping key SIGSEGVs in go-icu-regex (ICU not thread-safe)
11180: 3-way DOLT_MERGE fails on table with VECTOR INDEX: expected prollyIndex, found: durable.proximityIndex
11182: LIKE 'prefix %' gives wrong results in WHERE filter vs projection when matching rows have multibyte chars after the prefix