public ByteBuffer getClusteringColumn(int i) { return cell.get(i); }
public ByteBuffer getClusteringColumn(int i) { return cell.name().get(i); }
private void addClusteringKeyFields(CellName clusteringKey, long timestamp, IndexEntryBuilder builder) { for (Map.Entry<String, ColumnDefinition> entry : options.clusteringKeysIndexed.entrySet()) { ByteBuffer value = clusteringKey.get(entry.getValue().position()); addKeyField(timestamp, entry, value, builder); } }
public CellName extractClusteringKey(CellName cellName) { int clusterColumns = table.metadata.clusteringColumns().size(); Object[] components = new ByteBuffer[clusterColumns + 1]; for (int i = 0; i < clusterColumns; i++) { components[i] = cellName.get(i); } components[clusterColumns] = ByteBufferUtil.EMPTY_BYTE_BUFFER; return clusteringCType.makeCellName(components); }
protected ByteBuffer getIndexedValue(ByteBuffer rowKey, Cell cell) { return cell.name().get(columnDef.position() + 1); }
protected ByteBuffer getIndexedValue(ByteBuffer rowKey, Cell cell) { return cell.name().get(columnDef.position()); }
public boolean equals(CellName that) { int size = this.size(); if (size != that.size()) return false; for (int i = 0 ; i < size ; i++) if (!get(i).equals(that.get(i))) return false; return true; }
protected int sizeOf(Cell cell) { int size = CELL_NAME_OFFSETS_OFFSET + Math.max(0, cell.name().size() - 1) * 2 + cell.value().remaining(); CellName name = cell.name(); for (int i = 0; i < name.size(); i++) size += name.get(i).remaining(); return size; }
public IndexedEntry decodeEntry(DecoratedKey indexedValue, Cell indexEntry) { int prefixSize = columnDef.position(); CellName name = indexEntry.name(); CBuilder builder = baseCfs.getComparator().builder(); for (int i = 0; i < prefixSize; i++) builder.add(name.get(i + 1)); return new IndexedEntry(indexedValue, name, indexEntry.timestamp(), name.get(0), builder.build(), name.get(prefixSize + 1)); }
public final Composite start(CellName cellName) { CBuilder builder = clusteringCType.builder(); for (int i = 0; i < cellName.clusteringSize(); i++) { ByteBuffer component = cellName.get(i); builder.add(component); } return builder.build(); }
public IndexedEntry decodeEntry(DecoratedKey indexedValue, Cell indexEntry) { int ckCount = baseCfs.metadata.clusteringColumns().size(); CBuilder builder = baseCfs.getComparator().builder(); for (int i = 0; i < ckCount; i++) builder.add(indexEntry.name().get(i + 1)); return new IndexedEntry(indexedValue, indexEntry.name(), indexEntry.timestamp(), indexEntry.name().get(0), builder.build()); }
public IndexedEntry decodeEntry(DecoratedKey indexedValue, Cell indexEntry) { int count = 1 + baseCfs.metadata.clusteringColumns().size(); CBuilder builder = baseCfs.getComparator().builder(); for (int i = 0; i < count - 1; i++) builder.add(indexEntry.name().get(i + 1)); return new IndexedEntry(indexedValue, indexEntry.name(), indexEntry.timestamp(), indexEntry.name().get(0), builder.build()); }
public IndexedEntry decodeEntry(DecoratedKey indexedValue, Cell indexEntry) { int ckCount = baseCfs.metadata.clusteringColumns().size(); CBuilder builder = baseCfs.getComparator().builder(); for (int i = 0; i < columnDef.position(); i++) builder.add(indexEntry.name().get(i + 1)); builder.add(indexedValue.getKey()); for (int i = columnDef.position() + 1; i < ckCount; i++) builder.add(indexEntry.name().get(i)); return new IndexedEntry(indexedValue, indexEntry.name(), indexEntry.timestamp(), indexEntry.name().get(0), builder.build()); }
@Override public boolean indexes(CellName name) { // We index if the CQL3 column name is the one of the collection we index AbstractType<?> comp = baseCfs.metadata.getColumnDefinitionComparator(columnDef); return name.size() > columnDef.position() && comp.compare(name.get(columnDef.position()), columnDef.name.bytes) == 0; }
public IndexedEntry decodeEntry(DecoratedKey indexedValue, Cell indexEntry) { CBuilder builder = baseCfs.getComparator().builder(); for (int i = 0; i < columnDef.position(); i++) builder.add(indexEntry.name().get(i + 1)); return new IndexedEntry(indexedValue, indexEntry.name(), indexEntry.timestamp(), indexEntry.name().get(0), builder.build()); }
@Override public boolean indexes(CellName name) { AbstractType<?> comp = baseCfs.metadata.getColumnDefinitionComparator(columnDef); return name.size() > columnDef.position() && comp.compare(name.get(columnDef.position()), columnDef.name.bytes) == 0; }
@Override public boolean indexes(CellName name) { AbstractType<?> comp = baseCfs.metadata.getColumnDefinitionComparator(columnDef); return name.size() > columnDef.position() && comp.compare(name.get(columnDef.position()), columnDef.name.bytes) == 0; }
public boolean isSameCQL3RowAs(CellNameType type, CellName other) { if (clusteringSize() != other.clusteringSize() || other.isStatic() != isStatic()) return false; for (int i = 0; i < clusteringSize(); i++) { if (type.subtype(i).compare(elements[i], other.get(i)) != 0) return false; } return true; }
protected void construct(Cell from) { setLong(TIMESTAMP_OFFSET, from.timestamp()); CellName name = from.name(); int nameSize = name.size(); int offset = CELL_NAME_SIZE_OFFSET; setShort(offset, (short) nameSize); assert nameSize - name.clusteringSize() <= 2; byte cellNameExtraBits = (byte) ((nameSize - name.clusteringSize()) | NameType.typeOf(name).bits); setByte(offset += 2, cellNameExtraBits); offset += 1; short cellNameDelta = 0; for (int i = 1; i < nameSize; i++) { cellNameDelta += name.get(i - 1).remaining(); setShort(offset, cellNameDelta); offset += 2; } for (int i = 0; i < nameSize; i++) { ByteBuffer bb = name.get(i); setBytes(offset, bb); offset += bb.remaining(); } setInt(VALUE_OFFSET_OFFSET, offset); setBytes(offset, from.value()); }
public boolean isSameCQL3RowAs(CellNameType type, CellName other) { switch (nametype()) { case SIMPLE_DENSE: case COMPOUND_DENSE: return type.compare(this, other) == 0; case COMPOUND_SPARSE_STATIC: case COMPOUND_SPARSE: int clusteringSize = clusteringSize(); if (clusteringSize != other.clusteringSize() || other.isStatic() != isStatic()) return false; for (int i = 0; i < clusteringSize; i++) if (type.subtype(i).compare(get(i), other.get(i)) != 0) return false; return true; case SIMPLE_SPARSE: return true; default: throw new AssertionError(); } }