Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: add more weird join predicate tests #7424

Merged
merged 1 commit into from
Oct 26, 2023

Conversation

NickCrews
Copy link
Contributor

@NickCrews NickCrews commented Oct 24, 2023

fixes #6506

As I was exploring #6506,
I deiscovered that there were all these join predicate
types that currenty work,
but only sort of "accidentally", and they
aren't actually tested for. This adds
tests for those.

Still TODO is to

  • document and add examples for these
  • determine if we can remove the need for the outer list for tuple keys. e.g. currently you need to to [(_.col_in_left.upper(), _.col_in_right.upper())] instead of merely (_.col_in_left.upper(), _.col_in_right.upper()), because the iterable of conditions gets promoted to a list, so ibis thinks the user really means two join keys: [_.col_in_left.upper(), _.col_in_right.upper()]. I would love to remove the need for this outer list. Could we add a special case where if keys is a tuple of length 2, then assume this is a single join key, and don't util.promote_list() it?

@cpcloud cpcloud added this to the 7.1 milestone Oct 24, 2023
@cpcloud
Copy link
Member

cpcloud commented Oct 24, 2023

I think we can probably address point 2, but if we can hold off until 8.0 that would be ideal as there are some other refactors of joins happening right now. Is that okay?

@cpcloud
Copy link
Member

cpcloud commented Oct 24, 2023

@NickCrews Would you mind changing the commit message to be a bit more specific than weird? Perhaps something like test(api): flesh out join predicate tests

@cpcloud cpcloud added ux User experience related issues tests Issues or PRs related to tests labels Oct 24, 2023
@NickCrews
Copy link
Contributor Author

I will change the commit message and add to the docs.

Sounds good on the 8.0 target!

As I was exploring ibis-project#6506, I
discovered that there are join predicate types that currently work, but
aren't tested for. This commits adds tests for those predicate types.
@cpcloud cpcloud force-pushed the more-join-predicates branch from a11b23d to aa949fb Compare October 26, 2023 09:42
@cpcloud cpcloud enabled auto-merge (rebase) October 26, 2023 09:42
@cpcloud
Copy link
Member

cpcloud commented Oct 26, 2023

@NickCrews I updated the commit message!

Please open the docs changes in a separate PR. Looking forward to them!

@cpcloud cpcloud merged commit a965f67 into ibis-project:master Oct 26, 2023
78 checks passed
@NickCrews
Copy link
Contributor Author

Thanks! Im mostly out of office the next few weeks so I will be slow to respond. Looks great.

NickCrews added a commit to NickCrews/ibis that referenced this pull request Oct 30, 2023
NickCrews added a commit to NickCrews/ibis that referenced this pull request Oct 31, 2023
NickCrews added a commit to NickCrews/ibis that referenced this pull request Oct 31, 2023
NickCrews added a commit to NickCrews/ibis that referenced this pull request Nov 1, 2023
cpcloud pushed a commit that referenced this pull request Nov 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests Issues or PRs related to tests ux User experience related issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: Support f(left: Table, right: Table) functions as predicates to joins
2 participants