Describe the bug
I'm trying to pass already-parsed sqlparser ASTs to Datafusion (I need more power than datafusion::sql::parser exposes). I found SqlToRel to do this.
SqlToRel needs a ContextProvider, and this seems to be the only place where a ContextProvider is used anywhere. Okay, I'll write one, and wrap everything in DefaultTableSource.
But now I can't make my ContextProvider::get_table_source ask for things from my CatalogProvider because SchemaProvider::table is async (see: #4607, #3777 (comment)).
If this was just about accessing my own tables, I could write some alternate API bypassing the SchemaProvider trait. But how am I supposed to support SELECT * FROM information_schema.tables with ContextProvider?
Note that all the examples and tests for SqlToRel just hard-code a trivial schema. This is not realistic.
To Reproduce
No response
Expected behavior
No response
Additional context
No response
Describe the bug
I'm trying to pass already-parsed
sqlparserASTs to Datafusion (I need more power thandatafusion::sql::parserexposes). I foundSqlToRelto do this.SqlToRelneeds aContextProvider, and this seems to be the only place where aContextProvideris used anywhere. Okay, I'll write one, and wrap everything inDefaultTableSource.But now I can't make my
ContextProvider::get_table_sourceask for things from myCatalogProviderbecauseSchemaProvider::tableis async (see: #4607, #3777 (comment)).If this was just about accessing my own tables, I could write some alternate API bypassing the
SchemaProvidertrait. But how am I supposed to supportSELECT * FROM information_schema.tableswithContextProvider?Note that all the examples and tests for
SqlToReljust hard-code a trivial schema. This is not realistic.To Reproduce
No response
Expected behavior
No response
Additional context
No response