You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: clarify NULL handling for array_remove functions (#21014) (#21018)
## Summary
- clarify how `array_remove`, `array_remove_n`, and `array_remove_all`
behave when the input array contains `NULL` values
- document that a `NULL` `element` argument returns `NULL` instead of
removing `NULL` entries from the array
- add examples that show existing `NULL` array elements are preserved
when removing a non-`NULL` value
## Testing
- docs-only change, no code paths changed
Closes#21014
Copy file name to clipboardExpand all lines: datafusion/functions-nested/src/remove.rs
+28-7Lines changed: 28 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -40,13 +40,13 @@ make_udf_expr_and_func!(
40
40
ArrayRemove,
41
41
array_remove,
42
42
array element,
43
-
"removes the first element from the array equal to the given value.",
43
+
"removes the first element from the array equal to the given value. NULL elements already in the array are preserved when removing a non-NULL value. If `element` evaluates to NULL, the result is NULL rather than removing NULL entries.",
44
44
array_remove_udf
45
45
);
46
46
47
47
#[user_doc(
48
48
doc_section(label = "Array Functions"),
49
-
description = "Removes the first element from the array equal to the given value.",
49
+
description = "Removes the first element from the array equal to the given value. NULL elements already in the array are preserved when removing a non-NULL value. If `element` evaluates to NULL, the result is NULL rather than removing NULL entries.",
"removes the first `max` elements from the array equal to the given value.",
137
+
"removes the first `max` elements from the array equal to the given value. NULL elements already in the array are preserved when removing a non-NULL value. If `element` evaluates to NULL, the result is NULL rather than removing NULL entries.",
131
138
array_remove_n_udf
132
139
);
133
140
134
141
#[user_doc(
135
142
doc_section(label = "Array Functions"),
136
-
description = "Removes the first `max` elements from the array equal to the given value.",
description = "Removes the first `max` elements from the array equal to the given value. NULL elements already in the array are preserved when removing a non-NULL value. If `element` evaluates to NULL, the result is NULL rather than removing NULL entries.",
"removes all elements from the array equal to the given value.",
236
+
"removes all elements from the array equal to the given value. NULL elements already in the array are preserved when removing a non-NULL value. If `element` evaluates to NULL, the result is NULL rather than removing NULL entries.",
223
237
array_remove_all_udf
224
238
);
225
239
226
240
#[user_doc(
227
241
doc_section(label = "Array Functions"),
228
-
description = "Removes all elements from the array equal to the given value.",
242
+
description = "Removes all elements from the array equal to the given value. NULL elements already in the array are preserved when removing a non-NULL value. If `element` evaluates to NULL, the result is NULL rather than removing NULL entries.",
0 commit comments