/** * Permanently deletes all rows in a range. * * @param request a {@link DropRowRangeRequest} object. * @return a {@link CompletableFuture} that returns {@link Empty} object. */ public CompletableFuture<Empty> dropRowRangeAsync(DropRowRangeRequest request) { return toCompletableFuture(adminClient.dropRowRangeAsync(request)); }
/** {@inheritDoc} */ @Override public ListenableFuture<Void> dropRowRangeAsync(String tableId, String rowKeyPrefix) { return Futures.transform( adminClient.dropRowRangeAsync(buildDropRowRangeRequest(tableId, rowKeyPrefix)), new Function<Empty, Void>() { @Override public Void apply(Empty empty) { return null; } }, MoreExecutors.directExecutor()); }
/** * Permanently deletes all rows in a range. * * @param request a {@link DropRowRangeRequest} object. * @return a {@link CompletableFuture} that returns {@link Empty} object. */ public CompletableFuture<Empty> dropRowRangeAsync(DropRowRangeRequest request) { return toCompletableFuture(adminClient.dropRowRangeAsync(request)); }
@Override public Future<Void> truncateTableAsync(TableName tableName, boolean preserveSplits) throws IOException { if (!preserveSplits) { LOG.info("truncate will preserveSplits. The passed in variable is ignored."); } DropRowRangeRequest.Builder deleteRequest = DropRowRangeRequest.newBuilder().setDeleteAllDataFromTable(true); return FutureUtils.toCompletableFuture( bigtableTableAdminClient .dropRowRangeAsync(deleteRequest.setName(toBigtableName(tableName)).build())) .thenApply(r -> null); } /* ******* Unsupported methods *********** */