Skip to content

Commit

Permalink
GRPC support for MultiJoin, improved GRPC support for RangeJoin (#5153)
Browse files Browse the repository at this point in the history
* MultiJoin GRPC implementation and RangeJoin GRPC update.

* Additional verification for MultiJoinRequest

* Updated the documentation.

* OperatorHelper updated.

* PR comments addressed.

* Simplified MultiJoin GRPC structures.

* Re-gen'd proto output.

* Removed incorrect comment.

* Added comments to MultiJoinInput structures.
  • Loading branch information
lbooker42 authored Feb 16, 2024
1 parent 36af775 commit a957322
Show file tree
Hide file tree
Showing 18 changed files with 5,769 additions and 3,388 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest;
import io.deephaven.proto.backplane.grpc.MergeTablesRequest;
import io.deephaven.proto.backplane.grpc.MetaTableRequest;
import io.deephaven.proto.backplane.grpc.MultiJoinTablesRequest;
import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest;
import io.deephaven.proto.backplane.grpc.RangeJoinTablesRequest;
import io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest;
Expand Down Expand Up @@ -372,6 +373,17 @@ void checkPermissionAjTables(AuthContext authContext, AjRajTablesRequest request
void checkPermissionRajTables(AuthContext authContext, AjRajTablesRequest request,
List<Table> sourceTables);

/**
* Authorize a request to MultiJoinTables.
*
* @param authContext the authentication context of the request
* @param request the request to authorize
* @param sourceTables the operation's source tables
* @throws io.grpc.StatusRuntimeException if the user is not authorized to invoke MultiJoinTables
*/
void checkPermissionMultiJoinTables(AuthContext authContext, MultiJoinTablesRequest request,
List<Table> sourceTables);

/**
* Authorize a request to RangeJoinTables.
*
Expand Down Expand Up @@ -677,6 +689,11 @@ public void checkPermissionRajTables(AuthContext authContext, AjRajTablesRequest
checkPermission(authContext, sourceTables);
}

public void checkPermissionMultiJoinTables(AuthContext authContext,
MultiJoinTablesRequest request, List<Table> sourceTables) {
checkPermission(authContext, sourceTables);
}

public void checkPermissionRangeJoinTables(AuthContext authContext,
RangeJoinTablesRequest request, List<Table> sourceTables) {
checkPermission(authContext, sourceTables);
Expand Down Expand Up @@ -972,6 +989,13 @@ public void checkPermissionRajTables(AuthContext authContext, AjRajTablesRequest
}
}

public void checkPermissionMultiJoinTables(AuthContext authContext,
MultiJoinTablesRequest request, List<Table> sourceTables) {
if (delegate != null) {
delegate.checkPermissionMultiJoinTables(authContext, request, sourceTables);
}
}

public void checkPermissionRangeJoinTables(AuthContext authContext,
RangeJoinTablesRequest request, List<Table> sourceTables) {
if (delegate != null) {
Expand Down
100 changes: 71 additions & 29 deletions cpp-client/deephaven/dhclient/proto/deephaven/proto/table.grpc.pb.cc

Large diffs are not rendered by default.

437 changes: 300 additions & 137 deletions cpp-client/deephaven/dhclient/proto/deephaven/proto/table.grpc.pb.h

Large diffs are not rendered by default.

2,234 changes: 1,460 additions & 774 deletions cpp-client/deephaven/dhclient/proto/deephaven/proto/table.pb.cc

Large diffs are not rendered by default.

Loading

0 comments on commit a957322

Please sign in to comment.