Skip to content

Commit

Permalink
Don't treat Null as UTF8(None) and change error info. (#2801)
Browse files Browse the repository at this point in the history
* inlist: remove check path for UTF8::(None) for NULL value

* format code
  • Loading branch information
liukun4515 committed Jun 27, 2022
1 parent 7afd437 commit 7617d78
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions datafusion/physical-expr/src/expressions/in_list.rs
Expand Up @@ -111,8 +111,7 @@ macro_rules! make_contains {
ColumnarValue::Scalar(s) => match s {
ScalarValue::$SCALAR_VALUE(Some(v)) => Some(*v),
ScalarValue::$SCALAR_VALUE(None) => None,
ScalarValue::Utf8(None) => None,
datatype => unimplemented!("Unexpected type {} for InList", datatype),
datatype => unreachable!("InList can't reach other data type {} for {}.", datatype, s),
},
ColumnarValue::Array(_) => {
unimplemented!("InList does not yet support nested columns.")
Expand Down Expand Up @@ -163,9 +162,7 @@ macro_rules! make_contains_primitive {
ColumnarValue::Scalar(s) => match s {
ScalarValue::$SCALAR_VALUE(Some(v)) => Some(*v),
ScalarValue::$SCALAR_VALUE(None) => None,
// TODO this is bug, for primitive the expr list should be cast to the same data type
ScalarValue::Utf8(None) => None,
datatype => unimplemented!("Unexpected type {} for InList", datatype),
datatype => unreachable!("InList can't reach other data type {} for {}.", datatype, s),
},
ColumnarValue::Array(_) => {
unimplemented!("InList does not yet support nested columns.")
Expand Down Expand Up @@ -317,11 +314,10 @@ fn make_list_contains_decimal(
.flat_map(|v| match v {
ColumnarValue::Scalar(s) => match s {
Decimal128(v128op, _, _) => *v128op,
_ => {
unreachable!(
"InList can't reach other data type for decimal data type."
)
}
datatype => unreachable!(
"InList can't reach other data type {} for {}.",
datatype, s
),
},
ColumnarValue::Array(_) => {
unimplemented!("InList does not yet support nested columns.")
Expand Down Expand Up @@ -360,8 +356,8 @@ fn make_set_contains_decimal(
.iter()
.flat_map(|v| match v {
Decimal128(v128op, _, _) => *v128op,
_ => {
unreachable!("InList can't reach other data type for decimal data type.")
datatype => {
unreachable!("InList can't reach other data type {} for {}.", datatype, v)
}
})
.collect::<Vec<_>>();
Expand Down

0 comments on commit 7617d78

Please sign in to comment.