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

Columnar data format expressiveness: polymorphic types #7

Open
cybertyche opened this issue Dec 10, 2018 · 0 comments
Open

Columnar data format expressiveness: polymorphic types #7

cybertyche opened this issue Dec 10, 2018 · 0 comments

Comments

@cybertyche
Copy link
Contributor

At present, columnar data batches are only supported for non-polymorphic data types. They do not support interfaces, nor do they support non-sealed classes.

  • For non-sealed classes, if the query never does a type test on the objects, and therefore does not ever refer to fields or properties of subclasses, we can lift this restriction and allow columnar on that type for that query. Same for interfaces and for implementers of those interfaces.
  • For queries that do type tests and refer to properties of derived types, we shall add a type reference column (a discriminator column to say what type each row is) and additional columns for any referenced fields and properties. The resulting layout will be similar to a "table-per-hierarchy" layout for mapping an object hierarchy to a relational table.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant