From b680338dd860db7d8e86c434019ea8dfce56df3c Mon Sep 17 00:00:00 2001 From: Ryan Caudy Date: Tue, 30 Nov 2021 22:44:44 -0500 Subject: [PATCH] Delete leftJoin from server-side Java and Python APIS, and client-server PB, JS, Java, and Python APIs. --- .../java/io/deephaven/engine/table/Table.java | 38 -- .../engine/MultiTableKeyedOperations.java | 10 - .../engine/table/impl/HierarchicalTable.java | 5 - .../engine/table/impl/QueryTable.java | 16 - .../table/impl/TableMapProxyHandler.java | 1 - .../engine/table/impl/TableWithDefaults.java | 35 -- .../engine/table/impl/UncoalescedTable.java | 5 - .../engine/table/impl/QueryTableJoinTest.java | 26 +- .../deephaven/grpc_api/table/TableModule.java | 5 - .../grpc_api/table/TableServiceGrpcImpl.java | 7 - .../table/ops/JoinTablesGrpcImpl.java | 23 +- .../client/impl/BatchTableRequestBuilder.java | 14 - .../lang/completion/ChunkerCompleter.java | 1 - .../grpc_api/util/OperationHelper.java | 2 - .../main/proto/deephaven/proto/table.proto | 24 +- pyclient/pydeephaven/_table_interface.py | 22 +- pyclient/pydeephaven/_table_ops.py | 24 -- pyclient/pydeephaven/proto/table_pb2.py | 264 +++++--------- pyclient/pydeephaven/proto/table_pb2_grpc.py | 35 -- pyclient/pydeephaven/query.py | 15 - pyclient/tests/test_table.py | 8 - pyintegration/deephaven2/table.py | 27 -- pyintegration/tests/test_table.py | 6 - .../io/deephaven/graphviz/LabelBuilder.java | 6 - .../io/deephaven/qst/TableAdapterImpl.java | 9 - .../io/deephaven/qst/table/LeftJoinTable.java | 29 -- .../io/deephaven/qst/table/LinkDescriber.java | 5 - .../deephaven/qst/table/ParentsVisitor.java | 5 - .../io/deephaven/qst/table/TableBase.java | 31 -- .../io/deephaven/qst/table/TableSpec.java | 2 - .../qst/table/TableVisitorGeneric.java | 5 - .../java/io/deephaven/api/JoinAddition.java | 1 - .../main/java/io/deephaven/api/JoinMatch.java | 1 - .../io/deephaven/api/TableOperations.java | 59 --- .../deephaven/api/TableOperationsAdapter.java | 16 - .../io/deephaven/web/client/api/JsTable.java | 23 -- .../proto/table_pb/BatchTableRequest.java | 110 ------ .../proto/table_pb/LeftJoinTablesRequest.java | 345 ------------------ .../table_pb/batchtablerequest/Operation.java | 119 ------ .../batchtablerequest/operation/OpCase.java | 1 - .../proto/table_pb_service/TableService.java | 45 --- .../table_pb_service/TableServiceClient.java | 146 -------- 42 files changed, 103 insertions(+), 1468 deletions(-) delete mode 100644 qst/src/main/java/io/deephaven/qst/table/LeftJoinTable.java delete mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/LeftJoinTablesRequest.java diff --git a/engine/api/src/main/java/io/deephaven/engine/table/Table.java b/engine/api/src/main/java/io/deephaven/engine/table/Table.java index 12fac319f64..ef14ed1cdff 100644 --- a/engine/api/src/main/java/io/deephaven/engine/table/Table.java +++ b/engine/api/src/main/java/io/deephaven/engine/table/Table.java @@ -556,44 +556,6 @@ public interface Table extends // Join Operations // ----------------------------------------------------------------------------------------------------------------- - /** - * Returns a table that has one column for each original table's columns, and one column corresponding to each of - * the input table (right table) columns listed in the columns to add (or all the columns whose names don't overlap - * with the name of a column from the source table if the columnsToAdd is length zero). The new columns (those - * corresponding to the input table) contain an aggregation of all values from the left side that match the join - * criteria. Consequently, the types of all right side columns not involved in a join criteria, is an array of the - * original column type. If the two tables have columns with matching names then the method will fail with an - * exception unless the columns with corresponding names are found in one of the matching criteria. - *

- *

