List of usage examples for org.apache.cassandra.db ColumnFamilyStore createColumnFamilyStore
public static synchronized ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, TableMetadataRef metadata, boolean loadSSTables)
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); } }