Summary
Follow-up from PR #16416 (collect_set RESPECT NULLS). As noted by @rui-mo, the same pattern should be applied to collect_list:
- Remove
kSparkCollectListIgnoreNulls QueryConfig
- Add a constant boolean argument to
collect_list(x [, ignoreNulls]) matching the collect_set approach
- Use the
Aggregate::setConstantInputs() hook to read the constant at initialization time
This aligns with Spark's CollectList expression which has an ignoreNulls parameter at the expression level, not a session-level config.
Reference: #16416 (comment)
Summary
Follow-up from PR #16416 (collect_set RESPECT NULLS). As noted by @rui-mo, the same pattern should be applied to
collect_list:kSparkCollectListIgnoreNullsQueryConfigcollect_list(x [, ignoreNulls])matching thecollect_setapproachAggregate::setConstantInputs()hook to read the constant at initialization timeThis aligns with Spark's
CollectListexpression which has anignoreNullsparameter at the expression level, not a session-level config.Reference: #16416 (comment)