use of io.pravega.client.tables.Remove in project pravega by pravega.
the class KeyValueTableImpl method update.
@Override
public CompletableFuture<List<Version>> update(@NonNull Iterable<TableModification> updates) {
val inputIterator = updates.iterator();
if (!inputIterator.hasNext()) {
// Empty input - nothing to do.
return CompletableFuture.completedFuture(Collections.emptyList());
}
val firstInput = inputIterator.next();
val ts = this.selector.getTableSegment(firstInput.getKey().getPrimaryKey());
if (firstInput.isRemoval()) {
val args = toArg(firstInput, inputIterator, ts, u -> this.entryHelper.toTableSegmentKey(ts, (Remove) u));
return removeFromSegment(args.getTableSegment(), args.getAllArgs()).thenApply(r -> Collections.emptyList());
} else {
val args = toArg(firstInput, inputIterator, ts, u -> this.entryHelper.toTableSegmentEntry(ts, (TableEntryUpdate) u));
return updateToSegment(args.getTableSegment(), args.getAllArgs());
}
}
Aggregations