Commit

3acb899

fsdb (HelgeSverre/fsdb — a MySQL-compatible database server in idiomatic F#) Summary of work from 2026-10-15 through 2026-10-17. Roughly 442 unique commits across all refs; 270 landed on main via 65 merged PRs. Releases 25 preview tags cut in the window, v0.1.0-preview.10 through .34, with a very fast cadence (11 tags on the 15th, 14 on the 16th). Landed on main (Oct 15–16), 133 files, +14,485 / -630 - Recursive CTEs (largest cluster): recursive CTEs threaded through lateral views, local and ordered-union CTEs, shadowed/local scope, nested read and lateral sources, and writes that go through joined views backed by recursive CTEs. - Writable joined views: UPDATE through physical, joined, and nested sources; starred and merged-star CTE columns. - Materialized correlated expression indexes: stable text, decimal, integer, and DOUBLE keys, with equality candidates plus range/IN bounds. - Collation and n-grams: MySQL CJK kana and curly-quote n-gram keys, legacy Unicode n-gram fixes. - Spatial/geographic: geographic near-hole crossing invariant, global-polygon winding. - Reliability: bulk prepared-parameter stack-overflow fix, exact-key locks, insert lock waits, NuGet publish test fixes. - Performance: correlated COUNT, physical and materialized ABS/affine index probes, timestamp point lookups, statement throughput, n-gram outer-transitive bounds. - Ledgers/docs: GAPS.md (the live compatibility ledger) and docs/distribution.md, independent-review response updated heavily. In flight on branches (Oct 17), not yet merged to main: 61 branches with fresh tips, about 64 open PRs, 154 commits. - General-Unicode collation campaign (dominant theme, ~29 Unicode and 21 n-gram commits): preserving weights and distinct keys for combining marks, Jamo, kana scripts, Bopomofo, CJK radicals and symbols, enclosed CJK and alphanumerics, compatibility ideographs, letterlike/mathematical/dingbat symbols, variation selectors, format controls, halfwidth marks, and supplementary scalars; plus a single-pass synthetic-weight fold and reproducible collation-key equivalence. - Correlated-subquery planning: materialized integer, decimal, text, and DOUBLE equality and IN bounds, null fallbacks, candidate/probe budgets, collation-aware range probes, volatile-call preservation, BIT_COUNT and BIT ABS probes, NOT LIKE NULL skips. - Ordered and limited writes: rebasing across pending text, composite-PK, and DATE inserts and across LIMIT 2 frontiers, frontier waits, contention between owner waits, group-commit batch occupancy, and keyless-write stage profiling. - Writable views: right-side and two-source outer-join UPDATE, LATERAL/layered and JSON_TABLE joins, shared preceding outer joins, CHECK OPTION atomicity and metadata for derived/read-only sources. - Spatial: polar point and polygon ring winding divergence, spherical-distance overflow at large radii, spatial-index depth bounds and pruning after deletes. - WAL/durability: reuse of the WAL append stream across commit batches, reopening after automatic rotation, group-commit stage profile. - Full-text: negative-candidate scoring scope, Boolean-group syntax errors, cancellation while streaming pushed join filters. - Locking/index hygiene: temp global read lock, grouped locking reads, routine-variable shadowing, rejection of duplicate plain index parts, case-insensitive folded range/prefix joins. Net: Oct 15–16 was a merge-heavy push to main (recursive CTEs, joined-view writes, materialized expression indexes, 25 releases); Oct 17 is a large unmerged branch layer dominated by the general-Unicode collation/n-gram effort, correlated-probe tuning, and ordered-write rebasing.

commit 3acb899