[MCOL-4895] Reduce a number of ColumnCommanJL steps processing single-column WHERE filter predicate Created: 2021-10-13 Updated: 2023-12-15 |
|
| Status: | Open |
| Project: | MariaDB ColumnStore |
| Component/s: | ExeMgr, PrimProc |
| Affects Version/s: | 6.1.1 |
| Fix Version/s: | Icebox |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Roman | Assignee: | Max Mether |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Consider the example for a single bigint column table:
The tree of this predicate contains AND on top and two leaves with ORs inside. It takes two scans AKA ColumnCommands to process this expression. If one changes the query so that it contains only one logical operator: OR, XOR, AND there will be a single ColumnCommand.
The suggested solution is to get an equivalent CNF of the single-column expression that contains only comparisons and logical operators using Tseytin transformation so that we produce the minimal possible CNF out of an arbitrary complex original expression with the limitations meantioned. |