Example usage for org.apache.cassandra.db ColumnFamilyStore createColumnFamilyStore

List of usage examples for org.apache.cassandra.db ColumnFamilyStore createColumnFamilyStore

Introduction

In this page you can find the example usage for org.apache.cassandra.db ColumnFamilyStore createColumnFamilyStore.

Prototype

public static synchronized ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily,
            TableMetadataRef metadata, boolean loadSSTables) 

Source Link

Usage

From source file:com.mirantis.magnetodb.cassandra.db.index.MagnetoDBLocalSecondaryIndex.java

License:Apache License

public void init() {
    assert baseCfs != null && columnDefs != null && columnDefs.size() == 1;

    columnDef = columnDefs.iterator().next();

    isQueryPropertiesField = Boolean.parseBoolean(columnDef.getIndexOptions().get(QUERY_PROPERTIES_FIELD));

    if (!isQueryPropertiesField) {
        int prefixSize = columnDef.position();
        List<AbstractType<?>> types = new ArrayList<AbstractType<?>>(prefixSize + 1);
        types.add(columnDef.type);/*from   w  ww .  j  a  v  a2 s. c  o m*/
        for (int i = 0; i < prefixSize; i++)
            types.add(baseCfs.metadata.comparator.subtype(i));
        indexComparator = new CompoundDenseCellNameType(types);

        AbstractType<?> keyType = baseCfs.metadata.getKeyValidator();
        CFMetaData indexedCfMetadata = CFMetaData.newIndexMetadata(baseCfs.metadata, columnDef, indexComparator)
                .keyValidator(keyType).rebuild();
        indexCfs = ColumnFamilyStore.createColumnFamilyStore(baseCfs.keyspace, indexedCfMetadata.cfName,
                new LocalPartitioner(keyType), indexedCfMetadata);
    }
}