[ https://issues.apache.org/jira/browse/HIVE-25701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated HIVE-25701: ---------------------------------- Labels: pull-request-available (was: ) > Declare JDBC drivers as runtime & optional dependencies > ------------------------------------------------------- > > Key: HIVE-25701 > URL: https://issues.apache.org/jira/browse/HIVE-25701 > Project: Hive > Issue Type: Task > Components: Standalone Metastore, Testing Infrastructure > Reporter: Stamatis Zampetakis > Assignee: Stamatis Zampetakis > Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > Currently, we are using the following JDBC drivers in various Hive modules: > * MariaDB > * MySQL > * Oracle > * Postgres > * MSSQL > * Derby > MariaDB, MySQL, and Oracle licenses are not compatible with Apache License 2 > ([Category-X |https://www.apache.org/legal/resolved.html#category-x]) and in > the past we used various ways to circumvent licensing problems (see > HIVE-23284). Now, some of them appear as test scope dependency which is OKish > but in the near future may lead again to licensing problems. > JDBC drivers are only needed at runtime so they could all be declared at > runtime scope. Moreover, Hive does not require a specific JDBC driver in > order to operate so they are all optional. > The goal of this issue is to declare every JDBC driver at runtime scope and > mark it as optional > ([ASF-optional|https://www.apache.org/legal/resolved.html#optional], > [maven-optional|https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html]). > > This has the following advantages: > * Eliminates the risk to write code which needs JDBC driver classes in order > to compile and potentially violate AL2. > * Unifies the declaration of JDBC drivers making easier to add/remove some if > necessary. > * Removes the need to use download-maven-plugin and other similar workarounds > to avoid licensing problems. > * Simplifies the execution of tests using these drivers since now they are > added in the runtime classpath automatically by maven. > * Projects with dependencies depending on Hive will not inherit any JDBC > driver by default. -- This message was sent by Atlassian Jira (v8.20.1#820001)