[
https://issues.apache.org/jira/browse/SPARK-31210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17063792#comment-17063792
]
Mingli Rui commented on SPARK-31210:
------------------------------------
In the repro, the DataFrame is accessing an external database table. And a temp
view is created for the external database table. Two queries are executed with
*ESCAPE '^'*. One works, one doesn't.
Below is some scalar code snippet:
val tmpdf = sparkSession.read
.format(SNOWFLAKE_SOURCE_NAME)
.options(thisConnectorOptionsNoTable)
.option("dbtable", s"test_table_like")
.load()
tmpdf.createOrReplaceTempView("test_table_like")
Below query can be executed successfully.
===============================
sparkSession.sql(s"select * from test_table_like where subject like
'%J%h%^_do%' escape '^' order by 1")
Below query will return empty
=====================
sparkSession.sql(s"select * from test_table_like where subject like '100%'
order by 1")
> An issue for Spark SQL LIKE-with-ESCAPE clause
> ----------------------------------------------
>
> Key: SPARK-31210
> URL: https://issues.apache.org/jira/browse/SPARK-31210
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 3.0.0
> Reporter: Mingli Rui
> Priority: Major
>
> I try to use LIKE with ESCAPE for Spark 3.0.0-preview2. But I find in it
> doesn't work in below cases.
> The database table
> ==============
> create or replace table test_table_like ( subject string)
> insert into $test_table_like values ('100 times'), ('1000 times'), ('100%')
>
> Repro
> ====
> val result2 = sparkSession.sql(
> s"select * from test_table_like where subject like '100^%' escape '^' order
> by 1")
> "100%" is expected to returned, but it doesn't. I debug into the code to
> check the logical plan.
> In the logical plan, the LIKE is transformed as "StartsWith(subject#130,
> 100^)". It looks it is incorrect.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]