- * NOTE: leftJoin operation does not involve an actual data copy, or an in-memory table creation. In order to - * produce an actual in memory table you need to apply a select call on the join result. - * - * @param rightTable input table - * @param columnsToMatch match criteria - * @param columnsToAdd columns to add - * @return a table that has one column for each original table's columns, and one column corresponding to each - * column listed in columnsToAdd. If columnsToAdd.length==0 one column corresponding to each column of the - * input table (right table) columns whose names don't overlap with the name of a column from the source - * table is added. The new columns (those corresponding to the input table) contain an aggregation of all - * values from the left side that match the join criteria. - */ - Table leftJoin(Table rightTable, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd); - - @Override - Table leftJoin(Table rightTable, Collection columnsToMatch, - Collection columnsToAdd); - - Table leftJoin(Table rightTable, Collection columnsToMatch); - - @Override - Table leftJoin(Table rightTable, String columnsToMatch, String columnsToAdd); - - @Override - Table leftJoin(Table rightTable, String columnsToMatch); - - Table leftJoin(Table rightTable); - Table exactJoin(Table rightTable, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd); @Override diff --git a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MultiTableKeyedOperations.java b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MultiTableKeyedOperations.java index 40d90987977..1c21aaca914 100644 --- a/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MultiTableKeyedOperations.java +++ b/engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/MultiTableKeyedOperations.java @@ -50,7 +50,6 @@ public class MultiTableKeyedOperations { private String[] keyColumns; private String columnsToMatch; - @Setup(Level.Trial) public void setupEnv(BenchmarkParams params) { int columnCount = 1 << logColumnCount; @@ -80,26 +79,17 @@ public void setupEnv(BenchmarkParams params) { .lastBy(keyColumns).select(); } - @Setup(Level.Iteration) public void setupIteration() { state.init(); } - @Benchmark public Table naturalJoin() { - Table result = fullTable.naturalJoin(distinctTable, columnsToMatch); return result; } - @Benchmark - public Table leftJoin() { - - return distinctTable.leftJoin(fullTable, columnsToMatch); - } - public static void main(String[] args) { BenchUtil.run(MultiTableKeyedOperations.class); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/HierarchicalTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/HierarchicalTable.java index ab91c8fd89d..560da1917b8 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/HierarchicalTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/HierarchicalTable.java @@ -115,11 +115,6 @@ public Table tail(long size) { return throwUnsupported("tail()"); } - @Override - public Table leftJoin(Table table, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd) { - return throwUnsupported("leftJoin()"); - } - @Override public Table exactJoin(Table table, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd) { return throwUnsupported("exactJoin()"); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java index 08cc4b3ef02..434dba68601 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/QueryTable.java @@ -560,22 +560,6 @@ public Table tailPct(final double percent) { return getResult(SliceLikeOperation.tailPct(this, percent)); } - @Override - public Table leftJoin(Table table, final MatchPair[] columnsToMatch, final MatchPair[] columnsToAdd) { - return QueryPerformanceRecorder.withNugget( - "leftJoin(" + table + "," + matchString(columnsToMatch) + "," + matchString(columnsToAdd) + ")", - sizeForInstrumentation(), () -> { - String[] rightColumnKeys = new String[columnsToMatch.length]; - for (int i = 0; i < columnsToMatch.length; i++) { - MatchPair match = columnsToMatch[i]; - rightColumnKeys[i] = match.rightColumn; - } - - Table groupedRight = table.groupBy(rightColumnKeys); - return naturalJoin(groupedRight, columnsToMatch, columnsToAdd); - }); - } - @Override public Table exactJoin(Table table, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd) { return QueryPerformanceRecorder.withNugget( diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableMapProxyHandler.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableMapProxyHandler.java index 2e9e7b5f257..9b7bac62755 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableMapProxyHandler.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableMapProxyHandler.java @@ -69,7 +69,6 @@ public class TableMapProxyHandler extends LivenessArtifact implements Invocation JOIN_METHOD_NAMES.add("join"); JOIN_METHOD_NAMES.add("naturalJoin"); - JOIN_METHOD_NAMES.add("leftJoin"); JOIN_METHOD_NAMES.add("exactJoin"); AJ_METHOD_NAMES.add("aj"); AJ_METHOD_NAMES.add("raj"); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableWithDefaults.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableWithDefaults.java index c00f2ee4c75..0e8133c152b 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TableWithDefaults.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TableWithDefaults.java @@ -398,41 +398,6 @@ default Table dateTimeColumnAsNanos(String columnName) { // Join Operations // ----------------------------------------------------------------------------------------------------------------- - @Override - default Table leftJoin(Table rightTable, Collection columnsToMatch, - Collection columnsToAdd) { - return leftJoin( - rightTable, - MatchPair.fromMatches(columnsToMatch), - MatchPair.fromAddition(columnsToAdd)); - } - - @Override - default Table leftJoin(Table rightTable, Collection columnsToMatch) { - return leftJoin( - rightTable, - MatchPairFactory.getExpressions(columnsToMatch), - MatchPair.ZERO_LENGTH_MATCH_PAIR_ARRAY); - } - - @Override - default Table leftJoin(Table rightTable, String columnsToMatch, String columnsToAdd) { - return leftJoin( - rightTable, - MatchPairFactory.getExpressions(StringUtils.splitToCollection(columnsToMatch)), - MatchPairFactory.getExpressions(StringUtils.splitToCollection(columnsToAdd))); - } - - @Override - default Table leftJoin(Table rightTable, String columnsToMatch) { - return leftJoin(rightTable, StringUtils.splitToCollection(columnsToMatch)); - } - - @Override - default Table leftJoin(Table rightTable) { - return leftJoin(rightTable, Collections.emptyList()); - } - @Override default Table exactJoin(Table rightTable, Collection columnsToMatch, Collection columnsToAdd) { diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java index 0568090af1c..69a9be2ae5b 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/UncoalescedTable.java @@ -307,11 +307,6 @@ public Table tailPct(double percent) { return coalesce().tailPct(percent); } - @Override - public Table leftJoin(Table rightTable, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd) { - return coalesce().leftJoin(rightTable, columnsToMatch, columnsToAdd); - } - @Override public Table exactJoin(Table rightTable, MatchPair[] columnsToMatch, MatchPair[] columnsToAdd) { return coalesce().exactJoin(rightTable, columnsToMatch, columnsToAdd); diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java index b037ac77b1d..612e20ea9d4 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/QueryTableJoinTest.java @@ -884,21 +884,15 @@ public void testJoin() { } @Test - public void testLeftJoin() { + public void testNaturalJoinWithGroupBy() { Table table1 = newTable( c("String", "c", "e", "g")); Table table2 = newTable(c("String", "c", "e"), c("v", 1, 2), c("u", 3.0d, 4.0d)); - try { - table1.leftJoin(table2); - fail("Previous statement should have thrown an exception"); - } catch (Exception e) { - assertEquals("Conflicting column names [String]", e.getMessage()); - } showWithRowSet(table1); showWithRowSet(table2); - Table pairMatch = table1.leftJoin(table2, "String"); + Table pairMatch = table1.naturalJoin(table2.groupBy("String"), "String"); showWithRowSet(pairMatch); @@ -924,7 +918,7 @@ public void testLeftJoin() { assertEquals(1, uValues[1].size()); assertNull(vValues[2]); - pairMatch = table1.leftJoin(table2, "String", "v"); + pairMatch = table1.naturalJoin(table2.groupBy("String"), "String", "v"); assertEquals(3, pairMatch.size()); assertEquals(2, pairMatch.getColumns().length); assertEquals("String", pairMatch.getColumns()[0].getName()); @@ -939,7 +933,7 @@ public void testLeftJoin() { assertEquals(1, vValues[1].size()); assertNull(vValues[2]); - pairMatch = table1.leftJoin(table2, "String", "u,v"); + pairMatch = table1.naturalJoin(table2.groupBy("String"), "String", "u,v"); assertEquals(3, pairMatch.size()); assertEquals(3, pairMatch.getColumns().length); assertEquals("String", pairMatch.getColumns()[0].getName()); @@ -962,7 +956,7 @@ public void testLeftJoin() { assertEquals(1, uValues[1].size()); assertNull(vValues[2]); - pairMatch = table2.leftJoin(table1, "String"); + pairMatch = table2.naturalJoin(table1.groupBy("String"), "String"); assertEquals(2, pairMatch.size()); assertEquals(3, pairMatch.getColumns().length); @@ -975,7 +969,7 @@ public void testLeftJoin() { assertEquals(1, pairMatch.getColumn("v").getInt(0)); assertEquals(2, pairMatch.getColumn("v").getInt(1)); - pairMatch = table1.leftJoin(table2, "String=String"); + pairMatch = table1.naturalJoin(table2.groupBy("String"), "String=String"); assertEquals(3, pairMatch.size()); assertEquals(3, pairMatch.getColumns().length); assertEquals("String", pairMatch.getColumns()[0].getName()); @@ -990,7 +984,7 @@ public void testLeftJoin() { assertEquals(1, vValues[1].size()); assertNull(vValues[2]); - pairMatch = table2.leftJoin(table1, "String=String"); + pairMatch = table2.naturalJoin(table1.groupBy("String"), "String=String"); assertEquals(2, pairMatch.size()); assertEquals(3, pairMatch.getColumns().length); @@ -1009,7 +1003,7 @@ public void testLeftJoin() { table2 = TableTools.newTable( c("String2", "c", "e"), c("v", 1, 2)); - final Table noPairMatch = table1.leftJoin(table2); + final Table noPairMatch = table1.naturalJoin(table2.groupBy(), ""); assertEquals(3, noPairMatch.size()); assertEquals(3, noPairMatch.getColumns().length); assertEquals("String1", noPairMatch.getColumns()[0].getName()); @@ -1030,7 +1024,7 @@ public void testLeftJoin() { assertEquals(asList(1, 2), asList(ArrayTypeUtils.getBoxedArray(vValues[1].toArray()))); assertEquals(asList(1, 2), asList(ArrayTypeUtils.getBoxedArray(vValues[2].toArray()))); - pairMatch = table1.leftJoin(table2, "String1=String2"); + pairMatch = table1.naturalJoin(table2.groupBy("String2"), "String1=String2"); assertEquals(3, pairMatch.size()); assertEquals(3, pairMatch.getColumns().length); assertEquals("String1", pairMatch.getColumns()[0].getName()); @@ -1053,7 +1047,7 @@ public void testLeftJoin() { assertEquals(1, vValues[1].size()); assertNull(vValues[2]); - pairMatch = table2.leftJoin(table1, "String2=String1"); + pairMatch = table2.naturalJoin(table1.groupBy("String1"), "String2=String1"); assertEquals(2, pairMatch.size()); assertEquals(3, pairMatch.getColumns().length); diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableModule.java b/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableModule.java index db0bb12a6df..955c9d4d18f 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableModule.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableModule.java @@ -126,11 +126,6 @@ public interface TableModule { @BatchOpCode(BatchTableRequest.Operation.OpCase.EXACT_JOIN) GrpcTableOperation bindOperationExactJoin(JoinTablesGrpcImpl.ExactJoinTablesGrpcImpl op); - @Binds - @IntoMap - @BatchOpCode(BatchTableRequest.Operation.OpCase.LEFT_JOIN) - GrpcTableOperation bindOperationLeftJoin(JoinTablesGrpcImpl.LeftJoinTablesGrpcImpl op); - @Binds @IntoMap @BatchOpCode(BatchTableRequest.Operation.OpCase.NATURAL_JOIN) diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableServiceGrpcImpl.java b/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableServiceGrpcImpl.java index 1c47a8cb6d5..e851cc4a49e 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableServiceGrpcImpl.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/table/TableServiceGrpcImpl.java @@ -33,7 +33,6 @@ import io.deephaven.proto.backplane.grpc.FlattenRequest; import io.deephaven.proto.backplane.grpc.HeadOrTailByRequest; import io.deephaven.proto.backplane.grpc.HeadOrTailRequest; -import io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest; import io.deephaven.proto.backplane.grpc.MergeTablesRequest; import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest; import io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest; @@ -232,12 +231,6 @@ public void exactJoinTables(final ExactJoinTablesRequest request, oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.EXACT_JOIN, request, responseObserver); } - @Override - public void leftJoinTables(LeftJoinTablesRequest request, - StreamObserver responseObserver) { - oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.LEFT_JOIN, request, responseObserver); - } - @Override public void asOfJoinTables(AsOfJoinTablesRequest request, StreamObserver responseObserver) { diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/table/ops/JoinTablesGrpcImpl.java b/grpc-api/src/main/java/io/deephaven/grpc_api/table/ops/JoinTablesGrpcImpl.java index 803043ee5f4..79dad4e60ad 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/table/ops/JoinTablesGrpcImpl.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/table/ops/JoinTablesGrpcImpl.java @@ -14,13 +14,13 @@ import io.deephaven.proto.backplane.grpc.BatchTableRequest; import io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest; import io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest; -import io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest; import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest; import io.deephaven.proto.backplane.grpc.Ticket; import io.grpc.StatusRuntimeException; import javax.inject.Inject; import javax.inject.Singleton; +import java.util.Arrays; import java.util.List; import java.util.function.Function; @@ -175,27 +175,6 @@ public static Table doJoin(final Table lhs, final Table rhs, } } - @Singleton - public static class LeftJoinTablesGrpcImpl extends JoinTablesGrpcImpl { - - private static final MultiDependencyFunction EXTRACT_DEPS = - (request) -> Lists.newArrayList(request.getLeftId(), request.getRightId()); - - @Inject - public LeftJoinTablesGrpcImpl(final UpdateGraphProcessor updateGraphProcessor) { - super(updateGraphProcessor, BatchTableRequest.Operation::getLeftJoin, LeftJoinTablesRequest::getResultId, - EXTRACT_DEPS, - LeftJoinTablesRequest::getColumnsToMatchList, LeftJoinTablesRequest::getColumnsToAddList, - LeftJoinTablesGrpcImpl::doJoin); - } - - public static Table doJoin(final Table lhs, final Table rhs, - final MatchPair[] columnsToMatch, final MatchPair[] columnsToAdd, - final LeftJoinTablesRequest request) { - return lhs.leftJoin(rhs, columnsToMatch, columnsToAdd); - } - } - @Singleton public static class NaturalJoinTablesGrpcImpl extends JoinTablesGrpcImpl { diff --git a/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java b/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java index f9be9efccc3..7c1d12ba6ea 100644 --- a/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java +++ b/java-client/session/src/main/java/io/deephaven/client/impl/BatchTableRequestBuilder.java @@ -66,7 +66,6 @@ import io.deephaven.proto.backplane.grpc.FilterTableRequest; import io.deephaven.proto.backplane.grpc.HeadOrTailRequest; import io.deephaven.proto.backplane.grpc.IsNullCondition; -import io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest; import io.deephaven.proto.backplane.grpc.Literal; import io.deephaven.proto.backplane.grpc.MergeTablesRequest; import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest; @@ -318,19 +317,6 @@ public void visit(JoinTable j) { out = op(Builder::setCrossJoin, builder.build()); } - @Override - public void visit(LeftJoinTable j) { - LeftJoinTablesRequest.Builder builder = LeftJoinTablesRequest.newBuilder() - .setResultId(ticket).setLeftId(ref(j.left())).setRightId(ref(j.right())); - for (JoinMatch match : j.matches()) { - builder.addColumnsToMatch(Strings.of(match)); - } - for (JoinAddition addition : j.additions()) { - builder.addColumnsToAdd(Strings.of(addition)); - } - out = op(Builder::setLeftJoin, builder.build()); - } - @Override public void visit(AsOfJoinTable aj) { AsOfJoinTablesRequest.Builder builder = AsOfJoinTablesRequest.newBuilder() diff --git a/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java b/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java index 2f3b3eec0af..47908d13a57 100644 --- a/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java +++ b/open-api/lang-tools/src/main/java/io/deephaven/lang/completion/ChunkerCompleter.java @@ -947,7 +947,6 @@ private void methodArgumentCompletion( switch (name) { case "join": case "naturalJoin": - case "leftJoin": case "exactJoin": case "aj": // TODO: joins will need special handling; IDS-1517-5 example from Charles: diff --git a/proto/proto-backplane-grpc/src/main/java/io/deephaven/grpc_api/util/OperationHelper.java b/proto/proto-backplane-grpc/src/main/java/io/deephaven/grpc_api/util/OperationHelper.java index a411f5b92af..7a878a272c0 100644 --- a/proto/proto-backplane-grpc/src/main/java/io/deephaven/grpc_api/util/OperationHelper.java +++ b/proto/proto-backplane-grpc/src/main/java/io/deephaven/grpc_api/util/OperationHelper.java @@ -55,8 +55,6 @@ public static Stream getSourceIds(Operation op) { return Stream.of(op.getNaturalJoin().getLeftId(), op.getNaturalJoin().getRightId()); case EXACT_JOIN: return Stream.of(op.getExactJoin().getLeftId(), op.getExactJoin().getRightId()); - case LEFT_JOIN: - return Stream.of(op.getLeftJoin().getLeftId(), op.getLeftJoin().getRightId()); case AS_OF_JOIN: return Stream.of(op.getAsOfJoin().getLeftId(), op.getAsOfJoin().getRightId()); case COMBO_AGGREGATE: diff --git a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto index 8fbd570b050..2d64c609199 100644 --- a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto +++ b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto @@ -143,11 +143,6 @@ service TableService { */ rpc ExactJoinTables(ExactJoinTablesRequest) returns (ExportedTableCreationResponse) {} - /* - * Returns the result of a left join operation. - */ - rpc LeftJoinTables(LeftJoinTablesRequest) returns (ExportedTableCreationResponse) {} - /* * Returns the result of an as of join operation. */ @@ -366,14 +361,6 @@ message ExactJoinTablesRequest { repeated string columns_to_add = 5; } -message LeftJoinTablesRequest { - Ticket result_id = 1; - TableReference left_id = 2; - TableReference right_id = 3; - repeated string columns_to_match = 4; - repeated string columns_to_add = 5; -} - message AsOfJoinTablesRequest { enum MatchRule { LESS_THAN_EQUAL = 0; @@ -643,12 +630,11 @@ message BatchTableRequest { CrossJoinTablesRequest cross_join = 23; NaturalJoinTablesRequest natural_join = 24; ExactJoinTablesRequest exact_join = 25; - LeftJoinTablesRequest left_join = 26; - AsOfJoinTablesRequest as_of_join = 27; - FetchTableRequest fetch_table = 28; - FetchPandasTableRequest fetch_pandas_table = 29; - ApplyPreviewColumnsRequest apply_preview_columns = 30; - CreateInputTableRequest create_input_table = 31; + AsOfJoinTablesRequest as_of_join = 26; + FetchTableRequest fetch_table = 27; + FetchPandasTableRequest fetch_pandas_table = 28; + ApplyPreviewColumnsRequest apply_preview_columns = 29; + CreateInputTableRequest create_input_table = 30; } } } diff --git a/pyclient/pydeephaven/_table_interface.py b/pyclient/pydeephaven/_table_interface.py index 59450ff530c..181ba9706f4 100644 --- a/pyclient/pydeephaven/_table_interface.py +++ b/pyclient/pydeephaven/_table_interface.py @@ -11,7 +11,7 @@ from pydeephaven.combo_agg import ComboAggregation from pydeephaven._table_ops import UpdateOp, LazyUpdateOp, ViewOp, UpdateViewOp, SelectOp, DropColumnsOp, \ SelectDistinctOp, SortOp, UnstructuredFilterOp, HeadOp, TailOp, HeadByOp, TailByOp, UngroupOp, NaturalJoinOp, \ - ExactJoinOp, LeftJoinOp, CrossJoinOp, AsOfJoinOp, DedicatedAggOp, ComboAggOp + ExactJoinOp, CrossJoinOp, AsOfJoinOp, DedicatedAggOp, ComboAggOp from pydeephaven.constants import MatchRule, SortDirection from pydeephaven._constants import AggType @@ -233,26 +233,6 @@ def exact_join(self, table: Any, on: List[str], joins: List[str] = []): table_op = ExactJoinOp(table=table, keys=on, columns_to_add=joins) return self.table_op_handler(table_op) - def left_join(self, table: Any, on: List[str], joins: List[str] = []): - """ Perform a left-join between this table as the left table and another table as the right table) and - returns the result table. - - Args: - table (Table): the right-table of the join - on (List[str]): the columns to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names - joins (List[str], optional): a list of the columns to be added from the right table to the result - table, can be renaming expressions, i.e. "new_col = col"; default is empty - - Returns: - a Table object - - Raises: - DHError - """ - table_op = LeftJoinOp(table=table, keys=on, columns_to_add=joins) - return self.table_op_handler(table_op) - def join(self, table: Any, on: List[str] = [], joins: List[str] = [], reserve_bits: int = 10): """ Perform a cross-join between this table as the left table and another table as the right table) and returns the result table. diff --git a/pyclient/pydeephaven/_table_ops.py b/pyclient/pydeephaven/_table_ops.py index d4cac481a73..ca1c3dd0e7b 100644 --- a/pyclient/pydeephaven/_table_ops.py +++ b/pyclient/pydeephaven/_table_ops.py @@ -365,30 +365,6 @@ def make_grpc_request_for_batch(self, result_id, source_id): exact_join=self.make_grpc_request(result_id=result_id, source_id=source_id)) -class LeftJoinOp(TableOp): - def __init__(self, table: Any, keys: List[str], columns_to_add: List[str] = []): - self.table = table - self.keys = keys - self.columns_to_add = columns_to_add - - @classmethod - def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): - return table_service_stub.LeftJoinTables - - def make_grpc_request(self, result_id, source_id): - left_id = source_id - right_id = table_pb2.TableReference(ticket=self.table.ticket) - return table_pb2.LeftJoinTablesRequest(result_id=result_id, - left_id=left_id, - right_id=right_id, - columns_to_match=self.keys, - columns_to_add=self.columns_to_add) - - def make_grpc_request_for_batch(self, result_id, source_id): - return table_pb2.BatchTableRequest.Operation( - left_join=self.make_grpc_request(result_id=result_id, source_id=source_id)) - - class CrossJoinOp(TableOp): def __init__(self, table: Any, keys: List[str] = [], columns_to_add: List[str] = [], reserve_bits: int = 10): self.table = table diff --git a/pyclient/pydeephaven/proto/table_pb2.py b/pyclient/pydeephaven/proto/table_pb2.py index eff150d78ec..c354684f5c9 100644 --- a/pyclient/pydeephaven/proto/table_pb2.py +++ b/pyclient/pydeephaven/proto/table_pb2.py @@ -21,7 +21,7 @@ syntax='proto3', serialized_options=b'H\001P\001', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x9d\x01\n\x17\x46\x65tchPandasTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x9a\x01\n\x14\x46\x65tchTableMapRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x17\n\x15\x46\x65tchTableMapResponse\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x91\x02\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x1b\n\x13\x64o_initial_snapshot\x18\x04 \x01(\x08\x12\x15\n\rstamp_columns\x18\x05 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x90\x02\n\x15LeftJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xc9\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"Y\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\"\xfa\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\x91\x14\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\xae\x13\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12K\n\x08snapshot\x18\x14 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12M\n\tleft_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequestH\x00\x12N\n\nas_of_join\x18\x1b \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestH\x00\x12K\n\x0b\x66\x65tch_table\x18\x1c \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12X\n\x12\x66\x65tch_pandas_table\x18\x1d \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.FetchPandasTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1e \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1f \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x42\x04\n\x02op*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\xd5&\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x46\x65tchPandasTable\x12:.io.deephaven.proto.backplane.grpc.FetchPandasTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\rFetchTableMap\x12\x37.io.deephaven.proto.backplane.grpc.FetchTableMapRequest\x1a\x38.io.deephaven.proto.backplane.grpc.FetchTableMapResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eLeftJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x42\x04H\x01P\x01\x62\x06proto3' + serialized_pb=b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x9d\x01\n\x17\x46\x65tchPandasTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x9a\x01\n\x14\x46\x65tchTableMapRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x17\n\x15\x46\x65tchTableMapResponse\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x91\x02\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x1b\n\x13\x64o_initial_snapshot\x18\x04 \x01(\x08\x12\x15\n\rstamp_columns\x18\x05 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xc9\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"Y\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\"\xfa\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\xc2\x13\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\xdf\x12\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12K\n\x08snapshot\x18\x14 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12N\n\nas_of_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestH\x00\x12K\n\x0b\x66\x65tch_table\x18\x1b \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12X\n\x12\x66\x65tch_pandas_table\x18\x1c \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.FetchPandasTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1d \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1e \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x42\x04\n\x02op*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\xc4%\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x46\x65tchPandasTable\x12:.io.deephaven.proto.backplane.grpc.FetchPandasTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\rFetchTableMap\x12\x37.io.deephaven.proto.backplane.grpc.FetchTableMapRequest\x1a\x38.io.deephaven.proto.backplane.grpc.FetchTableMapResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x42\x04H\x01P\x01\x62\x06proto3' , dependencies=[deephaven_dot_proto_dot_ticket__pb2.DESCRIPTOR,]) @@ -45,8 +45,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=12761, - serialized_end=12811, + serialized_start=12407, + serialized_end=12457, ) _sym_db.RegisterEnumDescriptor(_CASESENSITIVITY) @@ -71,8 +71,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=12813, - serialized_end=12851, + serialized_start=12459, + serialized_end=12497, ) _sym_db.RegisterEnumDescriptor(_MATCHTYPE) @@ -113,8 +113,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4732, - serialized_end=4821, + serialized_start=4457, + serialized_end=4546, ) _sym_db.RegisterEnumDescriptor(_ASOFJOINTABLESREQUEST_MATCHRULE) @@ -198,8 +198,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=5293, - serialized_end=5458, + serialized_start=5018, + serialized_end=5183, ) _sym_db.RegisterEnumDescriptor(_COMBOAGGREGATEREQUEST_AGGTYPE) @@ -233,8 +233,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=5605, - serialized_end=5686, + serialized_start=5330, + serialized_end=5411, ) _sym_db.RegisterEnumDescriptor(_SORTDESCRIPTOR_SORTDIRECTION) @@ -278,8 +278,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=7692, - serialized_end=7822, + serialized_start=7417, + serialized_end=7547, ) _sym_db.RegisterEnumDescriptor(_COMPARECONDITION_COMPAREOPERATION) @@ -1361,66 +1361,6 @@ ) -_LEFTJOINTABLESREQUEST = _descriptor.Descriptor( - name='LeftJoinTablesRequest', - full_name='io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='result_id', full_name='io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.result_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='left_id', full_name='io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.left_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='right_id', full_name='io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.right_id', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='columns_to_match', full_name='io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.columns_to_match', index=3, - number=4, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='columns_to_add', full_name='io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.columns_to_add', index=4, - number=5, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4089, - serialized_end=4361, -) - - _ASOFJOINTABLESREQUEST = _descriptor.Descriptor( name='AsOfJoinTablesRequest', full_name='io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest', @@ -1484,8 +1424,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4364, - serialized_end=4821, + serialized_start=4089, + serialized_end=4546, ) @@ -1544,8 +1484,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5117, - serialized_end=5290, + serialized_start=4842, + serialized_end=5015, ) _COMBOAGGREGATEREQUEST = _descriptor.Descriptor( @@ -1604,8 +1544,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4824, - serialized_end=5458, + serialized_start=4549, + serialized_end=5183, ) @@ -1651,8 +1591,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5461, - serialized_end=5686, + serialized_start=5186, + serialized_end=5411, ) @@ -1697,8 +1637,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5689, - serialized_end=5905, + serialized_start=5414, + serialized_end=5630, ) @@ -1743,8 +1683,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5908, - serialized_end=6123, + serialized_start=5633, + serialized_end=5848, ) @@ -1775,8 +1715,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6125, - serialized_end=6157, + serialized_start=5850, + serialized_end=5882, ) @@ -1840,8 +1780,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6160, - serialized_end=6305, + serialized_start=5885, + serialized_end=6030, ) @@ -1884,8 +1824,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6308, - serialized_end=6453, + serialized_start=6033, + serialized_end=6178, ) @@ -1984,8 +1924,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=6456, - serialized_end=7156, + serialized_start=6181, + serialized_end=6881, ) @@ -2016,8 +1956,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7158, - serialized_end=7235, + serialized_start=6883, + serialized_end=6960, ) @@ -2048,8 +1988,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7237, - serialized_end=7313, + serialized_start=6962, + serialized_end=7038, ) @@ -2080,8 +2020,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7315, - serialized_end=7391, + serialized_start=7040, + serialized_end=7116, ) @@ -2134,8 +2074,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7394, - serialized_end=7822, + serialized_start=7119, + serialized_end=7547, ) @@ -2187,8 +2127,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7825, - serialized_end=8102, + serialized_start=7550, + serialized_end=7827, ) @@ -2233,8 +2173,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8105, - serialized_end=8257, + serialized_start=7830, + serialized_end=7982, ) @@ -2265,8 +2205,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8259, - serialized_end=8341, + serialized_start=7984, + serialized_end=8066, ) @@ -2318,8 +2258,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8344, - serialized_end=8586, + serialized_start=8069, + serialized_end=8311, ) @@ -2371,8 +2311,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8589, - serialized_end=8840, + serialized_start=8314, + serialized_end=8565, ) @@ -2410,8 +2350,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8842, - serialized_end=8957, + serialized_start=8567, + serialized_end=8682, ) @@ -2449,8 +2389,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8960, - serialized_end=9108, + serialized_start=8685, + serialized_end=8833, ) @@ -2498,8 +2438,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9432, - serialized_end=9547, + serialized_start=9157, + serialized_end=9272, ) _RUNCHARTDOWNSAMPLEREQUEST = _descriptor.Descriptor( @@ -2564,8 +2504,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9111, - serialized_end=9547, + serialized_start=8836, + serialized_end=9272, ) @@ -2589,8 +2529,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10095, - serialized_end=10115, + serialized_start=9820, + serialized_end=9840, ) _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED = _descriptor.Descriptor( @@ -2620,8 +2560,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10117, - serialized_end=10157, + serialized_start=9842, + serialized_end=9882, ) _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND = _descriptor.Descriptor( @@ -2663,8 +2603,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9825, - serialized_end=10165, + serialized_start=9550, + serialized_end=9890, ) _CREATEINPUTTABLEREQUEST = _descriptor.Descriptor( @@ -2720,8 +2660,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=9550, - serialized_end=10179, + serialized_start=9275, + serialized_end=9904, ) @@ -2909,47 +2849,40 @@ is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='left_join', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.left_join', index=25, + name='as_of_join', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.as_of_join', index=25, number=26, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='as_of_join', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.as_of_join', index=26, + name='fetch_table', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_table', index=26, number=27, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='fetch_table', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_table', index=27, + name='fetch_pandas_table', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_pandas_table', index=27, number=28, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='fetch_pandas_table', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_pandas_table', index=28, + name='apply_preview_columns', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.apply_preview_columns', index=28, number=29, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='apply_preview_columns', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.apply_preview_columns', index=29, + name='create_input_table', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.create_input_table', index=29, number=30, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='create_input_table', full_name='io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.create_input_table', index=30, - number=31, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2967,8 +2900,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10281, - serialized_end=12759, + serialized_start=10006, + serialized_end=12405, ) _BATCHTABLEREQUEST = _descriptor.Descriptor( @@ -2998,8 +2931,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10182, - serialized_end=12759, + serialized_start=9907, + serialized_end=12405, ) _TABLEREFERENCE.fields_by_name['ticket'].message_type = deephaven_dot_proto_dot_ticket__pb2._TICKET @@ -3049,9 +2982,6 @@ _EXACTJOINTABLESREQUEST.fields_by_name['result_id'].message_type = deephaven_dot_proto_dot_ticket__pb2._TICKET _EXACTJOINTABLESREQUEST.fields_by_name['left_id'].message_type = _TABLEREFERENCE _EXACTJOINTABLESREQUEST.fields_by_name['right_id'].message_type = _TABLEREFERENCE -_LEFTJOINTABLESREQUEST.fields_by_name['result_id'].message_type = deephaven_dot_proto_dot_ticket__pb2._TICKET -_LEFTJOINTABLESREQUEST.fields_by_name['left_id'].message_type = _TABLEREFERENCE -_LEFTJOINTABLESREQUEST.fields_by_name['right_id'].message_type = _TABLEREFERENCE _ASOFJOINTABLESREQUEST.fields_by_name['result_id'].message_type = deephaven_dot_proto_dot_ticket__pb2._TICKET _ASOFJOINTABLESREQUEST.fields_by_name['left_id'].message_type = _TABLEREFERENCE _ASOFJOINTABLESREQUEST.fields_by_name['right_id'].message_type = _TABLEREFERENCE @@ -3213,7 +3143,6 @@ _BATCHTABLEREQUEST_OPERATION.fields_by_name['cross_join'].message_type = _CROSSJOINTABLESREQUEST _BATCHTABLEREQUEST_OPERATION.fields_by_name['natural_join'].message_type = _NATURALJOINTABLESREQUEST _BATCHTABLEREQUEST_OPERATION.fields_by_name['exact_join'].message_type = _EXACTJOINTABLESREQUEST -_BATCHTABLEREQUEST_OPERATION.fields_by_name['left_join'].message_type = _LEFTJOINTABLESREQUEST _BATCHTABLEREQUEST_OPERATION.fields_by_name['as_of_join'].message_type = _ASOFJOINTABLESREQUEST _BATCHTABLEREQUEST_OPERATION.fields_by_name['fetch_table'].message_type = _FETCHTABLEREQUEST _BATCHTABLEREQUEST_OPERATION.fields_by_name['fetch_pandas_table'].message_type = _FETCHPANDASTABLEREQUEST @@ -3295,9 +3224,6 @@ _BATCHTABLEREQUEST_OPERATION.oneofs_by_name['op'].fields.append( _BATCHTABLEREQUEST_OPERATION.fields_by_name['exact_join']) _BATCHTABLEREQUEST_OPERATION.fields_by_name['exact_join'].containing_oneof = _BATCHTABLEREQUEST_OPERATION.oneofs_by_name['op'] -_BATCHTABLEREQUEST_OPERATION.oneofs_by_name['op'].fields.append( - _BATCHTABLEREQUEST_OPERATION.fields_by_name['left_join']) -_BATCHTABLEREQUEST_OPERATION.fields_by_name['left_join'].containing_oneof = _BATCHTABLEREQUEST_OPERATION.oneofs_by_name['op'] _BATCHTABLEREQUEST_OPERATION.oneofs_by_name['op'].fields.append( _BATCHTABLEREQUEST_OPERATION.fields_by_name['as_of_join']) _BATCHTABLEREQUEST_OPERATION.fields_by_name['as_of_join'].containing_oneof = _BATCHTABLEREQUEST_OPERATION.oneofs_by_name['op'] @@ -3337,7 +3263,6 @@ DESCRIPTOR.message_types_by_name['CrossJoinTablesRequest'] = _CROSSJOINTABLESREQUEST DESCRIPTOR.message_types_by_name['NaturalJoinTablesRequest'] = _NATURALJOINTABLESREQUEST DESCRIPTOR.message_types_by_name['ExactJoinTablesRequest'] = _EXACTJOINTABLESREQUEST -DESCRIPTOR.message_types_by_name['LeftJoinTablesRequest'] = _LEFTJOINTABLESREQUEST DESCRIPTOR.message_types_by_name['AsOfJoinTablesRequest'] = _ASOFJOINTABLESREQUEST DESCRIPTOR.message_types_by_name['ComboAggregateRequest'] = _COMBOAGGREGATEREQUEST DESCRIPTOR.message_types_by_name['SortDescriptor'] = _SORTDESCRIPTOR @@ -3526,13 +3451,6 @@ }) _sym_db.RegisterMessage(ExactJoinTablesRequest) -LeftJoinTablesRequest = _reflection.GeneratedProtocolMessageType('LeftJoinTablesRequest', (_message.Message,), { - 'DESCRIPTOR' : _LEFTJOINTABLESREQUEST, - '__module__' : 'pydeephaven.proto.table_pb2' - # @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest) - }) -_sym_db.RegisterMessage(LeftJoinTablesRequest) - AsOfJoinTablesRequest = _reflection.GeneratedProtocolMessageType('AsOfJoinTablesRequest', (_message.Message,), { 'DESCRIPTOR' : _ASOFJOINTABLESREQUEST, '__module__' : 'pydeephaven.proto.table_pb2' @@ -3763,8 +3681,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=12854, - serialized_end=17803, + serialized_start=12500, + serialized_end=17304, methods=[ _descriptor.MethodDescriptor( name='GetExportedTableCreationResponse', @@ -4026,20 +3944,10 @@ serialized_options=None, create_key=_descriptor._internal_create_key, ), - _descriptor.MethodDescriptor( - name='LeftJoinTables', - full_name='io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables', - index=26, - containing_service=None, - input_type=_LEFTJOINTABLESREQUEST, - output_type=_EXPORTEDTABLECREATIONRESPONSE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), _descriptor.MethodDescriptor( name='AsOfJoinTables', full_name='io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables', - index=27, + index=26, containing_service=None, input_type=_ASOFJOINTABLESREQUEST, output_type=_EXPORTEDTABLECREATIONRESPONSE, @@ -4049,7 +3957,7 @@ _descriptor.MethodDescriptor( name='ComboAggregate', full_name='io.deephaven.proto.backplane.grpc.TableService.ComboAggregate', - index=28, + index=27, containing_service=None, input_type=_COMBOAGGREGATEREQUEST, output_type=_EXPORTEDTABLECREATIONRESPONSE, @@ -4059,7 +3967,7 @@ _descriptor.MethodDescriptor( name='Snapshot', full_name='io.deephaven.proto.backplane.grpc.TableService.Snapshot', - index=29, + index=28, containing_service=None, input_type=_SNAPSHOTTABLEREQUEST, output_type=_EXPORTEDTABLECREATIONRESPONSE, @@ -4069,7 +3977,7 @@ _descriptor.MethodDescriptor( name='Flatten', full_name='io.deephaven.proto.backplane.grpc.TableService.Flatten', - index=30, + index=29, containing_service=None, input_type=_FLATTENREQUEST, output_type=_EXPORTEDTABLECREATIONRESPONSE, @@ -4079,7 +3987,7 @@ _descriptor.MethodDescriptor( name='RunChartDownsample', full_name='io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample', - index=31, + index=30, containing_service=None, input_type=_RUNCHARTDOWNSAMPLEREQUEST, output_type=_EXPORTEDTABLECREATIONRESPONSE, @@ -4089,7 +3997,7 @@ _descriptor.MethodDescriptor( name='CreateInputTable', full_name='io.deephaven.proto.backplane.grpc.TableService.CreateInputTable', - index=32, + index=31, containing_service=None, input_type=_CREATEINPUTTABLEREQUEST, output_type=_EXPORTEDTABLECREATIONRESPONSE, @@ -4099,7 +4007,7 @@ _descriptor.MethodDescriptor( name='Batch', full_name='io.deephaven.proto.backplane.grpc.TableService.Batch', - index=33, + index=32, containing_service=None, input_type=_BATCHTABLEREQUEST, output_type=_EXPORTEDTABLECREATIONRESPONSE, @@ -4109,7 +4017,7 @@ _descriptor.MethodDescriptor( name='ExportedTableUpdates', full_name='io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates', - index=34, + index=33, containing_service=None, input_type=_EXPORTEDTABLEUPDATESREQUEST, output_type=_EXPORTEDTABLEUPDATEMESSAGE, diff --git a/pyclient/pydeephaven/proto/table_pb2_grpc.py b/pyclient/pydeephaven/proto/table_pb2_grpc.py index 759a45ba1fb..ba07b4383c6 100644 --- a/pyclient/pydeephaven/proto/table_pb2_grpc.py +++ b/pyclient/pydeephaven/proto/table_pb2_grpc.py @@ -145,11 +145,6 @@ def __init__(self, channel): request_serializer=deephaven_dot_proto_dot_table__pb2.ExactJoinTablesRequest.SerializeToString, response_deserializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, ) - self.LeftJoinTables = channel.unary_unary( - '/io.deephaven.proto.backplane.grpc.TableService/LeftJoinTables', - request_serializer=deephaven_dot_proto_dot_table__pb2.LeftJoinTablesRequest.SerializeToString, - response_deserializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, - ) self.AsOfJoinTables = channel.unary_unary( '/io.deephaven.proto.backplane.grpc.TableService/AsOfJoinTables', request_serializer=deephaven_dot_proto_dot_table__pb2.AsOfJoinTablesRequest.SerializeToString, @@ -404,14 +399,6 @@ def ExactJoinTables(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def LeftJoinTables(self, request, context): - """ - Returns the result of a left join operation. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def AsOfJoinTables(self, request, context): """ Returns the result of an as of join operation. @@ -621,11 +608,6 @@ def add_TableServiceServicer_to_server(servicer, server): request_deserializer=deephaven_dot_proto_dot_table__pb2.ExactJoinTablesRequest.FromString, response_serializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.SerializeToString, ), - 'LeftJoinTables': grpc.unary_unary_rpc_method_handler( - servicer.LeftJoinTables, - request_deserializer=deephaven_dot_proto_dot_table__pb2.LeftJoinTablesRequest.FromString, - response_serializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.SerializeToString, - ), 'AsOfJoinTables': grpc.unary_unary_rpc_method_handler( servicer.AsOfJoinTables, request_deserializer=deephaven_dot_proto_dot_table__pb2.AsOfJoinTablesRequest.FromString, @@ -1118,23 +1100,6 @@ def ExactJoinTables(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - @staticmethod - def LeftJoinTables(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/io.deephaven.proto.backplane.grpc.TableService/LeftJoinTables', - deephaven_dot_proto_dot_table__pb2.LeftJoinTablesRequest.SerializeToString, - deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - @staticmethod def AsOfJoinTables(request, target, diff --git a/pyclient/pydeephaven/query.py b/pyclient/pydeephaven/query.py index 4b6d89790e7..42634575b5e 100644 --- a/pyclient/pydeephaven/query.py +++ b/pyclient/pydeephaven/query.py @@ -192,21 +192,6 @@ def exact_join(self, table: Any, on: List[str], joins: List[str] = []): """ return super().exact_join(table, on, joins) - def left_join(self, table: Any, on: List[str], joins: List[str] = []): - """ Add a left-join operation to the query. - - Args: - table (Table): the right-table of the join - on (List[str]): the columns to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names - joins (List[str], optional): a list of the columns to be added from the right table to the result - table, can be renaming expressions, i.e. "new_col = col"; default is empty - - Returns: - self - """ - return super().left_join(table, on, joins) - def join(self, table: Any, on: List[str] = [], joins: List[str] = [], reserve_bits: int = 10): """ Add a cross-join operation to the query. diff --git a/pyclient/tests/test_table.py b/pyclient/tests/test_table.py index 32367d91f5a..3e428498130 100644 --- a/pyclient/tests/test_table.py +++ b/pyclient/tests/test_table.py @@ -118,14 +118,6 @@ def test_exact_join(self): result_table = left_table.exact_join(right_table, on=["a"], joins=["d", "e"]) self.assertEqual(test_table.size, result_table.size) - def test_left_join(self): - pa_table = csv.read_csv(self.csv_file) - test_table = self.session.import_table(pa_table) - left_table = test_table.drop_columns(["d", "e"]) - right_table = test_table.drop_columns(["b", "c"]) - result_table = left_table.left_join(right_table, on=["a"], joins=["d", "e"]) - self.assertEqual(test_table.size, result_table.size) - def test_cross_join(self): pa_table = csv.read_csv(self.csv_file) left_table = self.session.import_table(pa_table) diff --git a/pyintegration/deephaven2/table.py b/pyintegration/deephaven2/table.py index 7195d70f64b..c4ed3fb2bde 100644 --- a/pyintegration/deephaven2/table.py +++ b/pyintegration/deephaven2/table.py @@ -636,33 +636,6 @@ def exact_join(self, table: Table, on: List[str], joins: List[str] = []) -> Tabl except Exception as e: raise DHError(e, "table exact_join operation failed.") from e - def left_join(self, table: Table, on: List[str], joins: List[str] = []) -> Table: - """ The left_join method creates a new table containing all of the rows and columns of the left table, - plus additional columns containing data from the right table. For columns appended to the left table (joins), - row values are arrays of row values from the right table, where the key values in the left and right tables - are equal. If there is no matching key in the right table, appended row values are NULL. - - Args: - table (Table): the right-table of the join - on (List[str]): the columns to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names - joins (List[str], optional): a list of the columns to be added from the right table to the result - table, can be renaming expressions, i.e. "new_col = col"; default is empty - - Returns: - a new table - - Raises: - DHError - """ - try: - if joins: - return Table(j_table=self._j_table.leftJoin(table._j_table, ",".join(on), ",".join(joins))) - else: - return Table(j_table=self._j_table.leftJoin(table._j_table, ",".join(on))) - except Exception as e: - raise DHError(e, "table left_join operation failed.") from e - def join(self, table: Table, on: List[str], joins: List[str] = []) -> Table: """ The join method creates a new table containing rows that have matching values in both tables. Rows that do not have matching criteria will not be included in the result. If there are multiple matches between a row diff --git a/pyintegration/tests/test_table.py b/pyintegration/tests/test_table.py index 79f591c1dd3..03edc467444 100644 --- a/pyintegration/tests/test_table.py +++ b/pyintegration/tests/test_table.py @@ -197,12 +197,6 @@ def test_exact_join(self): result_table = left_table.exact_join(right_table, on=["a"], joins=["d", "e"]) self.assertTrue(cm.exception.root_cause) - def test_left_join(self): - left_table = self.test_table.drop_columns(["d", "e"]) - right_table = self.test_table.drop_columns(["b", "c"]) - result_table = left_table.left_join(right_table, on=["a"], joins=["d", "e"]) - self.assertEqual(self.test_table.size, result_table.size) - def test_cross_join(self): left_table = self.test_table.drop_columns(cols=["e"]) right_table = self.test_table.where(["a % 2 > 0 && b % 3 == 1"]).drop_columns(cols=["b", "c", "d"]) diff --git a/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java b/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java index c06e19508e7..4522abbdc36 100644 --- a/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java +++ b/qst/graphviz/src/main/java/io/deephaven/graphviz/LabelBuilder.java @@ -12,7 +12,6 @@ import io.deephaven.qst.table.InputTable; import io.deephaven.qst.table.Join; import io.deephaven.qst.table.JoinTable; -import io.deephaven.qst.table.LeftJoinTable; import io.deephaven.qst.table.NaturalJoinTable; import io.deephaven.qst.table.ReverseAsOfJoinTable; import io.deephaven.qst.table.SelectTable; @@ -92,11 +91,6 @@ public void visit(JoinTable joinTable) { join("join", joinTable); } - @Override - public void visit(LeftJoinTable leftJoinTable) { - join("leftJoin", leftJoinTable); - } - @Override public void visit(AsOfJoinTable aj) { join("aj", aj); diff --git a/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java b/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java index 1cdfbf9e1a1..a1bc7280e2a 100644 --- a/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java +++ b/qst/src/main/java/io/deephaven/qst/TableAdapterImpl.java @@ -10,7 +10,6 @@ import io.deephaven.qst.table.HeadTable; import io.deephaven.qst.table.InputTable; import io.deephaven.qst.table.JoinTable; -import io.deephaven.qst.table.LeftJoinTable; import io.deephaven.qst.table.MergeTable; import io.deephaven.qst.table.NaturalJoinTable; import io.deephaven.qst.table.NewTable; @@ -212,14 +211,6 @@ public void visit(JoinTable joinTable) { left.join(right, joinTable.matches(), joinTable.additions(), joinTable.reserveBits())); } - @Override - public void visit(LeftJoinTable leftJoinTable) { - final TOPS left = ops(leftJoinTable.left()); - final TABLE right = table(leftJoinTable.right()); - addOp(leftJoinTable, - left.exactJoin(right, leftJoinTable.matches(), leftJoinTable.additions())); - } - @Override public void visit(AsOfJoinTable aj) { final TOPS left = ops(aj.left()); diff --git a/qst/src/main/java/io/deephaven/qst/table/LeftJoinTable.java b/qst/src/main/java/io/deephaven/qst/table/LeftJoinTable.java deleted file mode 100644 index c8bcd61337c..00000000000 --- a/qst/src/main/java/io/deephaven/qst/table/LeftJoinTable.java +++ /dev/null @@ -1,29 +0,0 @@ -package io.deephaven.qst.table; - -import io.deephaven.annotations.NodeStyle; -import io.deephaven.api.TableOperations; -import org.immutables.value.Value.Immutable; - -import java.util.Collection; - -/** - * @see TableOperations#leftJoin(Object, Collection, Collection) - */ -@Immutable -@NodeStyle -public abstract class LeftJoinTable extends JoinBase { - - public static Builder builder() { - return ImmutableLeftJoinTable.builder(); - } - - @Override - public final V walk(V visitor) { - visitor.visit(this); - return visitor; - } - - public interface Builder extends Join.Builder { - - } -} diff --git a/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java b/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java index 0ae3d66aee9..46698f5ae52 100644 --- a/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java +++ b/qst/src/main/java/io/deephaven/qst/table/LinkDescriber.java @@ -61,11 +61,6 @@ public void visit(JoinTable joinTable) { join(joinTable); } - @Override - public void visit(LeftJoinTable leftJoinTable) { - join(leftJoinTable); - } - @Override public void visit(AsOfJoinTable aj) { join(aj); diff --git a/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java b/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java index 887607302b9..bea5a18b64c 100644 --- a/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java +++ b/qst/src/main/java/io/deephaven/qst/table/ParentsVisitor.java @@ -209,11 +209,6 @@ public void visit(JoinTable joinTable) { out = Stream.of(joinTable.left(), joinTable.right()); } - @Override - public void visit(LeftJoinTable leftJoinTable) { - out = Stream.of(leftJoinTable.left(), leftJoinTable.right()); - } - @Override public void visit(AsOfJoinTable aj) { out = Stream.of(aj.left(), aj.right()); diff --git a/qst/src/main/java/io/deephaven/qst/table/TableBase.java b/qst/src/main/java/io/deephaven/qst/table/TableBase.java index 17ca034e611..e5e00b76b22 100644 --- a/qst/src/main/java/io/deephaven/qst/table/TableBase.java +++ b/qst/src/main/java/io/deephaven/qst/table/TableBase.java @@ -11,7 +11,6 @@ import io.deephaven.api.agg.Aggregation; import io.deephaven.api.filter.Filter; import io.deephaven.qst.TableCreationLogic; -import io.deephaven.qst.table.TableSchema.Visitor; import java.util.Arrays; import java.util.Collection; @@ -237,36 +236,6 @@ public final JoinTable join(TableSpec rightTable, String columnsToMatch, String return builder.build(); } - @Override - public final LeftJoinTable leftJoin(TableSpec rightTable, String columnsToMatch) { - LeftJoinTable.Builder builder = LeftJoinTable.builder().left(this).right(rightTable); - for (String match : split(columnsToMatch)) { - builder.addMatches(JoinMatch.parse(match)); - } - return builder.build(); - } - - @Override - public final LeftJoinTable leftJoin(TableSpec rightTable, String columnsToMatch, - String columnsToAdd) { - LeftJoinTable.Builder builder = LeftJoinTable.builder().left(this).right(rightTable); - for (String match : split(columnsToMatch)) { - builder.addMatches(JoinMatch.parse(match)); - } - for (String addition : split(columnsToAdd)) { - builder.addAdditions(JoinAddition.parse(addition)); - } - return builder.build(); - } - - @Override - public final LeftJoinTable leftJoin(TableSpec rightTable, - Collection columnsToMatch, - Collection columnsToAdd) { - return LeftJoinTable.builder().left(this).right(rightTable).addAllMatches(columnsToMatch) - .addAllAdditions(columnsToAdd).build(); - } - @Override public final AsOfJoinTable aj(TableSpec rightTable, String columnsToMatch) { AsOfJoinTable.Builder builder = AsOfJoinTable.builder().left(this).right(rightTable); diff --git a/qst/src/main/java/io/deephaven/qst/table/TableSpec.java b/qst/src/main/java/io/deephaven/qst/table/TableSpec.java index d4d3669480b..59bece4785f 100644 --- a/qst/src/main/java/io/deephaven/qst/table/TableSpec.java +++ b/qst/src/main/java/io/deephaven/qst/table/TableSpec.java @@ -127,8 +127,6 @@ interface Visitor { void visit(JoinTable joinTable); - void visit(LeftJoinTable leftJoinTable); - void visit(AsOfJoinTable aj); void visit(ReverseAsOfJoinTable raj); diff --git a/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java b/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java index 2b333a83172..bf379061b60 100644 --- a/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java +++ b/qst/src/main/java/io/deephaven/qst/table/TableVisitorGeneric.java @@ -79,11 +79,6 @@ public void visit(JoinTable joinTable) { accept(joinTable); } - @Override - public void visit(LeftJoinTable leftJoinTable) { - accept(leftJoinTable); - } - @Override public void visit(AsOfJoinTable aj) { accept(aj); diff --git a/table-api/src/main/java/io/deephaven/api/JoinAddition.java b/table-api/src/main/java/io/deephaven/api/JoinAddition.java index 5ca75fe4a7d..00e1beb3d74 100644 --- a/table-api/src/main/java/io/deephaven/api/JoinAddition.java +++ b/table-api/src/main/java/io/deephaven/api/JoinAddition.java @@ -12,7 +12,6 @@ * @see TableOperations#join(Object, Collection, Collection, int) * @see TableOperations#naturalJoin(Object, Collection, Collection) * @see TableOperations#exactJoin(Object, Collection, Collection) - * @see TableOperations#leftJoin(Object, Collection, Collection) * @see TableOperations#aj(Object, Collection, Collection, AsOfJoinRule) * @see TableOperations#raj(Object, Collection, Collection, ReverseAsOfJoinRule) */ diff --git a/table-api/src/main/java/io/deephaven/api/JoinMatch.java b/table-api/src/main/java/io/deephaven/api/JoinMatch.java index 8003fb10c72..54fd2182e32 100644 --- a/table-api/src/main/java/io/deephaven/api/JoinMatch.java +++ b/table-api/src/main/java/io/deephaven/api/JoinMatch.java @@ -14,7 +14,6 @@ * @see TableOperations#join(Object, Collection, Collection, int) * @see TableOperations#naturalJoin(Object, Collection, Collection) * @see TableOperations#exactJoin(Object, Collection, Collection) - * @see TableOperations#leftJoin(Object, Collection, Collection) * @see TableOperations#aj(Object, Collection, Collection, AsOfJoinRule) * @see TableOperations#raj(Object, Collection, Collection, ReverseAsOfJoinRule) * @see TableOperations#whereIn(Object, Collection) diff --git a/table-api/src/main/java/io/deephaven/api/TableOperations.java b/table-api/src/main/java/io/deephaven/api/TableOperations.java index d50e0ff7b41..1a9bf49a1f0 100644 --- a/table-api/src/main/java/io/deephaven/api/TableOperations.java +++ b/table-api/src/main/java/io/deephaven/api/TableOperations.java @@ -257,65 +257,6 @@ TOPS exactJoin(TABLE rightTable, Collection columnsToMatch, // ------------------------------------------------------------------------------------------- - /** - * Perform a left-join with the {@code rightTable}. - * - *

- * Delegates to {@link #leftJoin(Object, Collection, Collection)}. - * - * @param rightTable The right side table on the join. - * @param columnsToMatch A comma separated list of match conditions ("leftColumn=rightColumn" or - * "columnFoundInBoth") - * @return the left-joined table - */ - TOPS leftJoin(TABLE rightTable, String columnsToMatch); - - /** - * Perform a left-join with the {@code rightTable}. - * - *

- * Delegates to {@link #leftJoin(Object, Collection, Collection)}. - * - * @param rightTable The right side table on the join. - * @param columnsToMatch A comma separated list of match conditions ("leftColumn=rightColumn" or - * "columnFoundInBoth") - * @param columnsToAdd A comma separated list with the columns from the right side that need to be added to the left - * side as a result of the match. - * @return the left-joined table - */ - TOPS leftJoin(TABLE rightTable, String columnsToMatch, String columnsToAdd); - - /** - * Perform a left-join with the {@code rightTable}. - * - *

- * Returns a table that has one column for each of {@code this} table's columns, and one column corresponding to - * each of the {@code rightTable} columns from {@code columnsToAdd} (or all the columns whose names don't overlap - * with the name of a column from the source table if {@code columnsToAdd} is empty). The new columns (those - * corresponding to the {@code rightTable}) contain an aggregation of all values from the left side that match the - * join criteria. Consequently the types of all right side columns not involved in a join criteria, is an array of - * the original column type. If the two tables have columns with matching names then the method will fail with an - * exception unless the columns with corresponding names are found in one of the matching criteria. - * - *

- * NOTE: leftJoin operation does not involve an actual data copy, or an in-memory table creation. In order to - * produce an actual in memory table you need to apply a select call on the join result. - * - * @param rightTable The right side table on the join. - * @param columnsToMatch The match pair conditions. - * @param columnsToAdd The columns from the right side that need to be added to the left side as a result of the - * match. - * @return a table that has one column for each original table's columns, and one column corresponding to each - * column listed in columnsToAdd. If {@code columnsToAdd.isEmpty()} one column corresponding to each column - * of the input table (right table) columns whose names don't overlap with the name of a column from the - * source table is added. The new columns (those corresponding to the input table) contain an aggregation of - * all values from the left side that match the join criteria. - */ - TOPS leftJoin(TABLE rightTable, Collection columnsToMatch, - Collection columnsToAdd); - - // ------------------------------------------------------------------------------------------- - /** * Perform a cross join with the {@code rightTable}. * diff --git a/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java b/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java index a02c3f3889b..25bab23f3ba 100644 --- a/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java +++ b/table-api/src/main/java/io/deephaven/api/TableOperationsAdapter.java @@ -177,22 +177,6 @@ public final TOPS_1 exactJoin(TABLE_1 rightTable, return adapt(delegate.exactJoin(adapt(rightTable), columnsToMatch, columnsToAdd)); } - @Override - public final TOPS_1 leftJoin(TABLE_1 rightTable, String columnsToMatch) { - return adapt(delegate.leftJoin(adapt(rightTable), columnsToMatch)); - } - - @Override - public final TOPS_1 leftJoin(TABLE_1 rightTable, String columnsToMatch, String columnsToAdd) { - return adapt(delegate.leftJoin(adapt(rightTable), columnsToMatch, columnsToAdd)); - } - - @Override - public final TOPS_1 leftJoin(TABLE_1 rightTable, Collection columnsToMatch, - Collection columnsToAdd) { - return adapt(delegate.leftJoin(adapt(rightTable), columnsToMatch, columnsToAdd)); - } - @Override public final TOPS_1 join(TABLE_1 rightTable, String columnsToMatch) { return adapt(delegate.join(adapt(rightTable), columnsToMatch)); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java index fc7f02f0d46..51603b8ff01 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java @@ -9,7 +9,6 @@ import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.AsOfJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.CrossJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.ExactJoinTablesRequest; -import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.LeftJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.NaturalJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.RunChartDownsampleRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.SelectDistinctRequest; @@ -824,8 +823,6 @@ public Promise join(Object joinType, JsTable rightTable, JsArray exactJoin(JsTable rightTable, JsArray columnsToM .then(state -> Promise.resolve(new JsTable(workerConnection, state))); } - @JsMethod - public Promise leftJoin(JsTable rightTable, JsArray columnsToMatch, - @JsOptional JsArray columnsToAdd) { - if (rightTable.workerConnection != workerConnection) { - throw new IllegalStateException( - "Table argument passed to join is not from the same worker as current table"); - } - return workerConnection.newState((c, state, metadata) -> { - LeftJoinTablesRequest request = new LeftJoinTablesRequest(); - request.setLeftId(state().getHandle().makeTableReference()); - request.setRightId(rightTable.state().getHandle().makeTableReference()); - request.setResultId(state.getHandle().makeTicket()); - request.setColumnsToMatchList(columnsToMatch); - request.setColumnsToAddList(columnsToAdd); - workerConnection.tableServiceClient().leftJoinTables(request, metadata, c::apply); - }, "leftJoin(" + rightTable + ", " + columnsToMatch + ", " + columnsToAdd + ")") - .refetch(this, workerConnection.metadata()) - .then(state -> Promise.resolve(new JsTable(workerConnection, state))); - } - @JsMethod public Promise naturalJoin(JsTable rightTable, JsArray columnsToMatch, @JsOptional JsArray columnsToAdd) { diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/BatchTableRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/BatchTableRequest.java index 9cf1bdecf7e..0b621e9eaa7 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/BatchTableRequest.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/BatchTableRequest.java @@ -1104,54 +1104,6 @@ static BatchTableRequest.ToObjectReturnType.OpsListFieldType.HeadFieldType creat void setSourceId(Object sourceId); } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftJoinFieldType { - @JsOverlay - static BatchTableRequest.ToObjectReturnType.OpsListFieldType.LeftJoinFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - JsArray getColumnsToAddList(); - - @JsProperty - JsArray getColumnsToMatchList(); - - @JsProperty - Object getLeftId(); - - @JsProperty - Object getResultId(); - - @JsProperty - Object getRightId(); - - @JsProperty - void setColumnsToAddList(JsArray columnsToAddList); - - @JsOverlay - default void setColumnsToAddList(String[] columnsToAddList) { - setColumnsToAddList(Js.>uncheckedCast(columnsToAddList)); - } - - @JsProperty - void setColumnsToMatchList(JsArray columnsToMatchList); - - @JsOverlay - default void setColumnsToMatchList(String[] columnsToMatchList) { - setColumnsToMatchList(Js.>uncheckedCast(columnsToMatchList)); - } - - @JsProperty - void setLeftId(Object leftId); - - @JsProperty - void setResultId(Object resultId); - - @JsProperty - void setRightId(Object rightId); - } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface MergeFieldType { @JsOverlay @@ -1611,9 +1563,6 @@ static BatchTableRequest.ToObjectReturnType.OpsListFieldType create() { @JsProperty Object getLazyUpdate(); - @JsProperty - BatchTableRequest.ToObjectReturnType.OpsListFieldType.LeftJoinFieldType getLeftJoin(); - @JsProperty BatchTableRequest.ToObjectReturnType.OpsListFieldType.MergeFieldType getMerge(); @@ -1715,10 +1664,6 @@ void setFlatten( @JsProperty void setLazyUpdate(Object lazyUpdate); - @JsProperty - void setLeftJoin( - BatchTableRequest.ToObjectReturnType.OpsListFieldType.LeftJoinFieldType leftJoin); - @JsProperty void setMerge(BatchTableRequest.ToObjectReturnType.OpsListFieldType.MergeFieldType merge); @@ -2880,54 +2825,6 @@ static BatchTableRequest.ToObjectReturnType0.OpsListFieldType.HeadFieldType crea void setSourceId(Object sourceId); } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftJoinFieldType { - @JsOverlay - static BatchTableRequest.ToObjectReturnType0.OpsListFieldType.LeftJoinFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - JsArray getColumnsToAddList(); - - @JsProperty - JsArray getColumnsToMatchList(); - - @JsProperty - Object getLeftId(); - - @JsProperty - Object getResultId(); - - @JsProperty - Object getRightId(); - - @JsProperty - void setColumnsToAddList(JsArray columnsToAddList); - - @JsOverlay - default void setColumnsToAddList(String[] columnsToAddList) { - setColumnsToAddList(Js.>uncheckedCast(columnsToAddList)); - } - - @JsProperty - void setColumnsToMatchList(JsArray columnsToMatchList); - - @JsOverlay - default void setColumnsToMatchList(String[] columnsToMatchList) { - setColumnsToMatchList(Js.>uncheckedCast(columnsToMatchList)); - } - - @JsProperty - void setLeftId(Object leftId); - - @JsProperty - void setResultId(Object resultId); - - @JsProperty - void setRightId(Object rightId); - } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface MergeFieldType { @JsOverlay @@ -3387,9 +3284,6 @@ static BatchTableRequest.ToObjectReturnType0.OpsListFieldType create() { @JsProperty Object getLazyUpdate(); - @JsProperty - BatchTableRequest.ToObjectReturnType0.OpsListFieldType.LeftJoinFieldType getLeftJoin(); - @JsProperty BatchTableRequest.ToObjectReturnType0.OpsListFieldType.MergeFieldType getMerge(); @@ -3491,10 +3385,6 @@ void setFlatten( @JsProperty void setLazyUpdate(Object lazyUpdate); - @JsProperty - void setLeftJoin( - BatchTableRequest.ToObjectReturnType0.OpsListFieldType.LeftJoinFieldType leftJoin); - @JsProperty void setMerge(BatchTableRequest.ToObjectReturnType0.OpsListFieldType.MergeFieldType merge); diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/LeftJoinTablesRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/LeftJoinTablesRequest.java deleted file mode 100644 index 8c283080ab8..00000000000 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/LeftJoinTablesRequest.java +++ /dev/null @@ -1,345 +0,0 @@ -package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb; - -import elemental2.core.JsArray; -import elemental2.core.Uint8Array; -import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.Ticket; -import jsinterop.annotations.JsOverlay; -import jsinterop.annotations.JsPackage; -import jsinterop.annotations.JsProperty; -import jsinterop.annotations.JsType; -import jsinterop.base.Js; -import jsinterop.base.JsPropertyMap; - -@JsType( - isNative = true, - name = "dhinternal.io.deephaven.proto.table_pb.LeftJoinTablesRequest", - namespace = JsPackage.GLOBAL) -public class LeftJoinTablesRequest { - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface ToObjectReturnType { - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftIdFieldType { - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType.LeftIdFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - double getBatchOffset(); - - @JsProperty - Object getTicket(); - - @JsProperty - void setBatchOffset(double batchOffset); - - @JsProperty - void setTicket(Object ticket); - } - - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface ResultIdFieldType { - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface GetTicketUnionType { - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType.ResultIdFieldType.GetTicketUnionType of( - Object o) { - return Js.cast(o); - } - - @JsOverlay - default String asString() { - return Js.asString(this); - } - - @JsOverlay - default Uint8Array asUint8Array() { - return Js.cast(this); - } - - @JsOverlay - default boolean isString() { - return (Object) this instanceof String; - } - - @JsOverlay - default boolean isUint8Array() { - return (Object) this instanceof Uint8Array; - } - } - - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType.ResultIdFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - LeftJoinTablesRequest.ToObjectReturnType.ResultIdFieldType.GetTicketUnionType getTicket(); - - @JsProperty - void setTicket( - LeftJoinTablesRequest.ToObjectReturnType.ResultIdFieldType.GetTicketUnionType ticket); - - @JsOverlay - default void setTicket(String ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } - - @JsOverlay - default void setTicket(Uint8Array ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } - } - - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - JsArray getColumnsToAddList(); - - @JsProperty - JsArray getColumnsToMatchList(); - - @JsProperty - LeftJoinTablesRequest.ToObjectReturnType.LeftIdFieldType getLeftId(); - - @JsProperty - LeftJoinTablesRequest.ToObjectReturnType.ResultIdFieldType getResultId(); - - @JsProperty - Object getRightId(); - - @JsProperty - void setColumnsToAddList(JsArray columnsToAddList); - - @JsOverlay - default void setColumnsToAddList(String[] columnsToAddList) { - setColumnsToAddList(Js.>uncheckedCast(columnsToAddList)); - } - - @JsProperty - void setColumnsToMatchList(JsArray columnsToMatchList); - - @JsOverlay - default void setColumnsToMatchList(String[] columnsToMatchList) { - setColumnsToMatchList(Js.>uncheckedCast(columnsToMatchList)); - } - - @JsProperty - void setLeftId(LeftJoinTablesRequest.ToObjectReturnType.LeftIdFieldType leftId); - - @JsProperty - void setResultId(LeftJoinTablesRequest.ToObjectReturnType.ResultIdFieldType resultId); - - @JsProperty - void setRightId(Object rightId); - } - - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface ToObjectReturnType0 { - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftIdFieldType { - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType0.LeftIdFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - double getBatchOffset(); - - @JsProperty - Object getTicket(); - - @JsProperty - void setBatchOffset(double batchOffset); - - @JsProperty - void setTicket(Object ticket); - } - - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface ResultIdFieldType { - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface GetTicketUnionType { - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType0.ResultIdFieldType.GetTicketUnionType of( - Object o) { - return Js.cast(o); - } - - @JsOverlay - default String asString() { - return Js.asString(this); - } - - @JsOverlay - default Uint8Array asUint8Array() { - return Js.cast(this); - } - - @JsOverlay - default boolean isString() { - return (Object) this instanceof String; - } - - @JsOverlay - default boolean isUint8Array() { - return (Object) this instanceof Uint8Array; - } - } - - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType0.ResultIdFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - LeftJoinTablesRequest.ToObjectReturnType0.ResultIdFieldType.GetTicketUnionType getTicket(); - - @JsProperty - void setTicket( - LeftJoinTablesRequest.ToObjectReturnType0.ResultIdFieldType.GetTicketUnionType ticket); - - @JsOverlay - default void setTicket(String ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } - - @JsOverlay - default void setTicket(Uint8Array ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } - } - - @JsOverlay - static LeftJoinTablesRequest.ToObjectReturnType0 create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - JsArray getColumnsToAddList(); - - @JsProperty - JsArray getColumnsToMatchList(); - - @JsProperty - LeftJoinTablesRequest.ToObjectReturnType0.LeftIdFieldType getLeftId(); - - @JsProperty - LeftJoinTablesRequest.ToObjectReturnType0.ResultIdFieldType getResultId(); - - @JsProperty - Object getRightId(); - - @JsProperty - void setColumnsToAddList(JsArray columnsToAddList); - - @JsOverlay - default void setColumnsToAddList(String[] columnsToAddList) { - setColumnsToAddList(Js.>uncheckedCast(columnsToAddList)); - } - - @JsProperty - void setColumnsToMatchList(JsArray columnsToMatchList); - - @JsOverlay - default void setColumnsToMatchList(String[] columnsToMatchList) { - setColumnsToMatchList(Js.>uncheckedCast(columnsToMatchList)); - } - - @JsProperty - void setLeftId(LeftJoinTablesRequest.ToObjectReturnType0.LeftIdFieldType leftId); - - @JsProperty - void setResultId(LeftJoinTablesRequest.ToObjectReturnType0.ResultIdFieldType resultId); - - @JsProperty - void setRightId(Object rightId); - } - - public static native LeftJoinTablesRequest deserializeBinary(Uint8Array bytes); - - public static native LeftJoinTablesRequest deserializeBinaryFromReader( - LeftJoinTablesRequest message, Object reader); - - public static native void serializeBinaryToWriter(LeftJoinTablesRequest message, Object writer); - - public static native LeftJoinTablesRequest.ToObjectReturnType toObject( - boolean includeInstance, LeftJoinTablesRequest msg); - - public native String addColumnsToAdd(String value, double index); - - public native String addColumnsToAdd(String value); - - public native String addColumnsToMatch(String value, double index); - - public native String addColumnsToMatch(String value); - - public native void clearColumnsToAddList(); - - public native void clearColumnsToMatchList(); - - public native void clearLeftId(); - - public native void clearResultId(); - - public native void clearRightId(); - - public native JsArray getColumnsToAddList(); - - public native JsArray getColumnsToMatchList(); - - public native TableReference getLeftId(); - - public native Ticket getResultId(); - - public native TableReference getRightId(); - - public native boolean hasLeftId(); - - public native boolean hasResultId(); - - public native boolean hasRightId(); - - public native Uint8Array serializeBinary(); - - public native void setColumnsToAddList(JsArray value); - - @JsOverlay - public final void setColumnsToAddList(String[] value) { - setColumnsToAddList(Js.>uncheckedCast(value)); - } - - public native void setColumnsToMatchList(JsArray value); - - @JsOverlay - public final void setColumnsToMatchList(String[] value) { - setColumnsToMatchList(Js.>uncheckedCast(value)); - } - - public native void setLeftId(); - - public native void setLeftId(TableReference value); - - public native void setResultId(); - - public native void setResultId(Ticket value); - - public native void setRightId(); - - public native void setRightId(TableReference value); - - public native LeftJoinTablesRequest.ToObjectReturnType0 toObject(); - - public native LeftJoinTablesRequest.ToObjectReturnType0 toObject(boolean includeInstance); -} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/Operation.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/Operation.java index ac538da55bd..39b2232377d 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/Operation.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/Operation.java @@ -16,7 +16,6 @@ import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.FlattenRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.HeadOrTailByRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.HeadOrTailRequest; -import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.LeftJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.MergeTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.NaturalJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.RunChartDownsampleRequest; @@ -1124,54 +1123,6 @@ static Operation.ToObjectReturnType.HeadFieldType create() { void setSourceId(Object sourceId); } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftJoinFieldType { - @JsOverlay - static Operation.ToObjectReturnType.LeftJoinFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - JsArray getColumnsToAddList(); - - @JsProperty - JsArray getColumnsToMatchList(); - - @JsProperty - Object getLeftId(); - - @JsProperty - Object getResultId(); - - @JsProperty - Object getRightId(); - - @JsProperty - void setColumnsToAddList(JsArray columnsToAddList); - - @JsOverlay - default void setColumnsToAddList(String[] columnsToAddList) { - setColumnsToAddList(Js.>uncheckedCast(columnsToAddList)); - } - - @JsProperty - void setColumnsToMatchList(JsArray columnsToMatchList); - - @JsOverlay - default void setColumnsToMatchList(String[] columnsToMatchList) { - setColumnsToMatchList(Js.>uncheckedCast(columnsToMatchList)); - } - - @JsProperty - void setLeftId(Object leftId); - - @JsProperty - void setResultId(Object resultId); - - @JsProperty - void setRightId(Object rightId); - } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface MergeFieldType { @JsOverlay @@ -1631,9 +1582,6 @@ static Operation.ToObjectReturnType create() { @JsProperty Object getLazyUpdate(); - @JsProperty - Operation.ToObjectReturnType.LeftJoinFieldType getLeftJoin(); - @JsProperty Operation.ToObjectReturnType.MergeFieldType getMerge(); @@ -1727,9 +1675,6 @@ void setFetchPandasTable( @JsProperty void setLazyUpdate(Object lazyUpdate); - @JsProperty - void setLeftJoin(Operation.ToObjectReturnType.LeftJoinFieldType leftJoin); - @JsProperty void setMerge(Operation.ToObjectReturnType.MergeFieldType merge); @@ -2864,54 +2809,6 @@ static Operation.ToObjectReturnType0.HeadFieldType create() { void setSourceId(Object sourceId); } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftJoinFieldType { - @JsOverlay - static Operation.ToObjectReturnType0.LeftJoinFieldType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - JsArray getColumnsToAddList(); - - @JsProperty - JsArray getColumnsToMatchList(); - - @JsProperty - Object getLeftId(); - - @JsProperty - Object getResultId(); - - @JsProperty - Object getRightId(); - - @JsProperty - void setColumnsToAddList(JsArray columnsToAddList); - - @JsOverlay - default void setColumnsToAddList(String[] columnsToAddList) { - setColumnsToAddList(Js.>uncheckedCast(columnsToAddList)); - } - - @JsProperty - void setColumnsToMatchList(JsArray columnsToMatchList); - - @JsOverlay - default void setColumnsToMatchList(String[] columnsToMatchList) { - setColumnsToMatchList(Js.>uncheckedCast(columnsToMatchList)); - } - - @JsProperty - void setLeftId(Object leftId); - - @JsProperty - void setResultId(Object resultId); - - @JsProperty - void setRightId(Object rightId); - } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface MergeFieldType { @JsOverlay @@ -3371,9 +3268,6 @@ static Operation.ToObjectReturnType0 create() { @JsProperty Object getLazyUpdate(); - @JsProperty - Operation.ToObjectReturnType0.LeftJoinFieldType getLeftJoin(); - @JsProperty Operation.ToObjectReturnType0.MergeFieldType getMerge(); @@ -3467,9 +3361,6 @@ void setFetchPandasTable( @JsProperty void setLazyUpdate(Object lazyUpdate); - @JsProperty - void setLeftJoin(Operation.ToObjectReturnType0.LeftJoinFieldType leftJoin); - @JsProperty void setMerge(Operation.ToObjectReturnType0.MergeFieldType merge); @@ -3557,8 +3448,6 @@ public static native Operation.ToObjectReturnType toObject( public native void clearLazyUpdate(); - public native void clearLeftJoin(); - public native void clearMerge(); public native void clearNaturalJoin(); @@ -3619,8 +3508,6 @@ public static native Operation.ToObjectReturnType toObject( public native SelectOrUpdateRequest getLazyUpdate(); - public native LeftJoinTablesRequest getLeftJoin(); - public native MergeTablesRequest getMerge(); public native NaturalJoinTablesRequest getNaturalJoin(); @@ -3683,8 +3570,6 @@ public static native Operation.ToObjectReturnType toObject( public native boolean hasLazyUpdate(); - public native boolean hasLeftJoin(); - public native boolean hasMerge(); public native boolean hasNaturalJoin(); @@ -3777,10 +3662,6 @@ public static native Operation.ToObjectReturnType toObject( public native void setLazyUpdate(SelectOrUpdateRequest value); - public native void setLeftJoin(); - - public native void setLeftJoin(LeftJoinTablesRequest value); - public native void setMerge(); public native void setMerge(MergeTablesRequest value); diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/operation/OpCase.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/operation/OpCase.java index 4878327f372..a969864e4fe 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/operation/OpCase.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/batchtablerequest/operation/OpCase.java @@ -23,7 +23,6 @@ public class OpCase { HEAD, HEAD_BY, LAZY_UPDATE, - LEFT_JOIN, MERGE, NATURAL_JOIN, OP_NOT_SET, diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableService.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableService.java index 493db57958b..cce11b76edf 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableService.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableService.java @@ -848,50 +848,6 @@ static TableService.LazyUpdateType create() { void setService(Object service); } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftJoinTablesType { - @JsOverlay - static TableService.LeftJoinTablesType create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - String getMethodName(); - - @JsProperty - Object getRequestType(); - - @JsProperty - Object getResponseType(); - - @JsProperty - Object getService(); - - @JsProperty - boolean isRequestStream(); - - @JsProperty - boolean isResponseStream(); - - @JsProperty - void setMethodName(String methodName); - - @JsProperty - void setRequestStream(boolean requestStream); - - @JsProperty - void setRequestType(Object requestType); - - @JsProperty - void setResponseStream(boolean responseStream); - - @JsProperty - void setResponseType(Object responseType); - - @JsProperty - void setService(Object service); - } - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface MergeTablesType { @JsOverlay @@ -1571,7 +1527,6 @@ static TableService.ViewType create() { public static TableService.HeadType Head; public static TableService.HeadByType HeadBy; public static TableService.LazyUpdateType LazyUpdate; - public static TableService.LeftJoinTablesType LeftJoinTables; public static TableService.MergeTablesType MergeTables; public static TableService.NaturalJoinTablesType NaturalJoinTables; public static TableService.RunChartDownsampleType RunChartDownsample; diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableServiceClient.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableServiceClient.java index a0673eb24f6..6c3e5a896c6 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableServiceClient.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb_service/TableServiceClient.java @@ -21,7 +21,6 @@ import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.FlattenRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.HeadOrTailByRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.HeadOrTailRequest; -import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.LeftJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.MergeTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.NaturalJoinTablesRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.RunChartDownsampleRequest; @@ -1623,99 +1622,6 @@ default boolean isLazyUpdateMetadata_or_callbackFn() { } } - @JsFunction - public interface LeftJoinTablesCallbackFn { - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface P0Type { - @JsOverlay - static TableServiceClient.LeftJoinTablesCallbackFn.P0Type create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - double getCode(); - - @JsProperty - String getMessage(); - - @JsProperty - BrowserHeaders getMetadata(); - - @JsProperty - void setCode(double code); - - @JsProperty - void setMessage(String message); - - @JsProperty - void setMetadata(BrowserHeaders metadata); - } - - void onInvoke( - TableServiceClient.LeftJoinTablesCallbackFn.P0Type p0, ExportedTableCreationResponse p1); - } - - @JsFunction - public interface LeftJoinTablesMetadata_or_callbackFn { - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface P0Type { - @JsOverlay - static TableServiceClient.LeftJoinTablesMetadata_or_callbackFn.P0Type create() { - return Js.uncheckedCast(JsPropertyMap.of()); - } - - @JsProperty - double getCode(); - - @JsProperty - String getMessage(); - - @JsProperty - BrowserHeaders getMetadata(); - - @JsProperty - void setCode(double code); - - @JsProperty - void setMessage(String message); - - @JsProperty - void setMetadata(BrowserHeaders metadata); - } - - void onInvoke( - TableServiceClient.LeftJoinTablesMetadata_or_callbackFn.P0Type p0, - ExportedTableCreationResponse p1); - } - - @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface LeftJoinTablesMetadata_or_callbackUnionType { - @JsOverlay - static TableServiceClient.LeftJoinTablesMetadata_or_callbackUnionType of(Object o) { - return Js.cast(o); - } - - @JsOverlay - default BrowserHeaders asBrowserHeaders() { - return Js.cast(this); - } - - @JsOverlay - default TableServiceClient.LeftJoinTablesMetadata_or_callbackFn asLeftJoinTablesMetadata_or_callbackFn() { - return Js.cast(this); - } - - @JsOverlay - default boolean isBrowserHeaders() { - return (Object) this instanceof BrowserHeaders; - } - - @JsOverlay - default boolean isLeftJoinTablesMetadata_or_callbackFn() { - return (Object) this instanceof TableServiceClient.LeftJoinTablesMetadata_or_callbackFn; - } - } - @JsFunction public interface MergeTablesCallbackFn { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -4005,58 +3911,6 @@ public native UnaryResponse lazyUpdate( SelectOrUpdateRequest requestMessage, TableServiceClient.LazyUpdateMetadata_or_callbackUnionType metadata_or_callback); - @JsOverlay - public final UnaryResponse leftJoinTables( - LeftJoinTablesRequest requestMessage, - BrowserHeaders metadata_or_callback, - TableServiceClient.LeftJoinTablesCallbackFn callback) { - return leftJoinTables( - requestMessage, - Js.uncheckedCast( - metadata_or_callback), - callback); - } - - @JsOverlay - public final UnaryResponse leftJoinTables( - LeftJoinTablesRequest requestMessage, BrowserHeaders metadata_or_callback) { - return leftJoinTables( - requestMessage, - Js.uncheckedCast( - metadata_or_callback)); - } - - @JsOverlay - public final UnaryResponse leftJoinTables( - LeftJoinTablesRequest requestMessage, - TableServiceClient.LeftJoinTablesMetadata_or_callbackFn metadata_or_callback, - TableServiceClient.LeftJoinTablesCallbackFn callback) { - return leftJoinTables( - requestMessage, - Js.uncheckedCast( - metadata_or_callback), - callback); - } - - @JsOverlay - public final UnaryResponse leftJoinTables( - LeftJoinTablesRequest requestMessage, - TableServiceClient.LeftJoinTablesMetadata_or_callbackFn metadata_or_callback) { - return leftJoinTables( - requestMessage, - Js.uncheckedCast( - metadata_or_callback)); - } - - public native UnaryResponse leftJoinTables( - LeftJoinTablesRequest requestMessage, - TableServiceClient.LeftJoinTablesMetadata_or_callbackUnionType metadata_or_callback, - TableServiceClient.LeftJoinTablesCallbackFn callback); - - public native UnaryResponse leftJoinTables( - LeftJoinTablesRequest requestMessage, - TableServiceClient.LeftJoinTablesMetadata_or_callbackUnionType metadata_or_callback); - @JsOverlay public final UnaryResponse mergeTables( MergeTablesRequest requestMessage,