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

   ### Description
   Follow-up to #19262, makes some stuff nicer.
   
   changes:
   * add class `VirtualColumns.Node` capturing a `VirtualColumn` and its 
transitive `VirtualColumn` dependencies
   * add `VirtualColumns.getNode` method which takes a virtual column name and 
returns a `VirtualColumns.Node` from a memoized map supplier
   * modified `VirtualColumns.findEquivalent` to take a `VirtualColumns.Node` 
as an argument, replacing the previous two-arg `findEquivalent(VirtualColumns, 
VirtualColumn)`, which iterates `node.getDependencies()` directly instead of 
calling `virtualColumn.requiredColumns()` + `virtualColumns.getVirtualColumn()` 
+ null-checking, which simplifies both the implementation and all call sites
   * removed `ShardVirtualColumnCacheEntry` from `FilterSegmentPruner`, the 
shard equivalence cache now uses `VirtualColumns.Node` as the key instead of 
allocating a new tree-structure per call
   * `Projections` updated to use `getNode()` + `findEquivalent(Node)`
   * `SegmentGenerationStageSpec` method 
`addRequiredVirtualColumns(VirtualColumns, VirtualColumn, Map)` replaced by 
`addRequiredFromNode(Node, Map)` which walks `getDependencies()` of the node 
rather than manually calling `requiredColumns()` + `getVirtualColumn`
   


-- 
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