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

refactor(joins): require explicit abstract table as RHS of joins #9661

Merged
merged 1 commit into from
Sep 23, 2024

Conversation

gforsyth
Copy link
Member

Description of changes

We have (had) limited support for passing in in-memory objects as the
RHS of a join, where we would create a memtable for the user and then
use that. For backends where memtable creation is expensive, or for
queries where there may be multiple calls to the same in-memory data, it
is better to be explicit and first register the in-memory data with the
backend using either memtable or create_table.

BREAKING CHANGE: Passing a pyarrow.Table or a pandas.DataFrame as
the right-hand-side of a join is no longer supported.

To join against in-memory data, you can pass the in-memory object to
ibis.memtable or con.create_table and use the resulting table object
instead.

Issues closed

@gforsyth gforsyth added this to the 10.0 milestone Jul 22, 2024
@gforsyth gforsyth marked this pull request as draft July 22, 2024 20:04
@gforsyth
Copy link
Member Author

Converting this to draft to avoid merging early

@gforsyth gforsyth force-pushed the only_join_abstract_tables branch from 796f144 to d160173 Compare July 29, 2024 20:03
@gforsyth gforsyth marked this pull request as ready for review August 16, 2024 19:22
@gforsyth gforsyth added the breaking change Changes that introduce an API break at any level label Aug 16, 2024
@gforsyth gforsyth force-pushed the only_join_abstract_tables branch from d160173 to 162f8f2 Compare August 16, 2024 19:23
We have (had) limited support for passing in in-memory objects as the
RHS of a join, where we would create a memtable for the user and then
use that.  For backends where memtable creation is expensive, or for
queries where there may be multiple calls to the same in-memory data, it
is better to be explicit and first register the in-memory data with the
backend using either `memtable` or `create_table`.

BREAKING CHANGE: Passing a `pyarrow.Table` or a `pandas.DataFrame` as
the right-hand-side of a join is no longer supported.

To join against in-memory data, you can pass the in-memory object to
`ibis.memtable` or `con.create_table` and use the resulting table object
instead.
@gforsyth gforsyth force-pushed the only_join_abstract_tables branch from 162f8f2 to dd0dbfb Compare September 23, 2024 13:32
@github-actions github-actions bot added the tests Issues or PRs related to tests label Sep 23, 2024
@gforsyth gforsyth merged commit 8166717 into ibis-project:main Sep 23, 2024
76 checks passed
@gforsyth gforsyth deleted the only_join_abstract_tables branch September 23, 2024 15:54
ncclementi pushed a commit to ncclementi/ibis that referenced this pull request Sep 24, 2024
…s-project#9661)

## Description of changes

We have (had) limited support for passing in in-memory objects as the
RHS of a join, where we would create a memtable for the user and then
use that.  For backends where memtable creation is expensive, or for
queries where there may be multiple calls to the same in-memory data, it
is better to be explicit and first register the in-memory data with the
backend using either `memtable` or `create_table`.

BREAKING CHANGE: Passing a `pyarrow.Table` or a `pandas.DataFrame` as
the right-hand-side of a join is no longer supported.

To join against in-memory data, you can pass the in-memory object to
`ibis.memtable` or `con.create_table` and use the resulting table object
instead.


## Issues closed

* Resolves ibis-project#9571
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change Changes that introduce an API break at any level tests Issues or PRs related to tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: add support for polars, arrow RBR as RHS of a join
2 participants