List of usage examples for org.apache.cassandra.db ColumnFamilyStore getComparator
public ClusteringComparator getComparator()
From source file:com.stratio.cassandra.lucene.IndexService.java
License:Apache License
/** * Returns a new index service for the specified indexed table and index metadata. * * @param table the indexed table/* w ww . j a va 2 s . c o m*/ * @param indexMetadata the index metadata * @return the index service */ public static IndexService build(ColumnFamilyStore table, IndexMetadata indexMetadata) { return table.getComparator().subtypes().isEmpty() ? new IndexServiceSkinny(table, indexMetadata) : new IndexServiceWide(table, indexMetadata); }
From source file:com.tuplejump.stargate.cassandra.CustomColumnFactory.java
License:Apache License
public Row getRowWithMetaColumn(ColumnFamilyStore table, RowIndex currentIndex, ByteBuffer metaColumnValue) { ByteBuffer partitionKey = partitionKey(table); ColumnFamily cleanColumnFamily = TreeMapBackedSortedColumns.factory.create(table.metadata); CompositeType baseComparator = (CompositeType) table.getComparator(); int prefixSize = baseComparator.types.size() - (table.metadata.getCfDef().hasCollections ? 2 : 1); addKeyColumnsWithDefaultValues(table, baseComparator, prefixSize, cleanColumnFamily); if (currentIndex.isMetaColumn()) { String indexColumnName = currentIndex.getPrimaryColumnName(); Iterable<ColumnDefinition> cols = table.metadata.regularAndStaticColumns(); for (ColumnDefinition columnDef : cols) { addDefaultColumn(table, columnDef, cleanColumnFamily, prefixSize, baseComparator); }/*from ww w . j a v a2 s. c om*/ addMetaColumnValue(table, indexColumnName, metaColumnValue, cleanColumnFamily); DecoratedKey dk = table.partitioner.decorateKey(partitionKey); return new Row(dk, cleanColumnFamily); } else { return null; } }
From source file:com.tuplejump.stargate.cassandra.CustomColumnFactory.java
License:Apache License
private void addMetaColumnValue(ColumnFamilyStore table, String colName, ByteBuffer metaColumnValue, ColumnFamily cleanColumnFamily) { CompositeType baseComparator = (CompositeType) table.getComparator(); int prefixSize = baseComparator.types.size() - (table.metadata.getCfDef().hasCollections ? 2 : 1); CompositeType.Builder builder = baseComparator.builder(); for (int i = 0; i < prefixSize; i++) builder.add(Fields.defaultValue(baseComparator.types.get(i))); builder.add(UTF8Type.instance.decompose(colName)); ByteBuffer finalColumnName = builder.build(); Column scoreColumn = new Column(finalColumnName, metaColumnValue); cleanColumnFamily.addColumn(scoreColumn); }
From source file:com.tuplejump.stargate.cassandra.ErrorReporter.java
License:Apache License
public Row getErrorRow(ColumnFamilyStore table, RowIndex currentIndex, Exception e) { CompositeType baseComparator = (CompositeType) table.getComparator(); int prefixSize = baseComparator.types.size() - (table.metadata.getCfDef().hasCollections ? 2 : 1); ColumnFamily cleanColumnFamily = TreeMapBackedSortedColumns.factory.create(table.metadata); ByteBuffer partitionKey;/*from w ww .j a va 2s . co m*/ AbstractType keyType = table.metadata.getKeyValidator(); if (keyType instanceof CompositeType) { CompositeType compositeType = ((CompositeType) keyType); CompositeType.Builder builder = compositeType.builder(); compositeType.getComponents(); for (AbstractType component : compositeType.getComponents()) { builder.add(Fields.defaultValue(component)); } partitionKey = builder.build(); } else { partitionKey = Fields.defaultValue(keyType); } List<ColumnDefinition> pkCols = table.metadata.partitionKeyColumns(); for (ColumnDefinition columnDef : pkCols) { addDefaultColumn(table, columnDef, cleanColumnFamily, prefixSize, baseComparator); } List<ColumnDefinition> ckCols = table.metadata.clusteringKeyColumns(); for (ColumnDefinition columnDef : ckCols) { addDefaultColumn(table, columnDef, cleanColumnFamily, prefixSize, baseComparator); } if (currentIndex.isMetaColumn()) { String indexColumnName = currentIndex.getPrimaryColumnName(); Iterable<ColumnDefinition> cols = table.metadata.regularAndStaticColumns(); for (ColumnDefinition columnDef : cols) { addDefaultColumn(table, columnDef, cleanColumnFamily, prefixSize, baseComparator); } addErrorColumn(table, indexColumnName, e.getMessage(), cleanColumnFamily); DecoratedKey dk = table.partitioner.decorateKey(partitionKey); return new Row(dk, cleanColumnFamily); } else { return null; } }
From source file:com.tuplejump.stargate.cassandra.ErrorReporter.java
License:Apache License
public void addErrorColumn(ColumnFamilyStore table, String colName, String errorMsg, ColumnFamily cleanColumnFamily) { CompositeType baseComparator = (CompositeType) table.getComparator(); int prefixSize = baseComparator.types.size() - (table.metadata.getCfDef().hasCollections ? 2 : 1); CompositeType.Builder builder = baseComparator.builder(); for (int i = 0; i < prefixSize; i++) builder.add(Fields.defaultValue(baseComparator.types.get(i))); builder.add(UTF8Type.instance.decompose(colName)); ByteBuffer finalColumnName = builder.build(); Column scoreColumn = new Column(finalColumnName, UTF8Type.instance .decompose("{\"error\":\"" + StringEscapeUtils.escapeEcmaScript(errorMsg) + "\"}")); cleanColumnFamily.addColumn(scoreColumn); }
From source file:com.tuplejump.stargate.cassandra.RowScanner.java
License:Apache License
public static ByteBuffer[] getCompositePKComponents(ColumnFamilyStore baseCfs, ByteBuffer pk) { CompositeType baseComparator = (CompositeType) baseCfs.getComparator(); return baseComparator.split(pk); }
From source file:com.tuplejump.stargate.cassandra.TableMapper.java
License:Apache License
public TableMapper(ColumnFamilyStore table, boolean isMetaColumn, ColumnDefinition primaryColumnDefinition) { this.table = table; this.cfMetaData = table.metadata; this.clusteringCType = table.getComparator(); this.primaryKeyAbstractType = table.metadata.getKeyValidator(); this.clusteringKeyType = table.getComparator().asAbstractType(); this.primaryKeyType = CompositeType.getInstance(primaryKeyAbstractType, clusteringKeyType); this.defaultPartitionKey = defaultPartitionKey(); this.isMetaColumn = isMetaColumn; this.primaryColumnDefinition = primaryColumnDefinition; }
From source file:com.tuplejump.stargate.cassandra.TableMapper.java
License:Apache License
private static void addColumn(ColumnFamilyStore table, ColumnFamily cleanColumnFamily, ColumnDefinition columnDefinition, Composite prefix, ByteBuffer metaColumnValue) { if (!columnDefinition.type.asCQL3Type().isCollection()) { CellNameType cellNameType = table.getComparator(); CellName cellName = cellNameType.create(prefix, columnDefinition); Cell scoreColumn = new BufferCell(cellName, metaColumnValue); cleanColumnFamily.addColumn(scoreColumn); }/*from w w w.j ava2 s . co m*/ }
From source file:com.tuplejump.stargate.lucene.query.function.AggregateFunction.java
License:Apache License
public void load(Tuple tuple, Row row, ColumnFamilyStore table) { CompositeType baseComparator = (CompositeType) table.getComparator(); ColumnFamily cf = row.cf;/*w w w. j ava 2s . co m*/ CFDefinition cfDef = table.metadata.getCfDef(); ByteBuffer rowKey = row.key.key; AbstractType<?> keyValidator = table.metadata.getKeyValidator(); Collection<Column> cols = cf.getSortedColumns(); boolean keyColumnsAdded = false; for (Column column : cols) { if (!keyColumnsAdded) { ByteBuffer[] keyComponents = cfDef.hasCompositeKey ? ((CompositeType) table.metadata.getKeyValidator()).split(rowKey) : new ByteBuffer[] { rowKey }; List<AbstractType<?>> keyValidators = keyValidator.getComponents(); for (Map.Entry<Integer, Pair<String, ByteBuffer>> entry : options.partitionKeysIndexed.entrySet()) { ByteBuffer value = keyComponents[entry.getKey()]; AbstractType<?> validator = keyValidators.get(entry.getKey()); String actualColumnName = entry.getValue().left; for (String field : positions.keySet()) { if (actualColumnName.equalsIgnoreCase(field)) { tuple.tuple[this.positions.get(field)] = validator.compose(value); } } } keyColumnsAdded = true; } String actualColumnName = CassandraUtils.getColumnNameStr(baseComparator, column.name()); ByteBuffer colValue = column.value(); AbstractType<?> valueValidator = table.metadata.getValueValidatorFromColumnName(column.name()); if (valueValidator.isCollection()) { CollectionType validator = (CollectionType) valueValidator; AbstractType keyType = validator.nameComparator(); AbstractType valueType = validator.valueComparator(); ByteBuffer[] components = baseComparator.split(column.name()); ByteBuffer keyBuf = components[components.length - 1]; if (valueValidator instanceof MapType) { actualColumnName = actualColumnName + "." + keyType.compose(keyBuf); valueValidator = valueType; } else if (valueValidator instanceof SetType) { colValue = keyBuf; valueValidator = keyType; } else { valueValidator = valueType; } } for (String field : positions.keySet()) { if (actualColumnName.equalsIgnoreCase(field)) { tuple.tuple[this.positions.get(field)] = valueValidator.compose(colValue); } } } }