You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2021/06/25 16:14:54 UTC
[iceberg] branch master updated: Spark: Fix check for SQL
extensions with extra white space (#2729)
This is an automated email from the ASF dual-hosted git repository.
blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/master by this push:
new c3ac4c6 Spark: Fix check for SQL extensions with extra white space (#2729)
c3ac4c6 is described below
commit c3ac4c6ca74a0013b4705d5bd5d17fade8e6f499
Author: Tim Jiang <jt...@gmail.com>
AuthorDate: Fri Jun 25 09:14:45 2021 -0700
Spark: Fix check for SQL extensions with extra white space (#2729)
---
.../catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala | 2 +-
.../apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/spark3-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala b/spark3-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala
index d301b75..1379dac 100644
--- a/spark3-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala
+++ b/spark3-extensions/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala
@@ -109,7 +109,7 @@ class IcebergSparkSqlExtensionsParser(delegate: ParserInterface) extends ParserI
}
private def isIcebergCommand(sqlText: String): Boolean = {
- val normalized = sqlText.toLowerCase(Locale.ROOT).trim()
+ val normalized = sqlText.toLowerCase(Locale.ROOT).trim().replaceAll("\\s+", " ")
normalized.startsWith("call") || (
normalized.startsWith("alter table") && (
normalized.contains("add partition field") ||
diff --git a/spark3-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java b/spark3-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java
index af9b837..9d63050 100644
--- a/spark3-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java
+++ b/spark3-extensions/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java
@@ -265,7 +265,8 @@ public class TestAlterTablePartitionFields extends SparkExtensionsTestBase {
Assert.assertEquals("Table should have 1 partition field", 1, table.spec().fields().size());
- sql("ALTER TABLE %s DROP PARTITION FIELD shard", tableName);
+ // Should be recognized as iceberg command even with extra white spaces
+ sql("ALTER TABLE %s DROP PARTITION \n FIELD shard", tableName);
table.refresh();