ngsg commented on PR #5771: URL: https://github.com/apache/hive/pull/5771#issuecomment-2898349847
> To avoid them, I am wondering if we can have an abstract class that enforces two rules. This is [a sample implementation](https://github.com/okumin/hive/commit/389bb74505a440b3edae664626e09781bd69a96d). > > * Rule A: Any subclass of IMetaStoreClient can implement the most generic variant of family methods. For example, if IMetaStoreClient has `getTableMeta(db, tbl, types)` and `getTableMeta(catalog, db, tbl, types)`, vendors must implement only `getTableMeta(catalog, db, tbl, types)` > * Rule B: All family methods behave consistently. For example, if IMetaStoreClient has `getTableMeta(db, tbl, types)` and `getTableMeta(catalog, db, tbl, types)`, BOTH handle tmp tables or NEITHER handles tmp tables I also thought of a similar approach when I was writing the PoC, and I agree that the two rules you stated must be upheld. Let me check the code again and try to implement your idea in the next commit. -- 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: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org