Skip to content

Commit cac3c63

Browse files
committed
Drop columns from key table
1 parent c90e574 commit cac3c63

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

web/client-api/src/main/java/io/deephaven/web/client/api/JsPartitionedTable.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.partitionedtable_pb.GetTableRequest;
1111
import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.partitionedtable_pb.MergeRequest;
1212
import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.partitionedtable_pb.PartitionedTableDescriptor;
13+
import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.DropColumnsRequest;
1314
import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.TypedTicket;
1415
import io.deephaven.web.client.api.barrage.WebBarrageUtils;
1516
import io.deephaven.web.client.api.barrage.def.ColumnDefinition;
@@ -23,6 +24,7 @@
2324
import io.deephaven.web.shared.data.RangeSet;
2425
import io.deephaven.web.shared.fu.JsConsumer;
2526
import jsinterop.annotations.JsIgnore;
27+
import jsinterop.annotations.JsMethod;
2628
import jsinterop.annotations.JsProperty;
2729
import jsinterop.annotations.JsType;
2830
import jsinterop.base.Js;
@@ -284,13 +286,21 @@ public Column[] getColumns() {
284286
}
285287

286288
/**
287-
* A Table object containing all currently known keys used for this partitioned table.
289+
* Fetch a table containing all the valid keys of the partitioned table.
288290
*
289-
* @return Table
291+
* @return Promise of a Table
290292
*/
291-
@JsProperty
292-
public JsTable getKeyTable() {
293-
return keys;
293+
@JsMethod
294+
public Promise<JsTable> getKeyTable() {
295+
return connection.newState((c, state, metadata) -> {
296+
DropColumnsRequest drop = new DropColumnsRequest();
297+
drop.setColumnNamesList(new String[]{descriptor.getConstituentColumnName()});
298+
drop.setSourceId(keys.state().getHandle().makeTableReference());
299+
drop.setResultId(state.getHandle().makeTicket());
300+
connection.tableServiceClient().dropColumns(drop, metadata, c::apply);
301+
}, "drop constituent column")
302+
.refetch(this, connection.metadata())
303+
.then(state -> Promise.resolve(new JsTable(connection, state)));
294304
}
295305

296306
/**

0 commit comments

Comments
 (0)