-
Notifications
You must be signed in to change notification settings - Fork 608
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(datatypes): manually cast the type of pos
to int16
for table.info()
#9139
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. |
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.
This PR needs a test. Something like:
- Create a table with > 127 columns
- Call the
info()
method - Make some kind of assertion
tried to add test like this, the code could work when num_cols is small. @pytest.mark.notyet(
["druid"],
raises=PyDruidProgrammingError,
reason="Druid only supports trivial unions",
)
def test_table_info_wider(con, backend):
num_cols = 129
col_names = [f"col_{i}"for i in range(num_cols)]
t = ibis.memtable(
{col: [0, 1] for col in col_names}
)
expr = t.info()
result = expr.execute()
assert list(result.name) == col_names but got the Here is the log
|
Seems like flink can't handle the new test. Can you mark it as |
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.
Tests are still failing for Flink.
Could we re run the test? The logs:
|
Not really, because it's a repeatable failure. It's almost certainly related to the "large" number of columns (not actually that large). Can you instead xfail the test for now? |
int16
for table.info()
int16
for table.info()
pos
to int16
for table.info()
Description of changes
when I was working on a data science project, it has more than 128 columns in the table, when I run
table.info()
it throws the errorHere is the code could be used to reproduce the error,
The schemas when
union
are different, The type ofpos
is int8 for the first 128 columns, it will beint16
after that. I cast all intoint16
which is large enough for lots of columns.Issues closed