Type: New Feature
Affects Version/s: BIGDATA_RELEASE_1_3_4
Fix Version/s: None
Component/s: Query Plan Generator
Quads mode access paths are implemented today using an expander pattern. This makes it difficult to use the runtime query optimizer and difficult to use analytic mode DISTINCT SPO filters (BLZG-888).
Break down the quads mode access paths into a JOIN against the DataSetSummary (DataSetJoin), a filter to strip off the context (or just do not bind it), and a DISTINCT SPO FILTER.
Some open questions: Does this refactoring require us to create sub-plans? If so, how would we eventually eliminate those sub-plans by a rewrite that flattens them out so we could (e.g., use the characteristic sets optimizer efficiently for the total query)?
- BLZG-537 (Default graphs always uses SCAN + FILTER and lacks efficient PARALLEL SUBQUERY code path)