-
Notifications
You must be signed in to change notification settings - Fork 604
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
fix(duckdb): return null typed pyarrow arrays and disable creating tables with all null columns in duckdb #9810
base: main
Are you sure you want to change the base?
Conversation
ACTION NEEDED Ibis follows the Conventional Commits specification for release automation. The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification. |
8f42f56
to
3784885
Compare
@cpcloud The flink backend is failing, it doesn't like the null type column. I got it to xfail by adding something similar to what you added in In def execute(self, expr: ir.Expr, **kwargs: Any) -> Any:
"""Execute an expression."""
self._register_udfs(expr)
table_expr = expr.as_table()
if null_columns := table_expr.op().schema.null_fields:
raise exc.IbisTypeError(
f"{self.name} cannot yet reliably handle `null` typed columns; "
f"got null typed columns: {null_columns}")
sql = self.compile(table_expr, **kwargs)
df = self._table_env.sql_query(sql).to_pandas() |
@cpcloud im motivated to help this one across the finish line. If I fix the flink tests is this good to merge? Any thoughts regarding my incline comments? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few thoughts, but thank you very much for this fix! I would love to help push this across the finish line.
- If you point me to what you think needs to happen with flink, I can help
- if you give a thumbs up to my suggestions, I can implement them
@NickCrews Can you give this another review pass and/or approve? |
@cpcloud I tacked on two commits that I think are improvements, if those pass CI and you are happy, looks great to me to merge. I can then, in a followup PR, tackle adding in the nested null support that I describe in this comment. Thanks! |
Actually, hold on, we aren't converting null-typed scalars correctly. Pushing up a fixup commit soon. |
OK, with that I think I'm happy. |
Moving off the 10.0 milestone. |
ad81580
to
7b6e7fc
Compare
Address all-NULL column handling in the DuckDB backend.
null
pyarrow Arrays are returned (previously int32), and it is now an error on the Ibis side to create all null columns withcreate_table
in the DuckDB backend. Fixes #9669.