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