You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jv...@apache.org on 2011/10/26 03:00:55 UTC
svn commit: r1188986 - in /hive/trunk/ql/src:
java/org/apache/hadoop/hive/ql/metadata/Hive.java
test/org/apache/hadoop/hive/ql/metadata/TestHive.java
Author: jvs
Date: Wed Oct 26 01:00:54 2011
New Revision: 1188986
URL: http://svn.apache.org/viewvc?rev=1188986&view=rev
Log:
HIVE-2501. When new instance of Hive (class) is created, the current database
is reset to default.
(Robert Surowka via jvs)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java?rev=1188986&r1=1188985&r2=1188986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java Wed Oct 26 01:00:54 2011
@@ -154,8 +154,12 @@ public class Hive {
if (db == null || needsRefresh) {
closeCurrent();
c.set("fs.scheme.class", "dfs");
- db = new Hive(c);
- hiveDB.set(db);
+ Hive newdb = new Hive(c);
+ if (db != null && db.getCurrentDatabase() != null){
+ newdb.setCurrentDatabase(db.getCurrentDatabase());
+ }
+ hiveDB.set(newdb);
+ return newdb;
}
return db;
}
Modified: hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java?rev=1188986&r1=1188985&r2=1188986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java (original)
+++ hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java Wed Oct 26 01:00:54 2011
@@ -372,4 +372,14 @@ public class TestHive extends TestCase {
throw e;
}
}
+
+ public void testHiveRefreshDatabase() throws Throwable{
+ String testDatabaseName = "test_database";
+ Database testDatabase = new Database();
+ testDatabase.setName(testDatabaseName);
+ hm.createDatabase(testDatabase, true);
+ hm.setCurrentDatabase(testDatabaseName);
+ hm = Hive.get(hiveConf, true); //refresh Hive instance
+ assertEquals(testDatabaseName, hm.getCurrentDatabase());
+ }
}