Skip to content

fix(engine): bound table gap analysis memory, analyse expression columns - #549

Merged
ivanmiletic merged 2 commits into
masterfrom
fix/table-analysis-memory-expression-columns
Oct 20, 2026
Merged

ivanmiletic merged 2 commits into
masterfrom
fix/table-analysis-memory-expression-columns

Conversation

@ivanmiletic

Copy link
Copy Markdown
Contributor

Missing-case detection built the full atom/row partition for every column before charging the work budget. Nested ranges (> 1, > 2, ...) make that partition quadratic, so large tables (tens of thousands of rows) allocated gigabytes before giving up, exhausting the 1GB WASM memory. The partition size is now counted first and the budget checked before building it; results are unchanged (50k rows: ~10GB/28s -> ~650MB/1s natively).

Columns without a field whose filled cells are all conditions on one field (age > 50, age > 30) are now analysed like field columns on that field: duplicates, unreachable rows, missing cases and compression. Compressed and missing-case cells are written back as full expressions (age > 30). Columns mixing fields or using non-analysable expressions stay opaque.

Missing-case detection built the full atom/row partition for every column
before charging the work budget. Nested ranges (`> 1`, `> 2`, ...) make that
partition quadratic, so large tables (tens of thousands of rows) allocated
gigabytes before giving up, exhausting the 1GB WASM memory. The partition
size is now counted first and the budget checked before building it; results
are unchanged (50k rows: ~10GB/28s -> ~650MB/1s natively).

Columns without a field whose filled cells are all conditions on one field
(`age > 50`, `age > 30`) are now analysed like field columns on that field:
duplicates, unreachable rows, missing cases and compression. Compressed and
missing-case cells are written back as full expressions (`age > 30`).
Columns mixing fields or using non-analysable expressions stay opaque.
@ivanmiletic
ivanmiletic merged commit b764040 into master Oct 20, 2026
60 checks passed
@ivanmiletic
ivanmiletic deleted the fix/table-analysis-memory-expression-columns branch October 20, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants