gatorblue opened a new pull request #1470: URL: https://github.com/apache/hive/pull/1470
This PR implements the design outlined in this doc: https://docs.google.com/document/d/1lR2IDiqjMiG1zb7o_4sEa6wULzH1CvtRodsghCtxYWY/edit#heading=h.imzjzzvayyi1 Quoting from the design doc: **Goals** Introduce a way to load a custom jar in metastore which can override database specific DatabaseProduct which provides the database specific SQL code execution in Hive Metastore. **Non-goals** We do not want to evolve metastore into a Datanucleus (ORM) like software which transparently handles all the different nuances of supporting multiple database types. The pluggable custom instance of the DatabaseProduct must be ANSI SQL compliant since the MetastoreDirectSQL and SqlGenerator assumes that. We would like to keep the changes to MetastoreDirectSQL at minimum and assume that all the supported databases are ANSI SQL compliant. Upgrade and performance testing of custom implementations. Schematool to be able to load this custom jar to execute schema initialization and upgrade scripts. This is not currently in scope of this document. **About this PR** As per the design, DatabaseProduct has been refactored as a class. It's a singleton class, which gets instantiated the first time method determineDatabaseProduct is invoked. Existing SQL logic that was scattered around other classes has been moved to methods in this class. This makes it possible for an external plugin to override the existing SQL logic. @vihangk1 @thejasmn @nrg4878 ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
