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

Information schema tables can't be accessed from remote clients #6

Open
sydduckworth opened this issue Jul 29, 2023 · 0 comments
Open
Labels
bug Something isn't working

Comments

@sydduckworth
Copy link
Collaborator

As part of logical plan serialization the engine makes the assumption that each table is either an EllaTable or a StubTable. This is done because the extension codec uses the full table ID during serialization, which isn't available for arbitrary tables.

This assumption holds generally since obviously all tables are created by the engine itself. The one exception is information_schema, which is auto-generated by datafusion, and uses the StreamingTable type. This causes an error when ella tries to serialize a logical plan that scans one of those tables.

A simple workaround would be to just add a custom wrapper type around datafusion's InformationSchemaProvider type that implements SchemaProvider by just wrapping returned tables in a second custom wrapper type that delegates to the contained table but exposes the table ID.
Then the extension codec can just also check for that custom wrapper type during serialization.

@sydduckworth sydduckworth added the bug Something isn't working label Jul 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant