Skip to content

Commit

Permalink
Rename to single join to match general use.
Browse files Browse the repository at this point in the history
  • Loading branch information
EpsilonPrime committed Apr 12, 2024
1 parent 8ba8ebb commit 45c4d71
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
9 changes: 4 additions & 5 deletions proto/substrait/algebra.proto
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ message Rel {
HashJoinRel hash_join = 13;
MergeJoinRel merge_join = 14;
NestedLoopJoinRel nested_loop_join = 18;
SingleMatchJoinRel single_match_join = 22;
SingleJoinRel single_join = 22;
ConsistentPartitionWindowRel window = 17;
ExchangeRel exchange = 15;
ExpandRel expand = 16;
Expand Down Expand Up @@ -726,10 +726,9 @@ message NestedLoopJoinRel {
substrait.extensions.AdvancedExtension advanced_extension = 10;
}

// A single match join where it as an error for there to be more than one match between the left and right inputs.
// Typical use would be to have one side's duplicates eliminated and then be pushed into a column scan on the other
// side. This is a common join used while converting subqueries into joins.
message SingleMatchJoinRel {
// A single join enforces that each row is matched at once most counterpart.
// If this constraint is violated, an error is raised.
message SingleJoinRel {
RelCommon common = 1;
Rel left = 2;
Rel right = 3;
Expand Down
4 changes: 2 additions & 2 deletions site/docs/relations/physical_relations.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ The merge equijoin does a join by taking advantage of two sets that are sorted o



## Single Match Join Operator
## Single Join Operator

The single match join works by enforcing that each row is involved in only a single match. If this violated, an error
is raised. Typical use would be to have one side's duplicates eliminated and then be pushed into a column scan on the
Expand All @@ -86,7 +86,7 @@ other side. This operator is useful when converting subqueries into joins.
| Property Maintenance | Distribution is maintained. Orderedness is eliminated. |
| Direct Output Order | Same as the [Join](logical_relations.md#join-operator) operator. |

### Single Match Join Properties
### Single Join Properties

| Property | Description | Required |
|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|
Expand Down

0 comments on commit 45c4d71

Please sign in to comment.