westonpace commented on code in PR #13582: URL: https://github.com/apache/datafusion/pull/13582#discussion_r1861144621
########## datafusion/catalog/src/catalog.rs: ########## @@ -102,24 +103,25 @@ use datafusion_common::Result; /// /// [`TableProvider`]: crate::TableProvider +#[async_trait] pub trait CatalogProvider: Debug + Sync + Send { /// Returns the catalog provider as [`Any`] /// so that it can be downcast to a specific implementation. fn as_any(&self) -> &dyn Any; /// Retrieves the list of available schema names in this catalog. - fn schema_names(&self) -> Vec<String>; + async fn schema_names(&self) -> Vec<String>; Review Comment: If there is a case where there are so many tables / schemas / catalogs that caching the full list is too expensive then the planner is probably going to have other problems anyways. I'm guessing the planner is iterating through this list and constructing a hash map it uses to resolve lookups and so the thing is going to get cached one way or another. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org