fn hash_join_convert_symmetric_subrule(
input: Arc<dyn ExecutionPlan>,
config_options: &ConfigOptions,
) -> Result<Arc<dyn ExecutionPlan>>Expand description
Converts a hash join to a symmetric hash join if both its inputs are unbounded and incremental.
This subrule checks if a hash join can be replaced with a symmetric hash join when dealing with unbounded (infinite) inputs on both sides. This replacement avoids pipeline breaking and preserves query runnability. If the replacement is applicable, this subrule makes this change; otherwise, it leaves the input unchanged.
§Arguments
input- The current state of the pipeline, including the execution plan.config_options- Configuration options that might affect the transformation logic.
§Returns
An Option that contains the Result of the transformation. If the transformation is not applicable,
it returns None. If applicable, it returns Some(Ok(...)) with the modified pipeline state,
or Some(Err(...)) if an error occurs during the transformation.