This is an automated email from the ASF dual-hosted git repository.

mmior pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/master by this push:
     new edbaf6c  [CALCITE-2806] Allow uppercase characters in Cassandra table 
names
edbaf6c is described below

commit edbaf6c2b61d10eed082ca33993b919b683fd955
Author: Michael Mior <[email protected]>
AuthorDate: Fri Jan 25 15:48:40 2019 -0500

    [CALCITE-2806] Allow uppercase characters in Cassandra table names
---
 .../apache/calcite/adapter/cassandra/CassandraSchema.java    | 12 ++++++------
 .../java/org/apache/calcite/test/CassandraAdapterTest.java   |  2 +-
 cassandra/src/test/resources/twissandra.cql                  |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git 
a/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java
 
b/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java
index eac7002..a2a3282 100644
--- 
a/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java
+++ 
b/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java
@@ -150,9 +150,9 @@ public class CassandraSchema extends AbstractSchema {
   RelProtoDataType getRelDataType(String columnFamily, boolean view) {
     List<ColumnMetadata> columns;
     if (view) {
-      columns = getKeyspace().getMaterializedView(columnFamily).getColumns();
+      columns = getKeyspace().getMaterializedView("\"" + columnFamily + 
"\"").getColumns();
     } else {
-      columns = getKeyspace().getTable(columnFamily).getColumns();
+      columns = getKeyspace().getTable("\"" + columnFamily + 
"\"").getColumns();
     }
 
     // Temporary type factory, just for the duration of this method. Allowable
@@ -197,9 +197,9 @@ public class CassandraSchema extends AbstractSchema {
   Pair<List<String>, List<String>> getKeyFields(String columnFamily, boolean 
view) {
     AbstractTableMetadata table;
     if (view) {
-      table = getKeyspace().getMaterializedView(columnFamily);
+      table = getKeyspace().getMaterializedView("\"" + columnFamily + "\"");
     } else {
-      table = getKeyspace().getTable(columnFamily);
+      table = getKeyspace().getTable("\"" + columnFamily + "\"");
     }
 
     List<ColumnMetadata> partitionKey = table.getPartitionKey();
@@ -225,9 +225,9 @@ public class CassandraSchema extends AbstractSchema {
   public List<RelFieldCollation> getClusteringOrder(String columnFamily, 
boolean view) {
     AbstractTableMetadata table;
     if (view) {
-      table = getKeyspace().getMaterializedView(columnFamily);
+      table = getKeyspace().getMaterializedView("\"" + columnFamily + "\"");
     } else {
-      table = getKeyspace().getTable(columnFamily);
+      table = getKeyspace().getTable("\"" + columnFamily + "\"");
     }
 
     List<ClusteringOrder> clusteringOrder = table.getClusteringOrder();
diff --git 
a/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java 
b/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java
index 29dda35..a6818c1 100644
--- a/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java
+++ b/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java
@@ -226,7 +226,7 @@ public class CassandraAdapterTest {
         .with(TWISSANDRA)
         .query("select \"tweet_id\" from \"tweets\" where 
\"username\"='JmuhsAaMdw'")
         .enableMaterializations(true)
-        .explainContains("CassandraTableScan(table=[[twissandra, 
tweets_by_user]])");
+        .explainContains("CassandraTableScan(table=[[twissandra, 
Tweets_By_User]])");
   }
 }
 
diff --git a/cassandra/src/test/resources/twissandra.cql 
b/cassandra/src/test/resources/twissandra.cql
index 4930431..903f5f0 100644
--- a/cassandra/src/test/resources/twissandra.cql
+++ b/cassandra/src/test/resources/twissandra.cql
@@ -56,7 +56,7 @@ CREATE TABLE twissandra.timeline (
     PRIMARY KEY (username, time)
 ) WITH CLUSTERING ORDER BY (time DESC);
 
-CREATE MATERIALIZED VIEW twissandra.tweets_by_user AS
+CREATE MATERIALIZED VIEW twissandra."Tweets_By_User" AS
     SELECT username, tweet_id
     FROM twissandra.tweets
     WHERE username IS NOT NULL

Reply via email to