GitHub user HyukjinKwon opened a pull request:

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

    [SPARK-25565][BUILD] Add scalastyle rule to check add Locale.ROOT to 
.toLowerCase and .toUpperCase for internal calls

    ## What changes were proposed in this pull request?
    
    This PR adds a rule to force `.toLowerCase(Locale.ROOT)` or 
`toUpperCase(Locale.ROOT)`.
    
    It produces an error as below:
    
    ```
    [error]       Are you sure that you want to use toUpperCase or toLowerCase 
without the root locale? In most cases, you
    [error]       should use toUpperCase(Locale.ROOT) or 
toLowerCase(Locale.ROOT) instead.
    [error]       If you must use toUpperCase or toLowerCase without the root 
locale, wrap the code block with
    [error]       // scalastyle:off caselocale
    [error]       .toUpperCase
    [error]       .toLowerCase
    [error]       // scalastyle:on caselocale
    ```
    
    This PR excludes the cases above for SQL code path for external calls like 
table name, column name and etc.
    
    For test suites, or when it's clear there's no locale problem like Turkish 
locale problem, it uses `Locale.ROOT`.
    
    One minor problem is, `UTF8String` has both methods, `toLowerCase` and 
`toUpperCase`, and the new rule detects them as well. They are ignored.
    
    ## How was this patch tested?
    
    Manually tested, and Jenkins tests.


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

    $ git pull https://github.com/HyukjinKwon/spark SPARK-25565

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

    https://github.com/apache/spark/pull/22581.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 #22581
    
----
commit adda54f76033a6eae160b3cfb80a67c22dc2a190
Author: hyukjinkwon <gurwls223@...>
Date:   2018-09-28T10:10:09Z

    Add scala style checker to check add Locale.ROOT to .toLowerCase and 
.toUpperCase for internal calls

----


---

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

Reply via email to