diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index acc23901d3..0458b5102c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -4173,7 +4173,7 @@ private void dropPartitions(Hive db, Table tbl, DropTableDesc dropTbl) throws Hi private void dropTable(Hive db, Table tbl, DropTableDesc dropTbl) throws HiveException { // This is a true DROP TABLE - if (tbl != null) { + if (tbl != null && dropTbl.getExpectedType() != null) { if (tbl.isView()) { if (!dropTbl.getExpectView()) { if (dropTbl.getIfExists()) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java index 74c742c9e3..b99f5bc869 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java @@ -117,6 +117,13 @@ public void setTableName(String tableName) { } /** + * @return the expectedType + */ + public TableType getExpectedType() { + return expectedType; + } + + /** * @return whether to expect a view being dropped */ public boolean getExpectView() {