/** * Add a SuperColumn insertion (or update) to the batch mutation request. */ public BatchMutation<K> addSuperInsertion(K key, List<String> columnFamilies, SuperColumn superColumn) { Mutation mutation = new Mutation(); mutation.setColumn_or_supercolumn(new ColumnOrSuperColumn().setSuper_column(superColumn)); addMutation(key, columnFamilies, mutation); return this; }
d.setPredicate(sp); d.setTimestamp(commitTime.getDeletionTime(times)); org.apache.cassandra.thrift.Mutation m = new org.apache.cassandra.thrift.Mutation(); m.setDeletion(d); thriftMutation.add(m); ColumnOrSuperColumn cosc = new ColumnOrSuperColumn(); Column column = new Column(ent.getColumnAs(StaticBuffer.BB_FACTORY)); column.setValue(ent.getValueAs(StaticBuffer.BB_FACTORY)); column.setTimestamp(commitTime.getAdditionTime(times)); cosc.setColumn(column); org.apache.cassandra.thrift.Mutation m = new org.apache.cassandra.thrift.Mutation(); m.setColumn_or_supercolumn(cosc); thriftMutation.add(m); Cassandra.Client client = conn.getClient(); if (atomicBatch) { client.atomic_batch_mutate(batch, consistency); } else { client.batch_mutate(batch, consistency);
/** * Add a ColumnCounter insertion (or update) */ public BatchMutation<K> addCounterInsertion(K key, List<String> columnFamilies, CounterColumn counterColumn) { Mutation mutation = new Mutation(); mutation.setColumn_or_supercolumn(new ColumnOrSuperColumn().setCounter_column(counterColumn)); addMutation(key, columnFamilies, mutation); return this; }
public void read(org.apache.thrift.protocol.TProtocol iprot, KeySlice struct) throws org.apache.thrift.TException { org.apache.thrift.protocol.TField schemeField; iprot.readStructBegin(); while (true) schemeField = iprot.readFieldBegin(); if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { break; case 1: // KEY if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.key = iprot.readBinary(); struct.setKeyIsSet(true); } else { _elem42 = new ColumnOrSuperColumn(); _elem42.read(iprot); struct.columns.add(_elem42);
public void write(org.apache.thrift.protocol.TProtocol oprot, ColumnOrSuperColumn struct) throws org.apache.thrift.TException { struct.validate(); oprot.writeStructBegin(STRUCT_DESC); if (struct.column != null) { if (struct.isSetColumn()) { oprot.writeFieldBegin(COLUMN_FIELD_DESC); struct.column.write(oprot); oprot.writeFieldEnd(); if (struct.isSetSuper_column()) { oprot.writeFieldBegin(SUPER_COLUMN_FIELD_DESC); struct.super_column.write(oprot); if (struct.isSetCounter_column()) { oprot.writeFieldBegin(COUNTER_COLUMN_FIELD_DESC); struct.counter_column.write(oprot); if (struct.isSetCounter_super_column()) { oprot.writeFieldBegin(COUNTER_SUPER_COLUMN_FIELD_DESC); struct.counter_super_column.write(oprot);
public void read(org.apache.thrift.protocol.TProtocol iprot, Mutation struct) throws org.apache.thrift.TException { org.apache.thrift.protocol.TField schemeField; iprot.readStructBegin(); while (true) schemeField = iprot.readFieldBegin(); if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { break; case 1: // COLUMN_OR_SUPERCOLUMN if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { struct.column_or_supercolumn = new ColumnOrSuperColumn(); struct.column_or_supercolumn.read(iprot); struct.setColumn_or_supercolumnIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); iprot.readFieldEnd(); iprot.readStructEnd(); struct.validate();
for (Object value : values) Column column = new Column(); column.setName(PropertyAccessorFactory.STRING.toBytes(invJoinColumnName + Constants.JOIN_COLUMN_NAME_SEPARATOR + value)); column.setValue(PropertyAccessorHelper.getBytes(value)); column.setTimestamp(generator.getTimestamp()); columns.add(column); Mutation mut = new Mutation(); mut.setColumn_or_supercolumn(new ColumnOrSuperColumn().setColumn(column)); insertionList.add(mut); conn.getClient().set_keyspace(entityMetadata.getSchema()); conn.getClient().batch_mutate(mulationMap, getConsistencyLevel());
/** * Add a SuperColumnCounter insertion (or update) */ public BatchMutation<K> addSuperCounterInsertion(K key, List<String> columnFamilies, CounterSuperColumn counterSuperColumn) { Mutation mutation = new Mutation(); mutation.setColumn_or_supercolumn(new ColumnOrSuperColumn().setCounter_super_column(counterSuperColumn)); addMutation(key, columnFamilies, mutation); return this; }
Mutation mut = new Mutation(); mut.setColumn_or_supercolumn(new ColumnOrSuperColumn().setCounter_column(column)); mutationList.add(mut); Mutation mut = new Mutation(); mut.setColumn_or_supercolumn(new ColumnOrSuperColumn().setCounter_super_column(sc)); mutationList.add(mut); for (Column column : thriftColumns) { Mutation mut = new Mutation(); mut.setColumn_or_supercolumn(new ColumnOrSuperColumn().setColumn(column)); mutationList.add(mut); for (SuperColumn superColumn : thriftSuperColumns) { Mutation mut = new Mutation(); mut.setColumn_or_supercolumn(new ColumnOrSuperColumn().setSuper_column(superColumn)); mutationList.add(mut);
@Test public void getSizeForColumnOrSuperColumnWithAnEmptyColumn() { assertThat(ThriftObjectSizeUtils.getColumnOrSuperColumnSize(new ColumnOrSuperColumn().setColumn(new Column()))) .isEqualTo(NULL_SIZE * 8); }
@Override public Column<C> getColumnByName(C columnName) { ColumnOrSuperColumn column = getColumn(columnName); if (column == null) { return null; } else if (column.isSetColumn()) { return new ThriftColumnImpl<C>(columnName, column.getColumn()); } else if (column.isSetCounter_column()) { return new ThriftCounterColumnImpl<C>(columnName, column.getCounter_column()); } throw new UnsupportedOperationException("SuperColumn " + columnName + " has no value"); }
/** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ public boolean isSet(_Fields field) { if (field == null) { throw new IllegalArgumentException(); } switch (field) { case COLUMN: return isSetColumn(); case SUPER_COLUMN: return isSetSuper_column(); case COUNTER_COLUMN: return isSetCounter_column(); case COUNTER_SUPER_COLUMN: return isSetCounter_super_column(); } throw new IllegalStateException(); }
public static long getColumnOrSuperColumnSize(ColumnOrSuperColumn columnOrSuperColumn) { if (columnOrSuperColumn == null) { return getNullSize(); } return getColumnSize(columnOrSuperColumn.getColumn()) + getSuperColumnSize(columnOrSuperColumn.getSuper_column()) + getCounterColumnSize(columnOrSuperColumn.getCounter_column()) + getCounterSuperColumnSize(columnOrSuperColumn.getCounter_super_column()); }
private ColumnOrSuperColumn thriftifyColumnWithName(CFMetaData metadata, LegacyLayout.LegacyCell cell, ByteBuffer newName) { if (cell.isCounter()) return new ColumnOrSuperColumn().setCounter_column(thriftifySubCounter(metadata, cell).setName(newName)); else return new ColumnOrSuperColumn().setColumn(thriftifySubColumn(cell, newName)); }
private ColumnOrSuperColumn thriftifyColumnWithName(Cell cell, ByteBuffer newName) { if (cell instanceof CounterCell) return new ColumnOrSuperColumn().setCounter_column(thriftifySubCounter(cell).setName(newName)); else return new ColumnOrSuperColumn().setColumn(thriftifySubColumn(cell).setName(newName)); }
case COLUMN: if (value == null) { unsetColumn(); } else { setColumn((Column)value); unsetSuper_column(); } else { setSuper_column((SuperColumn)value); unsetCounter_column(); } else { setCounter_column((CounterColumn)value); unsetCounter_super_column(); } else { setCounter_super_column((CounterSuperColumn)value);
private List<ColumnOrSuperColumn> thriftifyCounterSuperColumns(CFMetaData metadata, Iterator<LegacyLayout.LegacyCell> cells, boolean reversed) { ArrayList<ColumnOrSuperColumn> thriftSuperColumns = new ArrayList<>(); CounterSuperColumn current = null; while (cells.hasNext()) { LegacyLayout.LegacyCell cell = cells.next(); ByteBuffer scName = cell.name.superColumnName(); if (current == null || !scName.equals(current.bufferForName())) { // Generally, cells come reversed if the query is reverse. However, this is not the case within a super column because // internally a super column is a map within a row and those are never returned reversed. if (current != null && reversed) Collections.reverse(current.columns); current = new CounterSuperColumn(scName, new ArrayList<>()); thriftSuperColumns.add(new ColumnOrSuperColumn().setCounter_super_column(current)); } current.getColumns().add(thriftifySubCounter(metadata, cell).setName(cell.name.superColumnSubName())); } return thriftSuperColumns; }
@Test public void getSizeForColumnOrSuperColumnWithANonEmptyColumnAndSuperColumn() { assertThat(ThriftObjectSizeUtils.getColumnOrSuperColumnSize(new ColumnOrSuperColumn() .setColumn(TEST_COLUMN) .setSuper_column(new SuperColumn(ByteBuffer.wrap(TEST_NAME.getBytes()), ImmutableList.of(TEST_COLUMN))))) .isEqualTo(NULL_SIZE * 2 + TEST_COLUMN_SIZE + TEST_NAME_BYTES_SIZE + TEST_COLUMN_SIZE); }
private List<ColumnOrSuperColumn> thriftifySuperColumns(Collection<Cell> cells, boolean reverseOrder, long now) { ArrayList<ColumnOrSuperColumn> thriftSuperColumns = new ArrayList<ColumnOrSuperColumn>(cells.size()); SuperColumn current = null; for (Cell cell : cells) { if (!cell.isLive(now)) continue; ByteBuffer scName = SuperColumns.scName(cell.name()); if (current == null || !scName.equals(current.bufferForName())) { current = new SuperColumn(scName, new ArrayList<Column>()); thriftSuperColumns.add(new ColumnOrSuperColumn().setSuper_column(current)); } current.getColumns().add(thriftifySubColumn(cell).setName(SuperColumns.subName(cell.name()))); } if (reverseOrder) Collections.reverse(thriftSuperColumns); return thriftSuperColumns; }
private List<ColumnOrSuperColumn> thriftifySuperColumns(Iterator<LegacyLayout.LegacyCell> cells, boolean reversed) { ArrayList<ColumnOrSuperColumn> thriftSuperColumns = new ArrayList<>(); SuperColumn current = null; while (cells.hasNext()) { LegacyLayout.LegacyCell cell = cells.next(); ByteBuffer scName = cell.name.superColumnName(); if (current == null || !scName.equals(current.bufferForName())) { // Generally, cells come reversed if the query is reverse. However, this is not the case within a super column because // internally a super column is a map within a row and those are never returned reversed. if (current != null && reversed) Collections.reverse(current.columns); current = new SuperColumn(scName, new ArrayList<>()); thriftSuperColumns.add(new ColumnOrSuperColumn().setSuper_column(current)); } current.getColumns().add(thriftifySubColumn(cell, cell.name.superColumnSubName())); } if (current != null && reversed) Collections.reverse(current.columns); return thriftSuperColumns; }