Skip to content

feat(core): add SubstraitBuilder.fieldReference(s) methods for joins#712

Open
nielspardon wants to merge 1 commit intosubstrait-io:mainfrom
nielspardon:par-dsl-joinfieldref
Open

feat(core): add SubstraitBuilder.fieldReference(s) methods for joins#712
nielspardon wants to merge 1 commit intosubstrait-io:mainfrom
nielspardon:par-dsl-joinfieldref

Conversation

@nielspardon
Copy link
Member

This PR adds two convenience methods to SubstraitBuilder for creating field references from a JoinInput. Simplifies patterns like these:

Rel left;
Rel right;
sb.innerJoin(inputs -> sb.equal(sb.fieldReference(List.of(inputs.left, inputs.right), 0), sb.fieldReference(List.of(inputs.left, inputs.right), 10)), left, right);

// or 

Rel left;
Rel right;
List<Rel> inputRels = List.of(left, right);
sb.innerJoin(inputs -> sb.equal(sb.fieldReference(inputRels, 0), sb.fieldReference(inputRels, 10)), left, right);

to simply:

Rel left;
Rel right;
sb.innerJoin(inputs -> sb.equal(sb.fieldReference(inputs, 0), sb.fieldReference(inputs, 10)), left, right);

Signed-off-by: Niels Pardon <par@zurich.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant