Add join overloads for Joins: Table
#136
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Parameter packs break down when a pack generic is a single value (instead of a tuple) and has a conformance constraint. These overloads are to work around it.
Before 1.0 we should probably come up with a reasonable limitation of how joins work. Some ideas to reduce the overloads:
Joins require no selected columns on either side. While it'd be nice to splat them, it just doesn't work well with parameter packs today.
Joins require no joined tables on the righthand side. Again: it'd be nice to support this, but it doesn't work well in the language today.
This maybe even means joins take
Table.Typeinstead ofSelect<Table>.I think if these two limitations were known and documented we could eliminate the many of the overloads we've defined today.