You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by mm...@apache.org on 2016/10/18 02:25:11 UTC
calcite git commit: [CALCITE-1443] Add authentication support for
Cassandra
Repository: calcite
Updated Branches:
refs/heads/master 25a7d938d -> d0f7dd35c
[CALCITE-1443] Add authentication support for Cassandra
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/d0f7dd35
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/d0f7dd35
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/d0f7dd35
Branch: refs/heads/master
Commit: d0f7dd35ccecf6f2514276e0106b0e6516922b2b
Parents: 25a7d93
Author: Michael Mior <mm...@uwaterloo.ca>
Authored: Mon Oct 17 13:25:51 2016 -0400
Committer: Michael Mior <mm...@uwaterloo.ca>
Committed: Mon Oct 17 22:24:38 2016 -0400
----------------------------------------------------------------------
.../adapter/cassandra/CassandraSchema.java | 22 +++++++++++++++++++-
.../cassandra/CassandraSchemaFactory.java | 4 +++-
2 files changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite/blob/d0f7dd35/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchema.java
----------------------------------------------------------------------
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 f7ba238..d52697a 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
@@ -80,11 +80,31 @@ public class CassandraSchema extends AbstractSchema {
* @param keyspace Cassandra keyspace name, e.g. "twissandra"
*/
public CassandraSchema(String host, String keyspace, SchemaPlus parentSchema, String name) {
+ this(host, keyspace, null, null, parentSchema, name);
+ }
+
+ /**
+ * Creates a Cassandra schema.
+ *
+ * @param host Cassandra host, e.g. "localhost"
+ * @param keyspace Cassandra keyspace name, e.g. "twissandra"
+ * @param username Cassandra username
+ * @param password Cassandra password
+ */
+ public CassandraSchema(String host, String keyspace, String username, String password,
+ SchemaPlus parentSchema, String name) {
super();
this.keyspace = keyspace;
try {
- Cluster cluster = Cluster.builder().addContactPoint(host).build();
+ Cluster cluster;
+ if (username != null && password != null) {
+ cluster = Cluster.builder().addContactPoint(host)
+ .withCredentials(username, password).build();
+ } else {
+ cluster = Cluster.builder().addContactPoint(host).build();
+ }
+
this.session = cluster.connect(keyspace);
} catch (Exception e) {
throw new RuntimeException(e);
http://git-wip-us.apache.org/repos/asf/calcite/blob/d0f7dd35/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchemaFactory.java
----------------------------------------------------------------------
diff --git a/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchemaFactory.java b/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchemaFactory.java
index c380721..136b81b 100644
--- a/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchemaFactory.java
+++ b/cassandra/src/main/java/org/apache/calcite/adapter/cassandra/CassandraSchemaFactory.java
@@ -35,7 +35,9 @@ public class CassandraSchemaFactory implements SchemaFactory {
Map map = (Map) operand;
String host = (String) map.get("host");
String keyspace = (String) map.get("keyspace");
- return new CassandraSchema(host, keyspace, parentSchema, name);
+ String username = (String) map.get("username");
+ String password = (String) map.get("password");
+ return new CassandraSchema(host, keyspace, username, password, parentSchema, name);
}
}