From 459cf303d85fa49181d8b2dc5ee40621e4b6c99e Mon Sep 17 00:00:00 2001 From: Mihailo Milosevic Date: Thu, 30 May 2024 09:51:01 +0200 Subject: [PATCH 1/3] Fix OracleIntegrationSuite for JDK8 --- .../org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala index 2c97a588670a..f753882b18a0 100644 --- a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala +++ b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala @@ -95,7 +95,7 @@ class OracleIntegrationSuite extends DockerJDBCIntegrationV2Suite with V2JDBCTes " bonus BINARY_DOUBLE)").executeUpdate() connection.prepareStatement( s"""CREATE TABLE pattern_testing_table ( - |pattern_testing_col VARCHAR(50) + |pattern_testing_col VARCHAR2(50) |) """.stripMargin ).executeUpdate() From 79fb7cd9ed6203450944bd10de59611a62c37a53 Mon Sep 17 00:00:00 2001 From: Mihailo Milosevic Date: Thu, 30 May 2024 10:07:38 +0200 Subject: [PATCH 2/3] Revert "Fix OracleIntegrationSuite for JDK8" This reverts commit d54453ee8a8e04256d2cd85b83f845b352e7caf9. --- .../org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala index f753882b18a0..2c97a588670a 100644 --- a/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala +++ b/connector/docker-integration-tests/src/test/scala/org/apache/spark/sql/jdbc/v2/OracleIntegrationSuite.scala @@ -95,7 +95,7 @@ class OracleIntegrationSuite extends DockerJDBCIntegrationV2Suite with V2JDBCTes " bonus BINARY_DOUBLE)").executeUpdate() connection.prepareStatement( s"""CREATE TABLE pattern_testing_table ( - |pattern_testing_col VARCHAR2(50) + |pattern_testing_col VARCHAR(50) |) """.stripMargin ).executeUpdate() From e9f7c6d2c54c38abfa5913288b6ae33e482be722 Mon Sep 17 00:00:00 2001 From: Mihailo Milosevic Date: Wed, 13 Nov 2024 14:01:16 +0100 Subject: [PATCH 3/3] Fix tvf collations --- .../sql/catalyst/util/CollationFactory.java | 6 ++++-- .../org/apache/spark/sql/CollationSuite.scala | 16 ++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/common/unsafe/src/main/java/org/apache/spark/sql/catalyst/util/CollationFactory.java b/common/unsafe/src/main/java/org/apache/spark/sql/catalyst/util/CollationFactory.java index ad5e5ae845f8..4064f830e92d 100644 --- a/common/unsafe/src/main/java/org/apache/spark/sql/catalyst/util/CollationFactory.java +++ b/common/unsafe/src/main/java/org/apache/spark/sql/catalyst/util/CollationFactory.java @@ -1023,12 +1023,14 @@ protected Collation buildCollation() { @Override protected CollationMeta buildCollationMeta() { + String language = ICULocaleMap.get(locale).getDisplayLanguage(); + String country = ICULocaleMap.get(locale).getDisplayCountry(); return new CollationMeta( CATALOG, SCHEMA, normalizedCollationName(), - ICULocaleMap.get(locale).getDisplayLanguage(), - ICULocaleMap.get(locale).getDisplayCountry(), + language.isEmpty() ? null : language, + country.isEmpty() ? null : country, VersionInfo.ICU_VERSION.toString(), COLLATION_PAD_ATTRIBUTE, accentSensitivity == AccentSensitivity.AS, diff --git a/sql/core/src/test/scala/org/apache/spark/sql/CollationSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/CollationSuite.scala index 9716d342bb6b..f5cb30809ae5 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/CollationSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/CollationSuite.scala @@ -2037,21 +2037,21 @@ class CollationSuite extends DatasourceV2SQLBase with AdaptiveSparkPlanHelper { "ACCENT_SENSITIVE", "CASE_SENSITIVE", "NO_PAD", null), Row("SYSTEM", "BUILTIN", "UTF8_LCASE", null, null, "ACCENT_SENSITIVE", "CASE_INSENSITIVE", "NO_PAD", null), - Row("SYSTEM", "BUILTIN", "UNICODE", "", "", + Row("SYSTEM", "BUILTIN", "UNICODE", null, null, "ACCENT_SENSITIVE", "CASE_SENSITIVE", "NO_PAD", icvVersion), - Row("SYSTEM", "BUILTIN", "UNICODE_AI", "", "", + Row("SYSTEM", "BUILTIN", "UNICODE_AI", null, null, "ACCENT_INSENSITIVE", "CASE_SENSITIVE", "NO_PAD", icvVersion), - Row("SYSTEM", "BUILTIN", "UNICODE_CI", "", "", + Row("SYSTEM", "BUILTIN", "UNICODE_CI", null, null, "ACCENT_SENSITIVE", "CASE_INSENSITIVE", "NO_PAD", icvVersion), - Row("SYSTEM", "BUILTIN", "UNICODE_CI_AI", "", "", + Row("SYSTEM", "BUILTIN", "UNICODE_CI_AI", null, null, "ACCENT_INSENSITIVE", "CASE_INSENSITIVE", "NO_PAD", icvVersion), - Row("SYSTEM", "BUILTIN", "af", "Afrikaans", "", + Row("SYSTEM", "BUILTIN", "af", "Afrikaans", null, "ACCENT_SENSITIVE", "CASE_SENSITIVE", "NO_PAD", icvVersion), - Row("SYSTEM", "BUILTIN", "af_AI", "Afrikaans", "", + Row("SYSTEM", "BUILTIN", "af_AI", "Afrikaans", null, "ACCENT_INSENSITIVE", "CASE_SENSITIVE", "NO_PAD", icvVersion), - Row("SYSTEM", "BUILTIN", "af_CI", "Afrikaans", "", + Row("SYSTEM", "BUILTIN", "af_CI", "Afrikaans", null, "ACCENT_SENSITIVE", "CASE_INSENSITIVE", "NO_PAD", icvVersion), - Row("SYSTEM", "BUILTIN", "af_CI_AI", "Afrikaans", "", + Row("SYSTEM", "BUILTIN", "af_CI_AI", "Afrikaans", null, "ACCENT_INSENSITIVE", "CASE_INSENSITIVE", "NO_PAD", icvVersion))) checkAnswer(sql("SELECT * FROM collations() WHERE NAME LIKE '%UTF8_BINARY%'"),