-
Notifications
You must be signed in to change notification settings - Fork 451
SorbetColumnDescriptors requires that Schema's be in a particular order #9855
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
Comments
The core issue for that is that
The constraint above (and weirdnesses such as A suggestion would be to apply a typestate-like pattern, to exploit the overlap but express the difference between these purposes:
edit: should be rerun/crates/store/re_sorbet/src/lib.rs Lines 5 to 11 in 1a48a46
|
…arch APIs (#9854) ### Related * Fixes #9837 * Further issue to address: * #9853 * #9855 ### What Initial attempt to formalise component column selector, how they are matched against a schema, and how they are expressed in our Python API. Applied on dataset index creation/search APIs. TODO: - [x] use `AnyComponentColumn` in APIs - [x] cleanup and fix type stubs --------- Co-authored-by: Jeremy Leibs <[email protected]>
…arch APIs (#9854) ### Related * Fixes #9837 * Further issue to address: * #9853 * #9855 ### What Initial attempt to formalise component column selector, how they are matched against a schema, and how they are expressed in our Python API. Applied on dataset index creation/search APIs. TODO: - [x] use `AnyComponentColumn` in APIs - [x] cleanup and fix type stubs --------- Co-authored-by: Jeremy Leibs <[email protected]>
After a discussion with @abey79 we decided we "just" need to make pub enum ColumnDescriptor {
RowId(RowIdColumnDescriptor),
Time(IndexColumnDescriptor),
Component(ComponentColumnDescriptor),
} and then we move the ordering-constraint of columns into the more strict We won't need the planned
There should also be a Related |
The
try_from_arrow_fields
builder depends on a very specific ordering of fields.See:
rerun/crates/store/re_sorbet/src/sorbet_columns.rs
Lines 139 to 156 in 9b8dbe6
While this ordering makes sense from a performance perspective it violates the "accept what users (or our dataplatform) throws at us" assumptions.
As part of:
We introduced a new helper:
try_from_arrow_fields_forgiving
but it would be nice if there behavior were the default unless there's a very specific reason for it being this way.The text was updated successfully, but these errors were encountered: