clintropolis opened a new pull request, #19599:
URL: https://github.com/apache/druid/pull/19599

   ### Description
   This PR allows aggregate projections to be built on clustered segments. Also 
fixes a bug uncovered while adding an embedded-test for this stuff where 
grouping was incorrectly using dictionaryIds when using the concatenating 
cursors, resulting in wrong results. This PR fixes by just not allowing 
grouping on the dictionary ids, but will do a better fix in a follow-up PR to 
bring it back, but correctly, for perf reasons.
   
   changes:
   * allow `AggregateProjectionSpec` on a clustered base table; remove the 
build and merge time guards that rejected it
   * persist projections in `IndexMergerV10.makeClusteredIndexFiles` via the 
shared `makeProjections(...)`
   * fix a bug on a non-clustering dictionary column over the clustered base 
table which conflated values (per-group-local dictionary IDs reused across the 
`ConcatenatingCursor` causing values to inappropriately group together). Force 
value-based grouping by reporting non-clustering columns as 
non-dictionary-encoded, on capabilities and on the selector 
(cardinality/name-lookup)
   * tests: build and query tests for projections for both incremental and 
persisted segments, and also added first E2E coverage for clustered segments 
(`ClusteredSegmentProjectionQueryTest`, native ingestion + 
projection-vs-noProjections queries)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to