Summary
grid_filter_engine builds _likeToRegExp(...) inside the per-row evaluation for LIKE / NOT LIKE / ILIKE / NOT ILIKE. A 5000-row scan recompiles the same pattern 5000 times (AST depth × rows). Filter bar is already debounced 150ms; the scan itself is still O(R × regex compile).
Scope
- Compile the LIKE regex at parse / bind time and reuse it in the evaluator.
- Tests: LIKE %foo% still matches; case sensitivity for ILIKE unchanged.
Reactions are currently unavailable
Summary
grid_filter_engine builds _likeToRegExp(...) inside the per-row evaluation for LIKE / NOT LIKE / ILIKE / NOT ILIKE. A 5000-row scan recompiles the same pattern 5000 times (AST depth × rows). Filter bar is already debounced 150ms; the scan itself is still O(R × regex compile).
Scope