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]

Reply via email to