hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curtis Boyden <cboy...@pentaho.com>
Subject Hive's JDBC Driver version
Date Thu, 28 Apr 2011 18:25:13 GMT
Hello Hive People!

               I need to know what version of the Hive JDBC Driver I am working with so that
I know what to expect back for column names when I execute a Select statement. For example
in 0.5.0 "SELECT account_id FROM account" yields the column name "_col0" whereas in 0.6.0
the same query returns the column name "account_id".

               My question regards the correct way to store the driver version information.
I see in HiveDatabaseMetaData I see that getVersion() fetches a full string from the manifest
file while getDriverMajorVersion() and getDriverMinorVersion() return a local, static 0. The
HiveDriver also provides Driver version information through its methods getMajorVersion()
and getMinorVersion() and they both return static int 0 that are scoped to the class.

               I am primarily interested in the HiveDriver.get...Version() methods as I do
not want to create a DB connection first to check the DatabaseMetaData, and my first thought
is to update the MAJOR_VERSION/MINOR_VERSION values accordingly. Next I was going to change
the ..._VERSION static int values to be package visible and use them in HiveDatabaseMeta's
getDriverMajorVersion()/getDriverMinorVersion().
               The cost is that someone must manually update the static int values on HiveDriver
for each version revision.

               So I was wondering if it would be preferred that all version information is
pulled from the manifest file, or if I should move forward with my usage of the HiveDriver
static final ints.

               If the manifest version is to be used, should we create two new fields for
Major Version / Minor Version or parse the already existing "Implementation-Version".


               Thank you for your direction,
               -Curtis

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message