Skip to content

Commit 55bf1e3

Browse files
committed
Return NULL from Spark char for a NULL scalar input
1 parent 1c43063 commit 55bf1e3

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

  • datafusion
    • spark/src/function/string
    • sqllogictest/test_files/spark/string

‎datafusion/spark/src/function/string/char.rs‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ fn spark_chr(args: &[ColumnarValue]) -> Result<ColumnarValue> {
100100
}
101101
}
102102
}
103+
ColumnarValue::Scalar(ScalarValue::Int64(None)) => {
104+
Ok(ColumnarValue::Scalar(ScalarValue::Utf8(None)))
105+
}
103106
_ => exec_err!("The argument must be an Int64 array or scalar."),
104107
}
105108
}

‎datafusion/sqllogictest/test_files/spark/string/char.slt‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ SELECT char(321::INT);
2525
----
2626
A
2727

28+
query T
29+
SELECT char(NULL::INT);
30+
----
31+
NULL
32+
2833
query T
2934
SELECT char(a) FROM (VALUES (-1::INT), (0::INT), (65::INT), (321::INT)) AS t(a);
3035
----

0 commit comments

Comments
 (0)