commit 08644658fadc98b3a89ceb10c0accd350098256d Author: chenchun Date: Mon Dec 23 18:44:31 2013 +0800 HIVE-2584 diff --git ql/src/test/queries/clientpositive/alter6.q ql/src/test/queries/clientpositive/alter6.q index e57cc7a..e57a75a 100644 --- ql/src/test/queries/clientpositive/alter6.q +++ ql/src/test/queries/clientpositive/alter6.q @@ -35,6 +35,7 @@ describe extended alter6 partition (p='p1'); show partitions alter6; alter table db6.alter6 drop partition (p='p1'); +show partitions alter6; alter table db6.alter6 set tblproperties('s1'='1'); describe extended alter6; diff --git ql/src/test/results/clientpositive/alter6.q.out ql/src/test/results/clientpositive/alter6.q.out index 3b8f657..7287e85 100644 --- ql/src/test/results/clientpositive/alter6.q.out +++ ql/src/test/results/clientpositive/alter6.q.out @@ -257,6 +257,12 @@ POSTHOOK: query: alter table db6.alter6 drop partition (p='p1') POSTHOOK: type: ALTERTABLE_DROPPARTS POSTHOOK: Input: db6@alter6 POSTHOOK: Output: db6@alter6@p=p1 +PREHOOK: query: show partitions alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions alter6 +POSTHOOK: type: SHOWPARTITIONS +p=p0 +p=p2 PREHOOK: query: alter table db6.alter6 set tblproperties('s1'='1') PREHOOK: type: ALTERTABLE_PROPERTIES PREHOOK: Input: db6@alter6 commit 062242ef52e6873de30fc1ebb419430b3091af6b Author: chenchun Date: Mon Dec 23 18:29:15 2013 +0800 HIVE-2584 diff --git metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java index 8345d70..a3263e7 100644 --- metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java +++ metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java @@ -177,25 +177,7 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, + newt.getTableName()); } // also the location field in partition - List parts = msdb.getPartitions(dbname, name, -1); - for (Partition part : parts) { - String oldPartLoc = part.getSd().getLocation(); - Path oldPartLocPath = new Path(oldPartLoc); - String oldTblLocPath = new Path(oldTblLoc).toUri().getPath(); - String newTblLocPath = new Path(newTblLoc).toUri().getPath(); - if (oldPartLoc.contains(oldTblLocPath)) { - Path newPartLocPath = null; - URI oldUri = oldPartLocPath.toUri(); - String newPath = oldUri.getPath().replace(oldTblLocPath, - newTblLocPath); - - newPartLocPath = new Path(oldUri.getScheme(), - oldUri.getAuthority(), - newPath); - part.getSd().setLocation(newPartLocPath.toString()); - msdb.alterPartition(dbname, name, part.getValues(), part); - } - } + alterPartitionPath(msdb, dbname, name, oldTblLoc, newTblLoc); } else if (MetaStoreUtils.requireCalStats(hiveConf, null, null, newt) && (newt.getPartitionKeysSize() == 0)) { Database db = msdb.getDatabase(newt.getDbName()); @@ -233,7 +215,9 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, boolean revertMetaDataTransaction = false; try { msdb.openTransaction(); - msdb.alterTable(dbname, newt.getTableName(), oldt); + alterPartitionPath(msdb, newt.getDbName(), newt.getTableName(), + newTblLoc, oldTblLoc); + msdb.alterTable(newt.getDbName(), newt.getTableName(), oldt); revertMetaDataTransaction = msdb.commitTransaction(); } catch (Exception e1) { LOG.error("Reverting metadata opeation failed During HDFS operation failed", e1); @@ -252,6 +236,38 @@ public void alterTable(RawStore msdb, Warehouse wh, String dbname, } /** + * Change partition location + * + * @param msdb + * @param dbName + * @param tableName + * @param oldTblLoc old table location + * @param newTblLoc new table location + */ + private void alterPartitionPath(RawStore msdb, String dbName, String tableName, + String oldTblLoc, String newTblLoc) throws MetaException, InvalidObjectException { + List parts = msdb.getPartitions(dbName, tableName, -1); + for (Partition part : parts) { + String oldPartLoc = part.getSd().getLocation(); + Path oldPartLocPath = new Path(oldPartLoc); + String oldTblLocPath = new Path(oldTblLoc).toUri().getPath(); + String newTblLocPath = new Path(newTblLoc).toUri().getPath(); + if (oldPartLoc.contains(oldTblLocPath)) { + Path newPartLocPath = null; + URI oldUri = oldPartLocPath.toUri(); + String newPath = oldUri.getPath().replace(oldTblLocPath, + newTblLocPath); + + newPartLocPath = new Path(oldUri.getScheme(), + oldUri.getAuthority(), + newPath); + part.getSd().setLocation(newPartLocPath.toString()); + msdb.alterPartition(dbName, tableName, part.getValues(), part); + } + } + } + + /** * @param fs1 * @param fs2 * @return return true if both file system arguments point to same file system diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index d32be59..4756b64 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -2961,7 +2961,18 @@ private int alterTable(Hive db, AlterTableDesc alterTbl) throws HiveException { Table oldTbl = tbl.copy(); if (alterTbl.getOp() == AlterTableDesc.AlterTableTypes.RENAME) { - tbl.setTableName(alterTbl.getNewName()); + String[] names = Hive.getQualifiedNames(alterTbl.getNewName()); + switch (names.length) { + case 2: + tbl.setDbName(names[0]); + tbl.setTableName(names[1]); + break; + case 1: + tbl.setTableName(names[0]); + break; + default: + throw new HiveException("Invalid table name: " + alterTbl.getNewName()); + } } else if (alterTbl.getOp() == AlterTableDesc.AlterTableTypes.ADDCOLS) { List newCols = alterTbl.getNewCols(); List oldCols = tbl.getCols(); 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 947b65c..46ba7fa 100644 --- ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java @@ -2570,7 +2570,7 @@ public void cancelDelegationToken(String tokenStrForm) } } - private static String[] getQualifiedNames(String qualifiedName) { + public static String[] getQualifiedNames(String qualifiedName) { return qualifiedName.split("\\."); } 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 7443ea4..ccb9e2b 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java @@ -199,7 +199,7 @@ public TablePartition() { } public TablePartition(ASTNode tblPart) throws SemanticException { - tableName = unescapeIdentifier(tblPart.getChild(0).getText()); + tableName = getUnescapedName((ASTNode) tblPart.getChild(0)); if (tblPart.getChildCount() > 1) { ASTNode part = (ASTNode) tblPart.getChild(1); if (part.getToken().getType() == HiveParser.TOK_PARTSPEC) { @@ -2531,7 +2531,7 @@ private void analyzeAlterTableAlterParts(ASTNode ast) // check if table exists. try { - tab = db.getTable(SessionState.get().getCurrentDatabase(), tblName, true); + tab = db.getTable(tblName, true); inputs.add(new ReadEntity(tab)); } catch (HiveException e) { throw new SemanticException(ErrorMsg.INVALID_TABLE.getMsg(tblName)); @@ -3286,7 +3286,7 @@ private Table getTable(String tblName) throws SemanticException { } private Table getTable(String tblName, boolean throwException) throws SemanticException { - return getTable(SessionState.get().getCurrentDatabase(), tblName, throwException); + return getTable(null, tblName, throwException); } private Table getTable(String database, String tblName, boolean throwException) diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g index 2343a2c..5bd8b81 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g +++ ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g @@ -869,18 +869,55 @@ alterStatement alterTableStatementSuffix @init { msgs.push("alter table statement"); } @after { msgs.pop(); } - : alterStatementSuffixRename - | alterStatementSuffixAddCol - | alterStatementSuffixRenameCol - | alterStatementSuffixDropPartitions - | alterStatementSuffixAddPartitions - | alterStatementSuffixTouch - | alterStatementSuffixArchive - | alterStatementSuffixUnArchive - | alterStatementSuffixProperties - | alterTblPartitionStatement - | alterStatementSuffixSkewedby - | alterStatementSuffixExchangePartition + : tabName=tableName + ( + rename=KW_RENAME KW_TO newName=tableName + | + (add=KW_ADD | replace=KW_REPLACE) col=KW_COLUMNS LPAREN columnNameTypeList RPAREN + | + change=KW_CHANGE KW_COLUMN? oldColName=identifier newColName=identifier colType (KW_COMMENT comment=StringLiteral)? alterStatementChangeColPosition? + | + drop=KW_DROP ifExists? dropPartitionSpec (COMMA dropPartitionSpec)* ignoreProtection? + | + add=KW_ADD ifNotExists? alterStatementSuffixAddPartitionsElement+ + | + touch=KW_TOUCH (partitionSpec)* + | + archive=KW_ARCHIVE (partitionSpec)* + | + unarchive=KW_UNARCHIVE (partitionSpec)* + | + set=KW_SET KW_TBLPROPERTIES tableProperties + | + unset=KW_UNSET KW_TBLPROPERTIES ifExists? tableProperties + | + tblSkewed=tableSkewed + | + not=KW_NOT (skewed=KW_SKEWED | storedAsDirs) + | + exchange=KW_EXCHANGE partitionSpec KW_WITH KW_TABLE exchangename=tableName + | + partition=KW_PARTITION KW_COLUMN LPAREN columnNameType RPAREN + | + partitionSpec? alterTblPartitionStatementSuffix + ) + -> {$rename != null}? ^(TOK_ALTERTABLE_RENAME $tabName $newName) + -> {$add != null && $col != null}? ^(TOK_ALTERTABLE_ADDCOLS $tabName columnNameTypeList) + -> {$replace != null}? ^(TOK_ALTERTABLE_REPLACECOLS $tabName columnNameTypeList) + -> {$change != null}? ^(TOK_ALTERTABLE_RENAMECOL $tabName $oldColName $newColName colType $comment? alterStatementChangeColPosition?) + -> {$drop != null}? ^(TOK_ALTERTABLE_DROPPARTS $tabName dropPartitionSpec+ ifExists? ignoreProtection?) + -> {$add != null}? ^(TOK_ALTERTABLE_ADDPARTS $tabName ifNotExists? alterStatementSuffixAddPartitionsElement+) + -> {$touch != null}? ^(TOK_ALTERTABLE_TOUCH $tabName (partitionSpec)*) + -> {$archive != null}? ^(TOK_ALTERTABLE_ARCHIVE $tabName (partitionSpec)*) + -> {$unarchive != null}? ^(TOK_ALTERTABLE_UNARCHIVE $tabName (partitionSpec)*) + -> {$set != null}? ^(TOK_ALTERTABLE_PROPERTIES $tabName tableProperties) + -> {$unset != null}? ^(TOK_DROPTABLE_PROPERTIES $tabName tableProperties ifExists?) + -> {$tblSkewed.isSkewed != null}? ^(TOK_ALTERTABLE_SKEWED $tabName tableSkewed) + -> {$not != null && $skewed != null}? ^(TOK_ALTERTABLE_SKEWED $tabName) + -> {$not != null}? ^(TOK_ALTERTABLE_SKEWED $tabName storedAsDirs) + -> {$exchange != null}? ^(TOK_EXCHANGEPARTITION $tabName partitionSpec $exchangename) + -> {$partition != null}? ^(TOK_ALTERTABLE_ALTERPARTS $tabName columnNameType) + -> ^(TOK_ALTERTABLE_PARTITION ^(TOK_TABLE_PARTITION $tabName partitionSpec?) alterTblPartitionStatementSuffix) ; alterViewStatementSuffix @@ -933,21 +970,6 @@ alterStatementSuffixRename -> ^(TOK_ALTERTABLE_RENAME $oldName $newName) ; -alterStatementSuffixAddCol -@init { msgs.push("add column statement"); } -@after { msgs.pop(); } - : identifier (add=KW_ADD | replace=KW_REPLACE) KW_COLUMNS LPAREN columnNameTypeList RPAREN - -> {$add != null}? ^(TOK_ALTERTABLE_ADDCOLS identifier columnNameTypeList) - -> ^(TOK_ALTERTABLE_REPLACECOLS identifier columnNameTypeList) - ; - -alterStatementSuffixRenameCol -@init { msgs.push("rename column name"); } -@after { msgs.pop(); } - : identifier KW_CHANGE KW_COLUMN? oldName=identifier newName=identifier colType (KW_COMMENT comment=StringLiteral)? alterStatementChangeColPosition? - ->^(TOK_ALTERTABLE_RENAMECOL identifier $oldName $newName colType $comment? alterStatementChangeColPosition?) - ; - alterStatementChangeColPosition : first=KW_FIRST|KW_AFTER afterCol=identifier ->{$first != null}? ^(TOK_ALTERTABLE_CHANGECOL_AFTER_POSITION ) @@ -965,27 +987,6 @@ alterStatementSuffixAddPartitionsElement : partitionSpec partitionLocation? ; -alterStatementSuffixTouch -@init { msgs.push("touch statement"); } -@after { msgs.pop(); } - : identifier KW_TOUCH (partitionSpec)* - -> ^(TOK_ALTERTABLE_TOUCH identifier (partitionSpec)*) - ; - -alterStatementSuffixArchive -@init { msgs.push("archive statement"); } -@after { msgs.pop(); } - : identifier KW_ARCHIVE (partitionSpec)* - -> ^(TOK_ALTERTABLE_ARCHIVE identifier (partitionSpec)*) - ; - -alterStatementSuffixUnArchive -@init { msgs.push("unarchive statement"); } -@after { msgs.pop(); } - : identifier KW_UNARCHIVE (partitionSpec)* - -> ^(TOK_ALTERTABLE_UNARCHIVE identifier (partitionSpec)*) - ; - partitionLocation @init { msgs.push("partition location"); } @after { msgs.pop(); } @@ -1000,15 +1001,6 @@ alterStatementSuffixDropPartitions -> ^(TOK_ALTERTABLE_DROPPARTS identifier dropPartitionSpec+ ifExists? ignoreProtection?) ; -alterStatementSuffixProperties -@init { msgs.push("alter properties statement"); } -@after { msgs.pop(); } - : name=identifier KW_SET KW_TBLPROPERTIES tableProperties - -> ^(TOK_ALTERTABLE_PROPERTIES $name tableProperties) - | name=identifier KW_UNSET KW_TBLPROPERTIES ifExists? tableProperties - -> ^(TOK_DROPTABLE_PROPERTIES $name tableProperties ifExists?) - ; - alterViewSuffixProperties @init { msgs.push("alter view properties statement"); } @after { msgs.pop(); } @@ -1034,15 +1026,6 @@ tablePartitionPrefix ->^(TOK_TABLE_PARTITION $name partitionSpec?) ; -alterTblPartitionStatement -@init {msgs.push("alter table partition statement");} -@after {msgs.pop();} - : tablePartitionPrefix alterTblPartitionStatementSuffix - -> ^(TOK_ALTERTABLE_PARTITION tablePartitionPrefix alterTblPartitionStatementSuffix) - |Identifier KW_PARTITION KW_COLUMN LPAREN columnNameType RPAREN - -> ^(TOK_ALTERTABLE_ALTERPARTS Identifier columnNameType) - ; - alterTblPartitionStatementSuffix @init {msgs.push("alter table partition statement suffix");} @after {msgs.pop();} @@ -1107,27 +1090,6 @@ alterStatementSuffixLocation -> ^(TOK_ALTERTABLE_LOCATION $newLoc) ; - -alterStatementSuffixSkewedby -@init {msgs.push("alter skewed by statement");} -@after{msgs.pop();} - :name=identifier tableSkewed - ->^(TOK_ALTERTABLE_SKEWED $name tableSkewed) - | - name=identifier KW_NOT KW_SKEWED - ->^(TOK_ALTERTABLE_SKEWED $name) - | - name=identifier KW_NOT storedAsDirs - ->^(TOK_ALTERTABLE_SKEWED $name storedAsDirs) - ; - -alterStatementSuffixExchangePartition -@init {msgs.push("alter exchange partition");} -@after{msgs.pop();} - : name=tableName KW_EXCHANGE partitionSpec KW_WITH KW_TABLE exchangename=tableName - -> ^(TOK_EXCHANGEPARTITION $name partitionSpec $exchangename) - ; - alterStatementSuffixProtectMode @init { msgs.push("alter partition protect mode statement"); } @after { msgs.pop(); } @@ -1479,11 +1441,11 @@ tableBuckets -> ^(TOK_TABLEBUCKETS $bucketCols $sortCols? $num) ; -tableSkewed +tableSkewed returns [Boolean isSkewed] @init { msgs.push("table skewed specification"); } @after { msgs.pop(); } : - KW_SKEWED KW_BY LPAREN skewedCols=columnNameList RPAREN KW_ON LPAREN (skewedValues=skewedValueElement) RPAREN (storedAsDirs)? + KW_SKEWED {$isSkewed = input.LT(1).getText().equalsIgnoreCase("skewed");} KW_BY LPAREN skewedCols=columnNameList RPAREN KW_ON LPAREN (skewedValues=skewedValueElement) RPAREN (storedAsDirs)? -> ^(TOK_TABLESKEWED $skewedCols $skewedValues storedAsDirs?) ; diff --git ql/src/test/queries/clientpositive/alter6.q ql/src/test/queries/clientpositive/alter6.q new file mode 100644 index 0000000..e57cc7a --- /dev/null +++ ql/src/test/queries/clientpositive/alter6.q @@ -0,0 +1,67 @@ +create table default_alter6 (a int) partitioned by (p string); +alter table default_alter6 add partition (p='p0'); +LOAD DATA LOCAL INPATH '../../data/files/in1.txt' into table default_alter6 PARTITION (p='p0'); +show create table default_alter6; +select * from default_alter6; + +create database db6; +alter table default.default_alter6 rename to db6.alter6; +use db6; +show create table db6.alter6; +select * from db6.alter6; + +alter table db6.alter6 add columns (b int); +describe db6.alter6; + +alter table db6.alter6 replace columns (a int, b int, c string); +describe db6.alter6; + +alter table db6.alter6 change column c cc int; +describe db6.alter6; + +show partitions alter6; +alter table db6.alter6 add partition (p='p1'); +alter table db6.alter6 add partition (p='p2'); +show partitions alter6; + +alter table db6.alter6 touch partition(p='p1'); + +set hive.archive.enabled = true; +alter table db6.alter6 archive partition (p='p1'); +describe extended alter6 partition (p='p1'); + +alter table db6.alter6 unarchive partition (p='p1'); +describe extended alter6 partition (p='p1'); +show partitions alter6; + +alter table db6.alter6 drop partition (p='p1'); + +alter table db6.alter6 set tblproperties('s1'='1'); +describe extended alter6; + +alter table db6.alter6 unset tblproperties('s1'='1'); +describe extended alter6; + +alter table db6.alter6 partition (p='p2') set fileformat orc; +show create table alter6; + +alter table db6.alter6 partition column (p int); +describe db6.alter6; + +create table exchange_alter6 like alter6; +show partitions exchange_alter6; +show partitions alter6; +alter table db6.alter6 exchange partition (p='p2') with table db6.exchange_alter6; +show partitions alter6; +show partitions exchange_alter6; +drop table exchange_alter6; + +alter table db6.alter6 skewed by (a) on ('skew_a') stored as directories; +describe formatted db6.alter6; +alter table db6.alter6 not stored as directories; +describe formatted db6.alter6; +alter table db6.alter6 not skewed; +describe formatted db6.alter6; + +drop table db6.alter6; +drop database db6; diff --git ql/src/test/results/clientnegative/alter_partition_coltype_2columns.q.out ql/src/test/results/clientnegative/alter_partition_coltype_2columns.q.out index e1f9a27..ed18342 100644 --- ql/src/test/results/clientnegative/alter_partition_coltype_2columns.q.out +++ ql/src/test/results/clientnegative/alter_partition_coltype_2columns.q.out @@ -33,4 +33,4 @@ ts string None dt string None ts string None -FAILED: ParseException line 4:50 mismatched input ',' expecting ) near 'int' in alter table partition statement +FAILED: ParseException line 4:50 mismatched input ',' expecting ) near 'int' in alter table statement diff --git ql/src/test/results/clientnegative/archive_partspec3.q.out ql/src/test/results/clientnegative/archive_partspec3.q.out index c85e9a2..7ab21c0 100644 --- ql/src/test/results/clientnegative/archive_partspec3.q.out +++ ql/src/test/results/clientnegative/archive_partspec3.q.out @@ -23,4 +23,4 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 POSTHOOK: Output: default@srcpart_archived@ds=2008-04-08/hr=12 POSTHOOK: Lineage: srcpart_archived PARTITION(ds=2008-04-08,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_archived PARTITION(ds=2008-04-08,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -FAILED: ParseException line 3:48 cannot recognize input near ')' '' '' in archive statement +FAILED: ParseException line 3:48 cannot recognize input near ')' '' '' in alter table statement diff --git ql/src/test/results/clientpositive/alter6.q.out ql/src/test/results/clientpositive/alter6.q.out new file mode 100644 index 0000000..3b8f657 --- /dev/null +++ ql/src/test/results/clientpositive/alter6.q.out @@ -0,0 +1,539 @@ +PREHOOK: query: create table default_alter6 (a int) partitioned by (p string) +PREHOOK: type: CREATETABLE +POSTHOOK: query: create table default_alter6 (a int) partitioned by (p string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@default_alter6 +PREHOOK: query: alter table default_alter6 add partition (p='p0') +PREHOOK: type: ALTERTABLE_ADDPARTS +PREHOOK: Input: default@default_alter6 +POSTHOOK: query: alter table default_alter6 add partition (p='p0') +POSTHOOK: type: ALTERTABLE_ADDPARTS +POSTHOOK: Input: default@default_alter6 +POSTHOOK: Output: default@default_alter6@p=p0 +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' into table default_alter6 PARTITION (p='p0') +PREHOOK: type: LOAD +PREHOOK: Output: default@default_alter6@p=p0 +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' into table default_alter6 PARTITION (p='p0') +POSTHOOK: type: LOAD +POSTHOOK: Output: default@default_alter6@p=p0 +PREHOOK: query: show create table default_alter6 +PREHOOK: type: SHOW_CREATETABLE +PREHOOK: Input: default@default_alter6 +POSTHOOK: query: show create table default_alter6 +POSTHOOK: type: SHOW_CREATETABLE +POSTHOOK: Input: default@default_alter6 +CREATE TABLE `default_alter6`( + `a` int) +PARTITIONED BY ( + `p` string) +ROW FORMAT SERDE + 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +STORED AS INPUTFORMAT + 'org.apache.hadoop.mapred.TextInputFormat' +OUTPUTFORMAT + 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' +LOCATION +#### A masked pattern was here #### +TBLPROPERTIES ( +#### A masked pattern was here #### +PREHOOK: query: select * from default_alter6 +PREHOOK: type: QUERY +PREHOOK: Input: default@default_alter6 +PREHOOK: Input: default@default_alter6@p=p0 +#### A masked pattern was here #### +POSTHOOK: query: select * from default_alter6 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@default_alter6 +POSTHOOK: Input: default@default_alter6@p=p0 +#### A masked pattern was here #### +NULL p0 +48 p0 +100 p0 +PREHOOK: query: create database db6 +PREHOOK: type: CREATEDATABASE +POSTHOOK: query: create database db6 +POSTHOOK: type: CREATEDATABASE +PREHOOK: query: alter table default.default_alter6 rename to db6.alter6 +PREHOOK: type: ALTERTABLE_RENAME +PREHOOK: Input: default@default_alter6 +PREHOOK: Output: default@default_alter6 +POSTHOOK: query: alter table default.default_alter6 rename to db6.alter6 +POSTHOOK: type: ALTERTABLE_RENAME +POSTHOOK: Input: default@default_alter6 +POSTHOOK: Output: db6@alter6 +POSTHOOK: Output: default@default_alter6 +PREHOOK: query: use db6 +PREHOOK: type: SWITCHDATABASE +POSTHOOK: query: use db6 +POSTHOOK: type: SWITCHDATABASE +PREHOOK: query: show create table db6.alter6 +PREHOOK: type: SHOW_CREATETABLE +PREHOOK: Input: db6@alter6 +POSTHOOK: query: show create table db6.alter6 +POSTHOOK: type: SHOW_CREATETABLE +POSTHOOK: Input: db6@alter6 +CREATE TABLE `db6.alter6`( + `a` int) +PARTITIONED BY ( + `p` string) +ROW FORMAT SERDE + 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +STORED AS INPUTFORMAT + 'org.apache.hadoop.mapred.TextInputFormat' +OUTPUTFORMAT + 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' +LOCATION +#### A masked pattern was here #### +TBLPROPERTIES ( +#### A masked pattern was here #### +PREHOOK: query: select * from db6.alter6 +PREHOOK: type: QUERY +PREHOOK: Input: db6@alter6 +PREHOOK: Input: db6@alter6@p=p0 +#### A masked pattern was here #### +POSTHOOK: query: select * from db6.alter6 +POSTHOOK: type: QUERY +POSTHOOK: Input: db6@alter6 +POSTHOOK: Input: db6@alter6@p=p0 +#### A masked pattern was here #### +NULL p0 +48 p0 +100 p0 +PREHOOK: query: alter table db6.alter6 add columns (b int) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 add columns (b int) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe db6.alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe db6.alter6 +POSTHOOK: type: DESCTABLE +a int None +b int None +p string None + +# Partition Information +# col_name data_type comment + +p string None +PREHOOK: query: alter table db6.alter6 replace columns (a int, b int, c string) +PREHOOK: type: ALTERTABLE_REPLACECOLS +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 replace columns (a int, b int, c string) +POSTHOOK: type: ALTERTABLE_REPLACECOLS +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe db6.alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe db6.alter6 +POSTHOOK: type: DESCTABLE +a int None +b int None +c string None +p string None + +# Partition Information +# col_name data_type comment + +p string None +PREHOOK: query: alter table db6.alter6 change column c cc int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 change column c cc int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe db6.alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe db6.alter6 +POSTHOOK: type: DESCTABLE +a int None +b int None +cc int None +p string None + +# Partition Information +# col_name data_type comment + +p string None +PREHOOK: query: show partitions alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions alter6 +POSTHOOK: type: SHOWPARTITIONS +p=p0 +PREHOOK: query: alter table db6.alter6 add partition (p='p1') +PREHOOK: type: ALTERTABLE_ADDPARTS +PREHOOK: Input: db6@alter6 +POSTHOOK: query: alter table db6.alter6 add partition (p='p1') +POSTHOOK: type: ALTERTABLE_ADDPARTS +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6@p=p1 +PREHOOK: query: alter table db6.alter6 add partition (p='p2') +PREHOOK: type: ALTERTABLE_ADDPARTS +PREHOOK: Input: db6@alter6 +POSTHOOK: query: alter table db6.alter6 add partition (p='p2') +POSTHOOK: type: ALTERTABLE_ADDPARTS +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6@p=p2 +PREHOOK: query: show partitions alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions alter6 +POSTHOOK: type: SHOWPARTITIONS +p=p0 +p=p1 +p=p2 +PREHOOK: query: alter table db6.alter6 touch partition(p='p1') +PREHOOK: type: ALTERTABLE_TOUCH +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6@p=p1 +POSTHOOK: query: alter table db6.alter6 touch partition(p='p1') +POSTHOOK: type: ALTERTABLE_TOUCH +POSTHOOK: Input: db6@alter6 +POSTHOOK: Input: db6@alter6@p=p1 +POSTHOOK: Output: db6@alter6@p=p1 +PREHOOK: query: alter table db6.alter6 archive partition (p='p1') +PREHOOK: type: ALTERTABLE_ARCHIVE +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6@p=p1 +POSTHOOK: query: alter table db6.alter6 archive partition (p='p1') +POSTHOOK: type: ALTERTABLE_ARCHIVE +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6@p=p1 +PREHOOK: query: describe extended alter6 partition (p='p1') +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe extended alter6 partition (p='p1') +POSTHOOK: type: DESCTABLE +a int None +b int None +cc int None +p string None + +# Partition Information +# col_name data_type comment + +p string None + +#### A masked pattern was here #### +PREHOOK: query: alter table db6.alter6 unarchive partition (p='p1') +PREHOOK: type: ALTERTABLE_UNARCHIVE +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6@p=p1 +POSTHOOK: query: alter table db6.alter6 unarchive partition (p='p1') +POSTHOOK: type: ALTERTABLE_UNARCHIVE +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6@p=p1 +PREHOOK: query: describe extended alter6 partition (p='p1') +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe extended alter6 partition (p='p1') +POSTHOOK: type: DESCTABLE +a int None +b int None +cc int None +p string None + +# Partition Information +# col_name data_type comment + +p string None + +#### A masked pattern was here #### +PREHOOK: query: show partitions alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions alter6 +POSTHOOK: type: SHOWPARTITIONS +p=p0 +p=p1 +p=p2 +PREHOOK: query: alter table db6.alter6 drop partition (p='p1') +PREHOOK: type: ALTERTABLE_DROPPARTS +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6@p=p1 +POSTHOOK: query: alter table db6.alter6 drop partition (p='p1') +POSTHOOK: type: ALTERTABLE_DROPPARTS +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6@p=p1 +PREHOOK: query: alter table db6.alter6 set tblproperties('s1'='1') +PREHOOK: type: ALTERTABLE_PROPERTIES +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 set tblproperties('s1'='1') +POSTHOOK: type: ALTERTABLE_PROPERTIES +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe extended alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe extended alter6 +POSTHOOK: type: DESCTABLE +a int None +b int None +cc int None +p string None + +# Partition Information +# col_name data_type comment + +p string None + +#### A masked pattern was here #### +PREHOOK: query: alter table db6.alter6 unset tblproperties('s1'='1') +PREHOOK: type: ALTERTABLE_PROPERTIES +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 unset tblproperties('s1'='1') +POSTHOOK: type: ALTERTABLE_PROPERTIES +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe extended alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe extended alter6 +POSTHOOK: type: DESCTABLE +a int None +b int None +cc int None +p string None + +# Partition Information +# col_name data_type comment + +p string None + +#### A masked pattern was here #### +PREHOOK: query: alter table db6.alter6 partition (p='p2') set fileformat orc +PREHOOK: type: ALTERPARTITION_FILEFORMAT +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6@p=p2 +POSTHOOK: query: alter table db6.alter6 partition (p='p2') set fileformat orc +POSTHOOK: type: ALTERPARTITION_FILEFORMAT +POSTHOOK: Input: db6@alter6 +POSTHOOK: Input: db6@alter6@p=p2 +POSTHOOK: Output: db6@alter6@p=p2 +PREHOOK: query: show create table alter6 +PREHOOK: type: SHOW_CREATETABLE +PREHOOK: Input: db6@alter6 +POSTHOOK: query: show create table alter6 +POSTHOOK: type: SHOW_CREATETABLE +POSTHOOK: Input: db6@alter6 +CREATE TABLE `alter6`( + `a` int, + `b` int, + `cc` int) +PARTITIONED BY ( + `p` string) +ROW FORMAT SERDE + 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +STORED AS INPUTFORMAT + 'org.apache.hadoop.mapred.TextInputFormat' +OUTPUTFORMAT + 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' +LOCATION +#### A masked pattern was here #### +TBLPROPERTIES ( +#### A masked pattern was here #### +PREHOOK: query: alter table db6.alter6 partition column (p int) +PREHOOK: type: null +PREHOOK: Input: db6@alter6 +POSTHOOK: query: alter table db6.alter6 partition column (p int) +POSTHOOK: type: null +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe db6.alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe db6.alter6 +POSTHOOK: type: DESCTABLE +a int None +b int None +cc int None +p int None + +# Partition Information +# col_name data_type comment + +p int None +PREHOOK: query: create table exchange_alter6 like alter6 +PREHOOK: type: CREATETABLE +POSTHOOK: query: create table exchange_alter6 like alter6 +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: db6@exchange_alter6 +PREHOOK: query: show partitions exchange_alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions exchange_alter6 +POSTHOOK: type: SHOWPARTITIONS +PREHOOK: query: show partitions alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions alter6 +POSTHOOK: type: SHOWPARTITIONS +p=p0 +p=p2 +PREHOOK: query: alter table db6.alter6 exchange partition (p='p2') with table db6.exchange_alter6 +PREHOOK: type: null +POSTHOOK: query: alter table db6.alter6 exchange partition (p='p2') with table db6.exchange_alter6 +POSTHOOK: type: null +PREHOOK: query: show partitions alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions alter6 +POSTHOOK: type: SHOWPARTITIONS +p=p0 +PREHOOK: query: show partitions exchange_alter6 +PREHOOK: type: SHOWPARTITIONS +POSTHOOK: query: show partitions exchange_alter6 +POSTHOOK: type: SHOWPARTITIONS +p=p2 +PREHOOK: query: drop table exchange_alter6 +PREHOOK: type: DROPTABLE +PREHOOK: Input: db6@exchange_alter6 +PREHOOK: Output: db6@exchange_alter6 +POSTHOOK: query: drop table exchange_alter6 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: db6@exchange_alter6 +POSTHOOK: Output: db6@exchange_alter6 +PREHOOK: query: alter table db6.alter6 skewed by (a) on ('skew_a') stored as directories +PREHOOK: type: ALTERTABLE_SKEWED +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 skewed by (a) on ('skew_a') stored as directories +POSTHOOK: type: ALTERTABLE_SKEWED +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe formatted db6.alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe formatted db6.alter6 +POSTHOOK: type: DESCTABLE +# col_name data_type comment + +a int None +b int None +cc int None + +# Partition Information +# col_name data_type comment + +p int None + +# Detailed Table Information +Database: db6 +#### A masked pattern was here #### +Protect Mode: None +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Stored As SubDirectories: Yes +Skewed Columns: [a] +Skewed Values: [[skew_a]] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: alter table db6.alter6 not stored as directories +PREHOOK: type: ALTERTABLE_SKEWED +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 not stored as directories +POSTHOOK: type: ALTERTABLE_SKEWED +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe formatted db6.alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe formatted db6.alter6 +POSTHOOK: type: DESCTABLE +# col_name data_type comment + +a int None +b int None +cc int None + +# Partition Information +# col_name data_type comment + +p int None + +# Detailed Table Information +Database: db6 +#### A masked pattern was here #### +Protect Mode: None +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Skewed Columns: [a] +Skewed Values: [[skew_a]] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: alter table db6.alter6 not skewed +PREHOOK: type: ALTERTABLE_SKEWED +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: alter table db6.alter6 not skewed +POSTHOOK: type: ALTERTABLE_SKEWED +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: describe formatted db6.alter6 +PREHOOK: type: DESCTABLE +POSTHOOK: query: describe formatted db6.alter6 +POSTHOOK: type: DESCTABLE +# col_name data_type comment + +a int None +b int None +cc int None + +# Partition Information +# col_name data_type comment + +p int None + +# Detailed Table Information +Database: db6 +#### A masked pattern was here #### +Protect Mode: None +Retention: 0 +#### A masked pattern was here #### +Table Type: MANAGED_TABLE +Table Parameters: +#### A masked pattern was here #### + +# Storage Information +SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe +InputFormat: org.apache.hadoop.mapred.TextInputFormat +OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat +Compressed: No +Num Buckets: -1 +Bucket Columns: [] +Sort Columns: [] +Storage Desc Params: + serialization.format 1 +PREHOOK: query: drop table db6.alter6 +PREHOOK: type: DROPTABLE +PREHOOK: Input: db6@alter6 +PREHOOK: Output: db6@alter6 +POSTHOOK: query: drop table db6.alter6 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: db6@alter6 +POSTHOOK: Output: db6@alter6 +PREHOOK: query: drop database db6 +PREHOOK: type: DROPDATABASE +POSTHOOK: query: drop database db6 +POSTHOOK: type: DROPDATABASE diff --git ql/src/test/results/clientpositive/drop_multi_partitions.q.out ql/src/test/results/clientpositive/drop_multi_partitions.q.out index 2728bf8..bc2fdc5 100644 --- ql/src/test/results/clientpositive/drop_multi_partitions.q.out +++ ql/src/test/results/clientpositive/drop_multi_partitions.q.out @@ -36,7 +36,7 @@ PREHOOK: type: ALTERTABLE_DROPPARTS POSTHOOK: query: explain extended alter table mp drop partition (b='1') POSTHOOK: type: ALTERTABLE_DROPPARTS ABSTRACT SYNTAX TREE: - (TOK_ALTERTABLE_DROPPARTS mp (TOK_PARTSPEC (TOK_PARTVAL b = '1'))) + (TOK_ALTERTABLE_DROPPARTS (TOK_TABNAME mp) (TOK_PARTSPEC (TOK_PARTVAL b = '1'))) STAGE DEPENDENCIES: Stage-0 is a root stage diff --git ql/src/test/results/clientpositive/input3.q.out ql/src/test/results/clientpositive/input3.q.out index fffaf2e..b7b7e6c 100644 --- ql/src/test/results/clientpositive/input3.q.out +++ ql/src/test/results/clientpositive/input3.q.out @@ -43,7 +43,7 @@ POSTHOOK: query: EXPLAIN ALTER TABLE TEST3b ADD COLUMNS (X DOUBLE) POSTHOOK: type: ALTERTABLE_ADDCOLS ABSTRACT SYNTAX TREE: - (TOK_ALTERTABLE_ADDCOLS TEST3b (TOK_TABCOLLIST (TOK_TABCOL X TOK_DOUBLE))) + (TOK_ALTERTABLE_ADDCOLS (TOK_TABNAME TEST3b) (TOK_TABCOLLIST (TOK_TABCOL X TOK_DOUBLE))) STAGE DEPENDENCIES: Stage-0 is a root stage @@ -80,7 +80,7 @@ POSTHOOK: query: EXPLAIN ALTER TABLE TEST3b RENAME TO TEST3c POSTHOOK: type: ALTERTABLE_RENAME ABSTRACT SYNTAX TREE: - (TOK_ALTERTABLE_RENAME TEST3b TEST3c) + (TOK_ALTERTABLE_RENAME (TOK_TABNAME TEST3b) (TOK_TABNAME TEST3c)) STAGE DEPENDENCIES: Stage-0 is a root stage @@ -133,7 +133,7 @@ POSTHOOK: query: EXPLAIN ALTER TABLE TEST3c REPLACE COLUMNS (R1 INT, R2 DOUBLE) POSTHOOK: type: ALTERTABLE_REPLACECOLS ABSTRACT SYNTAX TREE: - (TOK_ALTERTABLE_REPLACECOLS TEST3c (TOK_TABCOLLIST (TOK_TABCOL R1 TOK_INT) (TOK_TABCOL R2 TOK_DOUBLE))) + (TOK_ALTERTABLE_REPLACECOLS (TOK_TABNAME TEST3c) (TOK_TABCOLLIST (TOK_TABCOL R1 TOK_INT) (TOK_TABCOL R2 TOK_DOUBLE))) STAGE DEPENDENCIES: Stage-0 is a root stage diff --git ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out index 685629e..3043505 100644 --- ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out +++ ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out @@ -237,8 +237,11 @@ POSTHOOK: Lineage: destintable PARTITION(ds=2011-11-11).two SIMPLE [(sourcetable 97 val_97 PREHOOK: query: drop table db2.destinTable PREHOOK: type: DROPTABLE +PREHOOK: Input: db2@destintable +PREHOOK: Output: db2@destintable POSTHOOK: query: drop table db2.destinTable POSTHOOK: type: DROPTABLE +POSTHOOK: Input: db2@destintable POSTHOOK: Output: db2@destintable POSTHOOK: Lineage: destintable PARTITION(ds=2011-11-11).one SIMPLE [(sourcetable)sourcetable.FieldSchema(name:one, type:string, comment:null), ] POSTHOOK: Lineage: destintable PARTITION(ds=2011-11-11).two SIMPLE [(sourcetable)sourcetable.FieldSchema(name:two, type:string, comment:null), ] @@ -246,8 +249,11 @@ POSTHOOK: Lineage: destintable PARTITION(ds=2011-11-11).one SIMPLE [(sourcetable POSTHOOK: Lineage: destintable PARTITION(ds=2011-11-11).two SIMPLE [(sourcetable)sourcetable.FieldSchema(name:two, type:string, comment:null), ] PREHOOK: query: drop table db1.sourceTable PREHOOK: type: DROPTABLE +PREHOOK: Input: db1@sourcetable +PREHOOK: Output: db1@sourcetable POSTHOOK: query: drop table db1.sourceTable POSTHOOK: type: DROPTABLE +POSTHOOK: Input: db1@sourcetable POSTHOOK: Output: db1@sourcetable POSTHOOK: Lineage: destintable PARTITION(ds=2011-11-11).one SIMPLE [(sourcetable)sourcetable.FieldSchema(name:one, type:string, comment:null), ] POSTHOOK: Lineage: destintable PARTITION(ds=2011-11-11).two SIMPLE [(sourcetable)sourcetable.FieldSchema(name:two, type:string, comment:null), ] diff --git ql/src/test/results/clientpositive/show_create_table_db_table.q.out ql/src/test/results/clientpositive/show_create_table_db_table.q.out index 92bdff9..b196f45 100644 --- ql/src/test/results/clientpositive/show_create_table_db_table.q.out +++ ql/src/test/results/clientpositive/show_create_table_db_table.q.out @@ -42,8 +42,11 @@ TBLPROPERTIES ( #### A masked pattern was here #### PREHOOK: query: DROP TABLE tmp_feng.tmp_showcrt PREHOOK: type: DROPTABLE +PREHOOK: Input: tmp_feng@tmp_showcrt +PREHOOK: Output: tmp_feng@tmp_showcrt POSTHOOK: query: DROP TABLE tmp_feng.tmp_showcrt POSTHOOK: type: DROPTABLE +POSTHOOK: Input: tmp_feng@tmp_showcrt POSTHOOK: Output: tmp_feng@tmp_showcrt PREHOOK: query: DROP DATABASE tmp_feng PREHOOK: type: DROPDATABASE