diff --git ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java index 271554c..c1d9035 100644 --- ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java @@ -98,6 +98,15 @@ public class Hive { private HiveConf conf = null; private IMetaStoreClient metaStoreClient; private String currentDatabase; + private boolean isValidationRequired = true; + + public boolean isValidationRequired() { + return isValidationRequired; + } + + public void setValidationRequired(boolean isValidationRequired) { + this.isValidationRequired = isValidationRequired; + } private static ThreadLocal hiveDB = new ThreadLocal() { @Override @@ -927,7 +936,9 @@ public class Hive { Table table = new Table(tTable); - table.checkValidity(); + if (isValidationRequired == true) { + table.checkValidity(); + } return table; } diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java index b4ee673..9080ba9 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java @@ -708,6 +708,9 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer { // configured not to fail silently boolean throwException = !ifExists && !HiveConf.getBoolVar(conf, ConfVars.DROPIGNORESNONEXISTENT); + if (HiveParser.TOK_DROPTABLE == ast.getToken().getType()) { + db.setValidationRequired(false); + } try { Table tab = db.getTable(db.getCurrentDatabase(), tableName, throwException); if (tab != null) {