This repository was archived by the owner on Nov 7, 2025. It is now read-only.
Commit 2014c3c
authored
table_resolver refactor - introduce patternSplitter, decisionMerger (#925)
This PR changes the way patterns (wildcards such as `logs*`) are handled
by `table_resolver`.
Previously, many `table_resolver` rules had two code paths - one code
path for a single index (e.g. `logs1`) and one code path for patterns
(e.g. `logs1,logs2` or `logs*`), making those rules more complicated.
Moreover, one rule `makeCheckIfPatternMatchesAllConnectors` was the
primary one to handle patterns and it contained fragments of other
rules.
This PR introduces `patternSplitter`, `decisionMerger`. The
`table_resolver` now works like this:
1. `patternSplitter` splits a pattern (e.g. `logs*`) into concrete
single indexes (e.g. `logs1`, `logs2`)
2. Existing rules are evaluated on each single index separately
3. `decisionMerger` merges decisions of single indexes, making sure that
the decisions are compatible. It yields a single decision.1 parent 3835d60 commit 2014c3c
File tree
3 files changed
+276
-255
lines changed- quesma/table_resolver
3 files changed
+276
-255
lines changed
0 commit comments