public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { if (column.type.isMultiCell()) params.setComplexDeletionTime(column); else params.addTombstone(column); } }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { assert column.type.isMultiCell() : "Attempted to append to a frozen list"; Term.Terminal value = t.bind(params.options); doAppend(value, column, params); }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { if (column.type.isMultiCell()) params.setComplexDeletionTime(column); else params.addTombstone(column); } }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { assert column.type.isMultiCell() : "Attempted to add items to a frozen map"; Term.Terminal value = t.bind(params.options); if (value != UNSET_VALUE) doPut(value, column, params); }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { assert column.type.isMultiCell() : "Attempted to add items to a frozen map"; Term.Terminal value = t.bind(params.options); if (value != UNSET_VALUE) doPut(value, column, params); }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { // we should not get here for frozen UDTs assert column.type.isMultiCell() : "Attempted to delete a single field from a frozen UDT"; CellPath fieldPath = ((UserType) column.type).cellPathForField(field); params.addTombstone(column, fieldPath); } }
@Override public AbstractType<?> freezeNestedMulticellTypes() { if (!isMultiCell()) return this; // the behavior here doesn't exactly match the method name: we want to freeze everything inside of UDTs List<AbstractType<?>> newTypes = fieldTypes().stream() .map(subtype -> (subtype.isFreezable() && subtype.isMultiCell() ? subtype.freeze() : subtype)) .collect(Collectors.toList()); return new UserType(keyspace, name, fieldNames, newTypes, isMultiCell); }
@Override public AbstractType<?> freezeNestedMulticellTypes() { if (!isMultiCell()) return this; // the behavior here doesn't exactly match the method name: we want to freeze everything inside of UDTs List<AbstractType<?>> newTypes = fieldTypes().stream() .map(subtype -> (subtype.isFreezable() && subtype.isMultiCell() ? subtype.freeze() : subtype)) .collect(Collectors.toList()); return new UserType(keyspace, name, fieldNames, newTypes, isMultiCell); }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { Term.Terminal value = t.bind(params.options); if (value == UNSET_VALUE) return; // delete + append if (column.type.isMultiCell()) params.setComplexDeletionTimeForOverwrite(column); Appender.doAppend(value, column, params); } }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { Term.Terminal value = t.bind(params.options); if (value == UNSET_VALUE) return; // delete + add if (column.type.isMultiCell()) params.setComplexDeletionTimeForOverwrite(column); Adder.doAdd(value, column, params); } }
public Operation prepare(String keyspace, ColumnDefinition receiver, CFMetaData cfm) throws InvalidRequestException { if (!receiver.type.isUDT()) throw new InvalidRequestException(String.format("Invalid field deletion operation for non-UDT column %s", receiver.name)); else if (!receiver.type.isMultiCell()) throw new InvalidRequestException(String.format("Frozen UDT column %s does not support field deletions", receiver.name)); if (((UserType) receiver.type).fieldPosition(field) == -1) throw new InvalidRequestException(String.format("UDT column %s does not have a field named %s", receiver.name, field)); return new UserTypes.DeleterByField(receiver, field); } }
private boolean queriesMulticellType() { for (ColumnDefinition column : columnFilter().fetchedColumns()) { if (column.type.isMultiCell() || column.type.isCounter()) return true; } return false; }
public Operation prepare(CFMetaData cfm, ColumnDefinition receiver) throws InvalidRequestException { Term v = value.prepare(cfm.ksName, receiver); if (!(receiver.type instanceof ListType)) throw new InvalidRequestException(String.format("Invalid operation (%s) for non list column %s", toString(receiver), receiver.name)); else if (!(receiver.type.isMultiCell())) throw new InvalidRequestException(String.format("Invalid operation (%s) for frozen list column %s", toString(receiver), receiver.name)); return new Lists.Prepender(receiver, v); }
public Operation prepare(CFMetaData cfm, ColumnDefinition receiver) throws InvalidRequestException { if (!receiver.type.isUDT()) throw new InvalidRequestException(String.format("Invalid operation (%s) for non-UDT column %s", toString(receiver), receiver.name)); else if (!receiver.type.isMultiCell()) throw new InvalidRequestException(String.format("Invalid operation (%s) for frozen UDT column %s", toString(receiver), receiver.name)); int fieldPosition = ((UserType) receiver.type).fieldPosition(field); if (fieldPosition == -1) throw new InvalidRequestException(String.format("UDT column %s does not have a field named %s", receiver.name, field)); Term val = value.prepare(cfm.ksName, UserTypes.fieldSpecOf(receiver, fieldPosition)); return new UserTypes.SetterByField(receiver, field, val); }
@Override public AbstractType<?> freezeNestedMulticellTypes() { if (!isMultiCell()) return this; if (elements.isFreezable() && elements.isMultiCell()) return getInstance(elements.freeze(), isMultiCell); return getInstance(elements.freezeNestedMulticellTypes(), isMultiCell); }
@Override public AbstractType<?> freezeNestedMulticellTypes() { if (!isMultiCell()) return this; if (elements.isFreezable() && elements.isMultiCell()) return getInstance(elements.freeze(), isMultiCell); return getInstance(elements.freezeNestedMulticellTypes(), isMultiCell); }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { assert column.type.isMultiCell() : "Attempted to delete a single element in a frozen set"; Term.Terminal elt = t.bind(params.options); if (elt == null) throw new InvalidRequestException("Invalid null set element"); params.addTombstone(column, CellPath.create(elt.get(params.options.getProtocolVersion()))); } }
@Override public AbstractType<?> freezeNestedMulticellTypes() { if (!isMultiCell()) return this; if (elements.isFreezable() && elements.isMultiCell()) return getInstance(elements.freeze(), isMultiCell); return getInstance(elements.freezeNestedMulticellTypes(), isMultiCell); }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { assert column.type.isMultiCell() : "Attempted to delete a single key in a frozen map"; Term.Terminal key = t.bind(params.options); if (key == null) throw new InvalidRequestException("Invalid null map key"); if (key == Constants.UNSET_VALUE) throw new InvalidRequestException("Invalid unset map key"); params.addTombstone(column, CellPath.create(key.get(params.options.getProtocolVersion()))); } }
public void execute(DecoratedKey partitionKey, UpdateParameters params) throws InvalidRequestException { assert column.type.isMultiCell() : "Attempted to delete a single key in a frozen map"; Term.Terminal key = t.bind(params.options); if (key == null) throw new InvalidRequestException("Invalid null map key"); if (key == Constants.UNSET_VALUE) throw new InvalidRequestException("Invalid unset map key"); params.addTombstone(column, CellPath.create(key.get(params.options.getProtocolVersion()))); } }