defaultBatchType was designed as a global value for query planner to:
Decide which type of columnar batch a unrecognizable operator will output (e.g., AdaptiveSparkPlanExec, ColumnarBroadcastExchangeExec, etc.)
Decide which type of columnar batch a Substrait operator will output (e.g., xxxTransformer)
In regard of mixing different backends, we'd move this global value down to SubstraitBackend API, which is designed to have only one instance loaded at a time so there will be no conflicts on this value among all loaded backends. This is to keep APIs in gluten-core simple for extensibility purpose.
Part of https://github.com/apache/incubator-gluten/issues/6920.
defaultBatchType
was designed as a global value for query planner to:In regard of mixing different backends, we'd move this global value down to SubstraitBackend API, which is designed to have only one instance loaded at a time so there will be no conflicts on this value among all loaded backends. This is to keep APIs in
gluten-core
simple for extensibility purpose.