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]
