GitHub user wangyum opened a pull request:

    https://github.com/apache/spark/pull/23028

    [SPARK-26053][SQL] Enhance LikeSimplification

    ## What changes were proposed in this pull request?
    
    This PR enhance `LikeSimplification` in 2 cases:
    
    1.  null like col -> null
    2. 'str' like col -> col = 'str'
    
    It difficult to handle these cases:
    1. 'str%' like col
    2. '%str' like col
    3. 'str%str' like col
    4. '%' like col
    
    for example:
    ```sql
    select '8%' like '8%';  -- true
    select '8%' like '%8%';  -- true
    select '8%' like '%%8%%';  -- true
    select '8%' like '%%5%%8%%'; --false
    
    select '%8' like '%8%';  -- true
    select '%8' like '%8%';  -- true
    select '%8' like '%%8%';  -- true
    select '%8' like '%%5%%8%'; -- false
    
    select '%' like '%';  -- true
    select '%' like '%%';  -- true
    select '%' like '%%8%';  -- false
    ```
    
    ## How was this patch tested?
    
    unit tests


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/wangyum/spark SPARK-26053

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/23028.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #23028
    
----
commit 56a02eaaa63f297d3dbaf0ca183e4248d4882834
Author: Yuming Wang <yumwang@...>
Date:   2018-11-14T02:55:25Z

    Enhance LikeSimplification

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to