This is an automated email from the ASF dual-hosted git repository. zabetak pushed a commit to branch branch-1.21 in repository https://gitbox.apache.org/repos/asf/calcite.git
commit 6fabfd609800824d84fb13703f4d70ac1798c9aa Author: Lindsey Meyer <lame...@users.noreply.github.com> AuthorDate: Tue Sep 3 16:34:17 2019 -0700 [CALCITE-3321] BigQuery does not have correct casing rules (Lindsey Meyer) Close apache/calcite#1438 --- .../java/org/apache/calcite/sql/dialect/BigQuerySqlDialect.java | 6 +++++- core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/apache/calcite/sql/dialect/BigQuerySqlDialect.java b/core/src/main/java/org/apache/calcite/sql/dialect/BigQuerySqlDialect.java index 9475296..8581c68 100644 --- a/core/src/main/java/org/apache/calcite/sql/dialect/BigQuerySqlDialect.java +++ b/core/src/main/java/org/apache/calcite/sql/dialect/BigQuerySqlDialect.java @@ -16,6 +16,7 @@ */ package org.apache.calcite.sql.dialect; +import org.apache.calcite.avatica.util.Casing; import org.apache.calcite.config.NullCollation; import org.apache.calcite.sql.SqlCall; import org.apache.calcite.sql.SqlDialect; @@ -45,7 +46,10 @@ public class BigQuerySqlDialect extends SqlDialect { .withLiteralQuoteString("'") .withLiteralEscapedQuoteString("\\'") .withIdentifierQuoteString("`") - .withNullCollation(NullCollation.LOW)); + .withNullCollation(NullCollation.LOW) + .withUnquotedCasing(Casing.UNCHANGED) + .withQuotedCasing(Casing.UNCHANGED) + .withCaseSensitive(false)); private static final List<String> RESERVED_KEYWORDS = ImmutableList.copyOf( diff --git a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java index c9f8cb5..5a15928 100644 --- a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java +++ b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java @@ -8885,6 +8885,11 @@ public class SqlParserTest { "select unquotedColumn from \"doubleQuotedTable\"", is("SELECT \"unquotedcolumn\"\n" + "FROM \"doublequotedtable\"")); + // BigQuery leaves quoted and unquoted identifers unchanged + checkDialect(SqlDialect.DatabaseProduct.BIG_QUERY.getDialect(), + "select unquotedColumn from `doubleQuotedTable`", + is("SELECT unquotedColumn\n" + + "FROM doubleQuotedTable")); } @Test public void testParenthesizedSubQueries() {