andygrove commented on PR #2738:
URL:
https://github.com/apache/datafusion-comet/pull/2738#issuecomment-3506692376
The diff for the changes to QueryPlanSerde is quite large, but the new code
is:
```scala
op match {
// Fully native scan for V1
case scan: CometScanExec if scan.scanImpl ==
CometConf.SCAN_NATIVE_DATAFUSION =>
CometNativeScan.convert(scan, builder, childOp: _*)
case filter: FilterExec if
CometConf.COMET_EXEC_FILTER_ENABLED.get(conf) =>
CometFilter.convert(filter, builder, childOp: _*)
case limit: LocalLimitExec if
CometConf.COMET_EXEC_LOCAL_LIMIT_ENABLED.get(conf) =>
CometLocalLimit.convert(limit, builder, childOp: _*)
case globalLimitExec: GlobalLimitExec
if CometConf.COMET_EXEC_GLOBAL_LIMIT_ENABLED.get(conf) =>
CometGlobalLimit.convert(globalLimitExec, builder, childOp: _*)
case expand: ExpandExec if
CometConf.COMET_EXEC_EXPAND_ENABLED.get(conf) =>
CometExpand.convert(expand, builder, childOp: _*)
case _: WindowExec if CometConf.COMET_EXEC_WINDOW_ENABLED.get(conf) =>
withInfo(op, "Window expressions are not supported")
None
case aggregate: HashAggregateExec if
CometConf.COMET_EXEC_AGGREGATE_ENABLED.get(conf) =>
CometHashAggregate.convert(aggregate, builder, childOp: _*)
case aggregate: ObjectHashAggregateExec
if CometConf.COMET_EXEC_AGGREGATE_ENABLED.get(conf) =>
CometObjectHashAggregate.convert(aggregate, builder, childOp: _*)
case join: BroadcastHashJoinExec
if CometConf.COMET_EXEC_BROADCAST_HASH_JOIN_ENABLED.get(conf) =>
CometBroadcastHashJoin.convert(join, builder, childOp: _*)
case join: ShuffledHashJoinExec if
CometConf.COMET_EXEC_HASH_JOIN_ENABLED.get(conf) =>
CometShuffleHashJoin.convert(join, builder, childOp: _*)
case join: SortMergeJoinExec =>
if (CometConf.COMET_EXEC_SORT_MERGE_JOIN_ENABLED.get(conf)) {
CometSortMergeJoin.convert(join, builder, childOp: _*)
} else {
withInfo(join, "SortMergeJoin is not enabled")
None
}
```
--
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]