goldmedal commented on code in PR #13260:
URL: https://github.com/apache/datafusion/pull/13260#discussion_r1831061785
##########
datafusion/optimizer/src/simplify_expressions/expr_simplifier.rs:
##########
@@ -3633,32 +3697,123 @@ mod tests {
#[test]
fn test_like_and_ilke() {
- // LIKE '%'
- let expr = like(col("c1"), "%");
+ let null = lit(ScalarValue::Utf8(None));
+
+ // expr [NOT] [I]LIKE NULL
+ let expr = like(col("c1"), null.clone());
Review Comment:
```suggestion
let expr = col("c1").like(null.clone());
```
As @alamb's comment
(https://github.com/apache/datafusion/pull/13260#discussion_r1830873028), we
can do some refactor like this.
##########
datafusion/sqllogictest/test_files/string/string_view.slt:
##########
@@ -396,8 +396,9 @@ EXPLAIN SELECT
FROM test;
----
logical_plan
-01)Projection: test.column1_utf8view LIKE Utf8View("foo") AS like,
test.column1_utf8view ILIKE Utf8View("foo") AS ilike
-02)--TableScan: test projection=[column1_utf8view]
+01)Projection: __common_expr_1 AS like, __common_expr_1 AS ilike
Review Comment:
Agreed. I did some tests. I think they still use the native StringView
implementation for pattern matching.
```
query TT
EXPLAIN SELECT
column1_utf8view like '%foo%' as "like",
column1_utf8view ilike '%foo%' as "ilike"
FROM test;
----
logical_plan
01)Projection: test.column1_utf8view LIKE Utf8View("%foo%") AS like,
test.column1_utf8view ILIKE Utf8View("%foo%") AS ilike
02)--TableScan: test projection=[column1_utf8view]
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]