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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]