feat: add SchemaProvider::table_type(table_name: &str) (#16401)#65
feat: add SchemaProvider::table_type(table_name: &str) (#16401)#65
Conversation
* feat: add SchemaProvider::table_type(table_name: &str) InformationSchemaConfig::make_tables only needs the TableType not the whole TableProvider, and the former may require an expensive catalog operation to construct and the latter may not. This allows avoiding `SELECT * FROM information_schema.tables` having to make 1 of those potentially expensive operations per table. * test: new InformationSchemaConfig::make_tables behavior * Move tests to same file to fix CI --------- Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
|
FYI @crepererum who is in the process of upgrading DataFusion I think we need to target this PR into a branch other than main (I think to the one in #64) so it is picked up by iinfluxdb_iox |
Sorry, I'm not familiar with the process. I can target another branch, or someone else can cherry-pick (it's clean) if that's easier. |
|
No worries -- let's wait for @crepererum to respond tomorrow -- we have another inflight upgrade of DataFusion here |
|
Given how slow the DF CI is, I'm probably gonna need another day or so. |
OK. I'm ready when you are. Do I need to target a different branch? Thanks! |
|
@alamb @crepererum any update? Thanks! |
|
We could include this in our fork. That would require:
|
Hi @crepererum, I don't know what you mean there. That PR is a draft; where is it going? Who would create this "take 3"? I don't mind rolling up my sleeves here, but I need a little more guidance. Thanks! |
If you can wait a few days more, I'll try to do that myself after the DF 47 upgrade went through. I think having two people working on DF version changes / pins is gonna be a mess. |
|
@crepererum I agree having 2 working on that would be a mess. I'll wait. Thanks! |
|
This is included in our pinned DF version as of #68. |
This is a backport of
InformationSchemaConfig::make_tables only needs the TableType not the
whole TableProvider, and the former may require an expensive catalog
operation to construct and the latter may not.
This allows avoiding
SELECT * FROM information_schema.tableshaving tomake 1 of those potentially expensive operations per table.
test: new InformationSchemaConfig::make_tables behavior
Move tests to same file to fix CI
Co-authored-by: Andrew Lamb andrew@nerdnetworks.org