Class CassandraSchema

  • All Implemented Interfaces:
    Schema

    public class CassandraSchema
    extends AbstractSchema
    Schema mapped onto a Cassandra column family
    • Field Detail

      • session

        final com.datastax.driver.core.Session session
      • keyspace

        final java.lang.String keyspace
      • parentSchema

        private final SchemaPlus parentSchema
      • name

        final java.lang.String name
      • LOGGER

        protected static final org.slf4j.Logger LOGGER
      • DEFAULT_CASSANDRA_PORT

        private static final int DEFAULT_CASSANDRA_PORT
        See Also:
        Constant Field Values
    • Constructor Detail

      • CassandraSchema

        public CassandraSchema​(java.lang.String host,
                               java.lang.String keyspace,
                               SchemaPlus parentSchema,
                               java.lang.String name)
        Creates a Cassandra schema.
        Parameters:
        host - Cassandra host, e.g. "localhost"
        keyspace - Cassandra keyspace name, e.g. "twissandra"
      • CassandraSchema

        public CassandraSchema​(java.lang.String host,
                               int port,
                               java.lang.String keyspace,
                               SchemaPlus parentSchema,
                               java.lang.String name)
        Creates a Cassandra schema.
        Parameters:
        host - Cassandra host, e.g. "localhost"
        port - Cassandra port, e.g. 9042
        keyspace - Cassandra keyspace name, e.g. "twissandra"
      • CassandraSchema

        public CassandraSchema​(java.lang.String host,
                               java.lang.String keyspace,
                               java.lang.String username,
                               java.lang.String password,
                               SchemaPlus parentSchema,
                               java.lang.String name)
        Creates a Cassandra schema.
        Parameters:
        host - Cassandra host, e.g. "localhost"
        keyspace - Cassandra keyspace name, e.g. "twissandra"
        username - Cassandra username
        password - Cassandra password
      • CassandraSchema

        public CassandraSchema​(java.lang.String host,
                               int port,
                               java.lang.String keyspace,
                               java.lang.String username,
                               java.lang.String password,
                               SchemaPlus parentSchema,
                               java.lang.String name)
        Creates a Cassandra schema.
        Parameters:
        host - Cassandra host, e.g. "localhost"
        port - Cassandra port, e.g. 9042
        keyspace - Cassandra keyspace name, e.g. "twissandra"
        username - Cassandra username
        password - Cassandra password
    • Method Detail

      • getRelDataType

        RelProtoDataType getRelDataType​(java.lang.String columnFamily,
                                        boolean view)
      • getKeyFields

        Pair<java.util.List<java.lang.String>,​java.util.List<java.lang.String>> getKeyFields​(java.lang.String columnFamily,
                                                                                                   boolean view)
        Get all primary key columns from the underlying CQL table
        Returns:
        A list of field names that are part of the partition and clustering keys
      • getClusteringOrder

        public java.util.List<RelFieldCollation> getClusteringOrder​(java.lang.String columnFamily,
                                                                    boolean view)
        Get the collation of all clustering key columns.
        Returns:
        A RelCollations representing the collation of all clustering keys
      • addMaterializedViews

        private void addMaterializedViews()
        Add all materialized views defined in the schema to this column family
      • getKeyspace

        private com.datastax.driver.core.KeyspaceMetadata getKeyspace()