List of usage examples for org.apache.cassandra.dht LocalPartitioner LocalPartitioner
public LocalPartitioner(AbstractType<?> comparator)
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);// ww w . java2 s .com 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); } }