Apache-Phoenix | 5.1 | HBase 2.4 | Build #176 ABORTED
5.1 branch HBase 2.4 build #176 status ABORTED Build #176 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/5.1/176/
Apache-Phoenix | master | HBase 2.5 | Build #472 ABORTED
master branch HBase 2.5 build #472 status ABORTED Build #472 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/472/
Apache-Phoenix | 5.1 | HBase 2.2 | Build #176 SUCCESS
5.1 branch HBase 2.2 build #176 status SUCCESS Build #176 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/5.1/176/
Apache-Phoenix | 5.1 | HBase 2.1 | Build #176 SUCCESS
5.1 branch HBase 2.1 build #176 status SUCCESS Build #176 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/5.1/176/
Apache-Phoenix | master | HBase 2.4 | Build #472 FAILURE
master branch HBase 2.4 build #472 status FAILURE Build #472 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/472/
Apache-Phoenix | 5.1 | HBase 2.3 | Build #176 SUCCESS
5.1 branch HBase 2.3 build #176 status SUCCESS Build #176 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/5.1/176/
Apache-Phoenix | master | HBase 2.3 | Build #472 FAILURE
master branch HBase 2.3 build #472 status FAILURE Build #472 https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-mulitbranch/job/master/472/
[phoenix] branch 5.1 updated: PHOENIX-6818 Remove dependency on the i18n-util library
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch 5.1 in repository https://gitbox.apache.org/repos/asf/phoenix.git The following commit(s) were added to refs/heads/5.1 by this push: new 35a8b52d7a PHOENIX-6818 Remove dependency on the i18n-util library 35a8b52d7a is described below commit 35a8b52d7a86d090ef514857382359875ca2cf5b Author: Mate Szalay-Beko AuthorDate: Thu Nov 10 16:11:49 2022 +0100 PHOENIX-6818 Remove dependency on the i18n-util library i18n-util is not maintained anymore, but uses icu4j dependencies having CVE issues. To avoid these problems, I copied the relevant code from i18n-util and used the latest icu4j version. --- dev/release_files/LICENSE |2 +- phoenix-core/pom.xml |8 +- .../expression/function/CollationKeyFunction.java | 12 +- .../phoenix/expression/function/LowerFunction.java |3 +- .../phoenix/expression/function/UpperFunction.java | 21 +- .../apache/phoenix/util/DeferredStringBuilder.java | 135 +++ .../apache/phoenix/util/i18n/LinguisticSort.java | 1172 .../org/apache/phoenix/util/i18n/LocaleUtils.java | 86 ++ .../org/apache/phoenix/util/i18n/OracleUpper.java | 82 ++ .../apache/phoenix/util/i18n/OracleUpperTable.java | 337 ++ .../org/apache/phoenix/util/i18n/package-info.java | 27 + .../phoenix/util/i18n/LinguisticSortTest.java | 650 +++ .../util/i18n/OracleUpperTableGeneratorTest.java | 391 +++ pom.xml| 13 +- 14 files changed, 2912 insertions(+), 27 deletions(-) diff --git a/dev/release_files/LICENSE b/dev/release_files/LICENSE index 4577518c7a..c3c68268f8 100644 --- a/dev/release_files/LICENSE +++ b/dev/release_files/LICENSE @@ -254,7 +254,7 @@ Janino Compiler (https://github.com/janino-compiler/janino) Hamcrest-core 1.3 (http://www.hamcrest.org) Copyright (c) 2000-2006, www.hamcrest.org -i18n-util 1.0.1 (https://github.com/salesforce/i18n-util) Copyright (c) 2017, Salesforce.com, Inc. All rights reserved. +icu4j (https://github.com/unicode-org/icu) Copyright (c) 2016 and later Unicode, Inc. and others. All Rights Reserved. --- diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml index 5369b2b0e5..c8f7a18f30 100644 --- a/phoenix-core/pom.xml +++ b/phoenix-core/pom.xml @@ -516,8 +516,12 @@ stream - com.salesforce.i18n - i18n-util + com.ibm.icu + icu4j + + + com.ibm.icu + icu4j-localespi com.lmax diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java index f5cbdc4557..676b6460df 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java @@ -35,11 +35,11 @@ import org.apache.phoenix.schema.types.PInteger; import org.apache.phoenix.schema.types.PVarbinary; import org.apache.phoenix.schema.types.PVarchar; import org.apache.phoenix.util.VarBinaryFormatter; +import org.apache.phoenix.util.i18n.LinguisticSort; +import org.apache.phoenix.util.i18n.LocaleUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.force.db.i18n.LinguisticSort; -import com.force.i18n.LocaleUtils; /** * A Phoenix Function that calculates a collation key for an input string based @@ -51,10 +51,12 @@ import com.force.i18n.LocaleUtils; * are all valid locale representations. Note the language code, country code * and variant are used as arguments to the constructor of java.util.Locale. * - * This function uses the open-source i18n-util package to obtain the collators - * it needs from the provided locale. + * This function originally used the open-source i18n-util package to obtain the + * collators it needs from the provided locale. As i18n-util is not maintained + * anymore, the relevant parts from it were copied into Phoenix. + * See: https://issues.apache.org/jira/browse/PHOENIX-6818 * - * The LinguisticSort implementation in i18n-util encapsulates sort-related + * The LinguisticSort implementation from i18n-util encapsulates sort-related * functionality for a substantive list of locales. For each locale, it provides * a collator and an Oracle-specific database function that can be used to sort * strings according to the natural language rules of that locale. diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java index f444d36b5f..264ebfbb79 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java +++
[phoenix] 03/03: PHOENIX-6818 Remove dependency on the i18n-util library
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git commit e4861a3fe9e972a85cd7bd431ab886d19168a15f Author: Mate Szalay-Beko AuthorDate: Thu Nov 10 16:11:49 2022 +0100 PHOENIX-6818 Remove dependency on the i18n-util library i18n-util is not maintained anymore, but uses icu4j dependencies having CVE issues. To avoid these problems, I copied the relevant code from i18n-util and used the latest icu4j version. --- dev/release_files/LICENSE |2 +- phoenix-core/pom.xml |8 +- .../expression/function/CollationKeyFunction.java | 12 +- .../phoenix/expression/function/LowerFunction.java |3 +- .../phoenix/expression/function/UpperFunction.java | 21 +- .../apache/phoenix/util/DeferredStringBuilder.java | 135 +++ .../apache/phoenix/util/i18n/LinguisticSort.java | 1172 .../org/apache/phoenix/util/i18n/LocaleUtils.java | 86 ++ .../org/apache/phoenix/util/i18n/OracleUpper.java | 82 ++ .../apache/phoenix/util/i18n/OracleUpperTable.java | 337 ++ .../org/apache/phoenix/util/i18n/package-info.java | 27 + .../phoenix/util/i18n/LinguisticSortTest.java | 650 +++ .../util/i18n/OracleUpperTableGeneratorTest.java | 391 +++ pom.xml| 13 +- 14 files changed, 2912 insertions(+), 27 deletions(-) diff --git a/dev/release_files/LICENSE b/dev/release_files/LICENSE index 4577518c7a..c3c68268f8 100644 --- a/dev/release_files/LICENSE +++ b/dev/release_files/LICENSE @@ -254,7 +254,7 @@ Janino Compiler (https://github.com/janino-compiler/janino) Hamcrest-core 1.3 (http://www.hamcrest.org) Copyright (c) 2000-2006, www.hamcrest.org -i18n-util 1.0.1 (https://github.com/salesforce/i18n-util) Copyright (c) 2017, Salesforce.com, Inc. All rights reserved. +icu4j (https://github.com/unicode-org/icu) Copyright (c) 2016 and later Unicode, Inc. and others. All Rights Reserved. --- diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml index 3df5ef68a2..f1079105d3 100644 --- a/phoenix-core/pom.xml +++ b/phoenix-core/pom.xml @@ -549,8 +549,12 @@ stream - com.salesforce.i18n - i18n-util + com.ibm.icu + icu4j + + + com.ibm.icu + icu4j-localespi com.lmax diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java index f5cbdc4557..676b6460df 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CollationKeyFunction.java @@ -35,11 +35,11 @@ import org.apache.phoenix.schema.types.PInteger; import org.apache.phoenix.schema.types.PVarbinary; import org.apache.phoenix.schema.types.PVarchar; import org.apache.phoenix.util.VarBinaryFormatter; +import org.apache.phoenix.util.i18n.LinguisticSort; +import org.apache.phoenix.util.i18n.LocaleUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.force.db.i18n.LinguisticSort; -import com.force.i18n.LocaleUtils; /** * A Phoenix Function that calculates a collation key for an input string based @@ -51,10 +51,12 @@ import com.force.i18n.LocaleUtils; * are all valid locale representations. Note the language code, country code * and variant are used as arguments to the constructor of java.util.Locale. * - * This function uses the open-source i18n-util package to obtain the collators - * it needs from the provided locale. + * This function originally used the open-source i18n-util package to obtain the + * collators it needs from the provided locale. As i18n-util is not maintained + * anymore, the relevant parts from it were copied into Phoenix. + * See: https://issues.apache.org/jira/browse/PHOENIX-6818 * - * The LinguisticSort implementation in i18n-util encapsulates sort-related + * The LinguisticSort implementation from i18n-util encapsulates sort-related * functionality for a substantive list of locales. For each locale, it provides * a collator and an Oracle-specific database function that can be used to sort * strings according to the natural language rules of that locale. diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java index f444d36b5f..264ebfbb79 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java @@ -30,8 +30,7 @@ import org.apache.phoenix.parse.FunctionParseNode; import org.apache.phoenix.schema.tuple.Tuple; import
[phoenix] 01/03: PHOENIX-6829: Add code coverage report aggregation with Jacoco
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git commit 4ed1a16351e12e1f3b892864d72ee15599e6dd4e Author: Dóra Horváth AuthorDate: Thu Nov 3 12:43:44 2022 +0100 PHOENIX-6829: Add code coverage report aggregation with Jacoco --- dev/code-coverage/README.md | 9 +- dev/code-coverage/run-coverage.sh | 6 +- phantomjsdriver.log | 675 ++ pom.xml | 42 ++- test-reporting/pom.xml| 108 ++ 5 files changed, 830 insertions(+), 10 deletions(-) diff --git a/dev/code-coverage/README.md b/dev/code-coverage/README.md index 713fde79ef..6772426094 100644 --- a/dev/code-coverage/README.md +++ b/dev/code-coverage/README.md @@ -18,17 +18,18 @@ # Code analysis -The `run-coverage.sh` script runs maven with the codecoverage profile +The `run-coverage.sh` script runs maven with the **coverage** profile which generates the test coverage data for the java classes. If the required parameters are given it also runs the sonar code analysis and uploads the results to the given SonarQube Server. ## Running code analysis -After running the script the JaCoCo code coverage library generated reports can -be found under the `target/site/jacoco/` folders of each module and submodule. +After running the script the aggregated report generated by the JaCoCo +code coverage library can be found in the test-reporting module +under the `/target/code-coverage/jacoco-reports/` folder. -Here is how you can generate the code coverage reports: +Here is how you can generate the code coverage report: ```./dev/code-coverage/run-coverage.sh``` diff --git a/dev/code-coverage/run-coverage.sh b/dev/code-coverage/run-coverage.sh index d84360a419..ff066e578c 100755 --- a/dev/code-coverage/run-coverage.sh +++ b/dev/code-coverage/run-coverage.sh @@ -46,13 +46,11 @@ execute() { THREADS=1 fi - mvn clean install -B -e -f "${MAIN_POM}" -Pcodecoverage -DskipShade -DskipTests -fn -T "$THREADS" - mvn test -B -e -f "${MAIN_POM}" -Pcodecoverage -DskipShade -Dparallel-tests -fn -T "$THREADS" - mvn verify -B -e -f "${MAIN_POM}" -Pcodecoverage -DskipTests -fn -T "$THREADS" + mvn -B -e -f "${MAIN_POM}" clean verify -Pcoverage -Dskip.code-coverage -fn -T "$THREADS" # If the required parameters are given, the code coverage results are uploaded to the SonarQube Server if [ -n "$SONAR_LOGIN" ] && [ -n "$SONAR_PROJECT_KEY" ] && [ -n "$SONAR_URL" ]; then -mvn -B -e -f "${MAIN_POM}" -T "$THREADS" -Psonar sonar:sonar -Dsonar.host.url="$SONAR_URL" \ +mvn -B -e -f "${MAIN_POM}" -T "$THREADS" -Pcoverage sonar:sonar -Dsonar.host.url="$SONAR_URL" \ -Dsonar.login="$SONAR_LOGIN" -Dsonar.projectKey="$SONAR_PROJECT_KEY" -Dsonar.projectName="$SONAR_PROJECT_NAME" fi } diff --git a/phantomjsdriver.log b/phantomjsdriver.log new file mode 100644 index 00..df070b4e12 --- /dev/null +++ b/phantomjsdriver.log @@ -0,0 +1,675 @@ +[INFO - 2022-08-22T07:28:26.132Z] GhostDriver - Main - running on port 6361 +[INFO - 2022-08-22T07:28:26.721Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true} +[INFO - 2022-08-22T07:28:26.722Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.customHeaders: - {} +[INFO - 2022-08-22T07:28:26.722Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"mac-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rota [...] +[INFO - 2022-08-22T07:28:26.722Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: 03257ba0-21ec-11ed-9241-8536ef6f93a7 +[ERROR - 2022-08-22T07:28:27.307Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.onError - msg: Spec 'TracingCtrl should fetch trace from phoenix' has no expectations. +[ERROR - 2022-08-22T07:28:27.307Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.onError - stack: + specDone (http://localhost:50322/webjars/jasmine/jasmine-html.js:106) +[INFO - 2022-08-22T07:28:27.535Z] ShutdownReqHand - _handle - About to shutdown +[INFO - 2022-08-22T08:36:57.095Z] GhostDriver - Main - running on port 16990 +[INFO - 2022-08-22T08:36:57.332Z] Session [95436700-21f5-11ed-8a37-73a8b9a3b7a5] - page.settings -
[phoenix] 02/03: remove unnecessary test-reporting module
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git commit 669ad21b86b4e4d8868e43624b6124220149d8dc Author: Dóra Horváth AuthorDate: Thu Nov 10 21:13:43 2022 +0100 remove unnecessary test-reporting module --- dev/code-coverage/README.md | 2 +- phantomjsdriver.log | 675 phoenix-assembly/pom.xml| 67 + pom.xml | 9 +- test-reporting/pom.xml | 108 --- 5 files changed, 70 insertions(+), 791 deletions(-) diff --git a/dev/code-coverage/README.md b/dev/code-coverage/README.md index 6772426094..ab7289c6a9 100644 --- a/dev/code-coverage/README.md +++ b/dev/code-coverage/README.md @@ -26,7 +26,7 @@ and uploads the results to the given SonarQube Server. ## Running code analysis After running the script the aggregated report generated by the JaCoCo -code coverage library can be found in the test-reporting module +code coverage library can be found in the phoenix-assembly module under the `/target/code-coverage/jacoco-reports/` folder. Here is how you can generate the code coverage report: diff --git a/phantomjsdriver.log b/phantomjsdriver.log deleted file mode 100644 index df070b4e12..00 --- a/phantomjsdriver.log +++ /dev/null @@ -1,675 +0,0 @@ -[INFO - 2022-08-22T07:28:26.132Z] GhostDriver - Main - running on port 6361 -[INFO - 2022-08-22T07:28:26.721Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true} -[INFO - 2022-08-22T07:28:26.722Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.customHeaders: - {} -[INFO - 2022-08-22T07:28:26.722Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"mac-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rota [...] -[INFO - 2022-08-22T07:28:26.722Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: 03257ba0-21ec-11ed-9241-8536ef6f93a7 -[ERROR - 2022-08-22T07:28:27.307Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.onError - msg: Spec 'TracingCtrl should fetch trace from phoenix' has no expectations. -[ERROR - 2022-08-22T07:28:27.307Z] Session [03257ba0-21ec-11ed-9241-8536ef6f93a7] - page.onError - stack: - specDone (http://localhost:50322/webjars/jasmine/jasmine-html.js:106) -[INFO - 2022-08-22T07:28:27.535Z] ShutdownReqHand - _handle - About to shutdown -[INFO - 2022-08-22T08:36:57.095Z] GhostDriver - Main - running on port 16990 -[INFO - 2022-08-22T08:36:57.332Z] Session [95436700-21f5-11ed-8a37-73a8b9a3b7a5] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true} -[INFO - 2022-08-22T08:36:57.332Z] Session [95436700-21f5-11ed-8a37-73a8b9a3b7a5] - page.customHeaders: - {} -[INFO - 2022-08-22T08:36:57.332Z] Session [95436700-21f5-11ed-8a37-73a8b9a3b7a5] - Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"mac-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rota [...] -[INFO - 2022-08-22T08:36:57.332Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: 95436700-21f5-11ed-8a37-73a8b9a3b7a5 -[ERROR - 2022-08-22T08:36:57.659Z] Session [95436700-21f5-11ed-8a37-73a8b9a3b7a5] - page.onError - msg: Spec 'TracingCtrl should fetch trace from phoenix' has no expectations. -[ERROR - 2022-08-22T08:36:57.659Z] Session [95436700-21f5-11ed-8a37-73a8b9a3b7a5] - page.onError - stack: - specDone (http://localhost:58030/webjars/jasmine/jasmine-html.js:106) -[INFO - 2022-08-22T08:36:57.794Z] ShutdownReqHand - _handle - About to shutdown -[INFO - 2022-08-22T11:45:50.526Z] GhostDriver - Main - running on port 25948 -[INFO - 2022-08-22T11:45:50.867Z] Session [f892fdb0-220f-11ed-a235-bf803a631d1d] - page.settings -
[phoenix] branch master updated (8820d69fa2 -> e4861a3fe9)
This is an automated email from the ASF dual-hosted git repository. stoty pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git from 8820d69fa2 PHOENIX-6827 Update hbase-version to 2.4.15 in phoenix master branch (#1523) new 4ed1a16351 PHOENIX-6829: Add code coverage report aggregation with Jacoco new 669ad21b86 remove unnecessary test-reporting module new e4861a3fe9 PHOENIX-6818 Remove dependency on the i18n-util library The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: dev/code-coverage/README.md|9 +- dev/code-coverage/run-coverage.sh |6 +- dev/release_files/LICENSE |2 +- phoenix-assembly/pom.xml | 67 ++ phoenix-core/pom.xml |8 +- .../expression/function/CollationKeyFunction.java | 12 +- .../phoenix/expression/function/LowerFunction.java |3 +- .../phoenix/expression/function/UpperFunction.java | 21 +- .../apache/phoenix/util/DeferredStringBuilder.java | 135 +++ .../apache/phoenix/util/i18n/LinguisticSort.java | 1172 .../org/apache/phoenix/util/i18n/LocaleUtils.java | 86 ++ .../org/apache/phoenix/util/i18n/OracleUpper.java | 82 ++ .../apache/phoenix/util/i18n/OracleUpperTable.java | 337 ++ .../org/apache/phoenix/util/i18n/package-info.java | 11 + .../phoenix/util/i18n/LinguisticSortTest.java | 650 +++ .../util/i18n/OracleUpperTableGeneratorTest.java | 391 +++ pom.xml| 50 +- 17 files changed, 3005 insertions(+), 37 deletions(-) create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/util/DeferredStringBuilder.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/util/i18n/LinguisticSort.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/util/i18n/LocaleUtils.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/util/i18n/OracleUpper.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/util/i18n/OracleUpperTable.java copy src/main/config/checkstyle/header.txt => phoenix-core/src/main/java/org/apache/phoenix/util/i18n/package-info.java (65%) create mode 100644 phoenix-core/src/test/java/org/apache/phoenix/util/i18n/LinguisticSortTest.java create mode 100644 phoenix-core/src/test/java/org/apache/phoenix/util/i18n/OracleUpperTableGeneratorTest.java