diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 59f6f2d..ea9d0ed 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hive.conf; + import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -61,6 +62,11 @@ private static final Map vars = new HashMap(); private final List restrictList = new ArrayList(); + //TODO: (re)move these variables from MetaStoreUtils + public static final String DATABASE_WAREHOUSE_SUFFIX = ".db"; + public static final String DEFAULT_DATABASE_COMMENT = "Default Hive database"; + public static final String DEFAULT_DATABASE_NAME = "default"; + static { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); if (classLoader == null) { @@ -760,6 +766,8 @@ // Whether to show the unquoted partition names in query results. HIVE_DECODE_PARTITION_NAME("hive.decode.partition.name", false), + + HIVE_CURRENT_DATABASE("hive.current.db", DEFAULT_DATABASE_NAME), ; public final String varname; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java index 5befddc..cf62b45 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java @@ -18,7 +18,6 @@ package org.apache.hadoop.hive.ql.metadata; -import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME; import static org.apache.hadoop.hive.metastore.api.hive_metastoreConstants.META_TABLE_STORAGE; import static org.apache.hadoop.hive.serde.serdeConstants.COLLECTION_DELIM; import static org.apache.hadoop.hive.serde.serdeConstants.ESCAPE_CHAR; @@ -49,6 +48,7 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.common.FileUtils; import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.conf.HiveConf.ConfVars; import org.apache.hadoop.hive.metastore.HiveMetaException; import org.apache.hadoop.hive.metastore.HiveMetaHook; import org.apache.hadoop.hive.metastore.HiveMetaHookLoader; @@ -163,9 +163,6 @@ public static Hive get(HiveConf c, boolean needsRefresh) throws HiveException { closeCurrent(); c.set("fs.scheme.class", "dfs"); Hive newdb = new Hive(c); - if (db != null && db.getCurrentDatabase() != null){ - newdb.setCurrentDatabase(db.getCurrentDatabase()); - } hiveDB.set(newdb); return newdb; } @@ -1897,10 +1894,7 @@ public void validatePartitionNameCharacters(List partVals) throws HiveEx * @return the current database name */ public String getCurrentDatabase() { - if (null == currentDatabase) { - currentDatabase = DEFAULT_DATABASE_NAME; - } - return currentDatabase; + return conf.getVar(ConfVars.HIVE_CURRENT_DATABASE); } /** @@ -1908,7 +1902,7 @@ public String getCurrentDatabase() { * @param currentDatabase */ public void setCurrentDatabase(String currentDatabase) { - this.currentDatabase = currentDatabase; + conf.setVar(ConfVars.HIVE_CURRENT_DATABASE, currentDatabase); } public void createRole(String roleName, String ownerName)