mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 16:09:05 +00:00
Two regression sentinels for the FST projection rewrite path fixed in openobserve/openobserve#13808 (currently in the merge queue on branch-v0.40.0 and awaiting the main-branch counterpart): Q1001 — CTE with trim(log) alias, match_all in WHERE, column-pruned outer SELECT. Mirrors the shape of the PR's own unit test (test_cse_projection_schema_propagation) — CSE inserts a ProjectionExec between filter and datasource; a regression in the rewriter's f_down handling would surface here. Q1002 — five-CTE pipeline (filtered → in_shop → scoped → normalized → cleaned) mixing match_all with LIKE, split_part, regexp_replace ID normalization, and GROUP BY aggregation. Higher structural pressure: more intermediate ProjectionExec nodes and more chances for a stale column index to leak through. Uses only test-fixture fields (log, resource_path, page_url, http_method); no customer identifiers. Also adds a third leg to the query-agent CI matrix that runs with ZO_FEATURE_QUERY_REMOVE_FILTER_WITH_INDEX=false — exercises the non-index-filter path that the match_all projection rewriter also touches. The wide JSON churn across the other query files is compute_counts.py re-baselining expected results against a fresh BASE_TS (base_ts_override.json is untracked); tuple-order shuffles are harmless under results_mode: rowsort. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>