Index: beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java =================================================================== --- beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java (revision 1612477) +++ beeline/src/java/org/apache/hive/beeline/HiveSchemaTool.java (working copy) @@ -117,22 +117,45 @@ private String getMetaStoreSchemaVersion(Connection metastoreConn) throws HiveMetaException { String versionQuery; + Statement stmt = null; + ResultSet res = null; if (HiveSchemaHelper.getDbCommandParser(dbType).needsQuotedIdentifier()) { versionQuery = "select t.\"SCHEMA_VERSION\" from \"VERSION\" t"; } else { versionQuery = "select t.SCHEMA_VERSION from VERSION t"; } try { - Statement stmt = metastoreConn.createStatement(); - ResultSet res = stmt.executeQuery(versionQuery); + stmt = metastoreConn.createStatement(); + res = stmt.executeQuery(versionQuery); if (!res.next()) { throw new HiveMetaException("Didn't find version data in metastore"); } String currentSchemaVersion = res.getString(1); - metastoreConn.close(); return currentSchemaVersion; } catch (SQLException e) { throw new HiveMetaException("Failed to get schema version.", e); + } finally { + if (res != null) { + try { + res.close(); + } catch (SQLException e) { + //do nothing. + } + } + if (stmt != null) { + try { + stmt.close(); + } catch (SQLException e) { + //do nothing. + } + } + if (metastoreConn != null) { + try { + metastoreConn.close(); + } catch (SQLException e) { + //do nothing. + } + } } }