diff --git ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java index 31978fe..9ac540e 100644 --- ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java +++ ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java @@ -421,6 +421,8 @@ "an AcidOutputFormat or is not bucketed", true), ACID_NO_SORTED_BUCKETS(10298, "ACID insert, update, delete not supported on tables that are " + "sorted, table {0}", true), + ALTER_TABLE_TYPE_PARTIAL_PARTITION_SPEC_NO_SUPPORTED(10299, + "Alter table partition type {0} does not allow partial partition spec"), //========================== 20000 range starts here ========================// SCRIPT_INIT_ERROR(20000, "Unable to initialize custom script."), 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 3a6eb39..7641ce2 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -88,6 +88,7 @@ import org.apache.hadoop.hive.ql.metadata.formatting.MetaDataFormatter; import org.apache.hadoop.hive.ql.parse.AlterTablePartMergeFilesDesc; import org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer; +import org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer; import org.apache.hadoop.hive.ql.plan.AddPartitionDesc; import org.apache.hadoop.hive.ql.plan.AlterDatabaseDesc; import org.apache.hadoop.hive.ql.plan.AlterIndexDesc; @@ -3277,22 +3278,77 @@ private int alterTable(Hive db, AlterTableDesc alterTbl) throws HiveException { // alter the table Table tbl = db.getTable(alterTbl.getOldName()); - Partition part = null; List allPartitions = null; if (alterTbl.getPartSpec() != null) { - if (alterTbl.getOp() != AlterTableDesc.AlterTableTypes.ALTERPROTECTMODE) { - part = db.getPartition(tbl, alterTbl.getPartSpec(), false); + Map partSpec = alterTbl.getPartSpec(); + if (DDLSemanticAnalyzer.isFullSpec(tbl, partSpec)) { + allPartitions = new ArrayList(); + Partition part = db.getPartition(tbl, partSpec, false); if (part == null) { + // User provided a fully specified partition spec but it doesn't exist, fail. throw new HiveException(ErrorMsg.INVALID_PARTITION, - StringUtils.join(alterTbl.getPartSpec().keySet(), ',') + " for table " + alterTbl.getOldName()); + StringUtils.join(alterTbl.getPartSpec().keySet(), ',') + " for table " + alterTbl.getOldName()); + } - } - else { + allPartitions.add(part); + } else { + // DDLSemanticAnalyzer has already checked if partial partition specs are allowed, + // thus we should not need to check it here. allPartitions = db.getPartitions(tbl, alterTbl.getPartSpec()); } } Table oldTbl = tbl.copy(); + if (allPartitions != null) { + // Alter all partitions + for (Partition part : allPartitions) { + alterTableOrSinglePartition(alterTbl, tbl, part); + } + } else { + // Just alter the table + alterTableOrSinglePartition(alterTbl, tbl, null); + } + + if (allPartitions == null) { + updateModifiedParameters(tbl.getTTable().getParameters(), conf); + tbl.checkValidity(); + } else { + for (Partition tmpPart: allPartitions) { + updateModifiedParameters(tmpPart.getParameters(), conf); + } + } + + try { + if (allPartitions == null) { + db.alterTable(alterTbl.getOldName(), tbl); + } else { + db.alterPartitions(tbl.getTableName(), allPartitions); + } + } catch (InvalidOperationException e) { + LOG.error("alter table: " + stringifyException(e)); + throw new HiveException(e, ErrorMsg.GENERIC_ERROR); + } + + // This is kind of hacky - the read entity contains the old table, whereas + // the write entity + // contains the new table. This is needed for rename - both the old and the + // new table names are + // passed + // Don't acquire locks for any of these, we have already asked for them in DDLSemanticAnalyzer. + if (allPartitions != null ) { + for (Partition tmpPart: allPartitions) { + work.getInputs().add(new ReadEntity(tmpPart)); + work.getOutputs().add(new WriteEntity(tmpPart, WriteEntity.WriteType.DDL_NO_LOCK)); + } + } else { + work.getInputs().add(new ReadEntity(oldTbl)); + work.getOutputs().add(new WriteEntity(tbl, WriteEntity.WriteType.DDL_NO_LOCK)); + } + return 0; + } + + private int alterTableOrSinglePartition(AlterTableDesc alterTbl, Table tbl, Partition part) + throws HiveException { List oldCols = (part == null ? tbl.getCols() : part.getCols()); StorageDescriptor sd = (part == null ? tbl.getTTable().getSd() : part.getTPartition().getSd()); @@ -3438,12 +3494,10 @@ private int alterTable(Hive db, AlterTableDesc alterTbl) throws HiveException { AlterTableDesc.ProtectModeType protectMode = alterTbl.getProtectModeType(); ProtectMode mode = null; - if (allPartitions != null) { - for (Partition tmpPart: allPartitions) { - mode = tmpPart.getProtectMode(); - setAlterProtectMode(protectModeEnable, protectMode, mode); - tmpPart.setProtectMode(mode); - } + if (part != null) { + mode = part.getProtectMode(); + setAlterProtectMode(protectModeEnable, protectMode, mode); + part.setProtectMode(mode); } else { mode = tbl.getProtectMode(); setAlterProtectMode(protectModeEnable,protectMode, mode); @@ -3486,12 +3540,12 @@ private int alterTable(Hive db, AlterTableDesc alterTbl) throws HiveException { throw new HiveException(e); } } else if (alterTbl.getOp() == AlterTableDesc.AlterTableTypes.ADDSKEWEDBY) { - /* Validation's been done at compile time. no validation is needed here. */ + // Validation's been done at compile time. no validation is needed here. List skewedColNames = null; List> skewedValues = null; if (alterTbl.isTurnOffSkewed()) { - /* Convert skewed table to non-skewed table. */ + // Convert skewed table to non-skewed table. skewedColNames = new ArrayList(); skewedValues = new ArrayList>(); } else { @@ -3500,7 +3554,7 @@ private int alterTable(Hive db, AlterTableDesc alterTbl) throws HiveException { } if ( null == tbl.getSkewedInfo()) { - /* Convert non-skewed table to skewed table. */ + // Convert non-skewed table to skewed table. SkewedInfo skewedInfo = new SkewedInfo(); skewedInfo.setSkewedColNames(skewedColNames); skewedInfo.setSkewedColValues(skewedValues); @@ -3542,59 +3596,12 @@ private int alterTable(Hive db, AlterTableDesc alterTbl) throws HiveException { } tbl.setNumBuckets(alterTbl.getNumberBuckets()); } - } else { + } else { throw new HiveException(ErrorMsg.UNSUPPORTED_ALTER_TBL_OP, alterTbl.getOp().toString()); } - if (part == null && allPartitions == null) { - updateModifiedParameters(tbl.getTTable().getParameters(), conf); - tbl.checkValidity(); - } else if (part != null) { - updateModifiedParameters(part.getParameters(), conf); - } - else { - for (Partition tmpPart: allPartitions) { - updateModifiedParameters(tmpPart.getParameters(), conf); - } - } - - try { - if (part == null && allPartitions == null) { - db.alterTable(alterTbl.getOldName(), tbl); - } else if (part != null) { - db.alterPartition(tbl.getTableName(), part); - } - else { - db.alterPartitions(tbl.getTableName(), allPartitions); - } - } catch (InvalidOperationException e) { - LOG.info("alter table: " + stringifyException(e)); - throw new HiveException(e, ErrorMsg.GENERIC_ERROR); - } - - // This is kind of hacky - the read entity contains the old table, whereas - // the write entity - // contains the new table. This is needed for rename - both the old and the - // new table names are - // passed - // Don't acquire locks for any of these, we have already asked for them in DDLSemanticAnalyzer. - if(part != null) { - work.getInputs().add(new ReadEntity(part)); - work.getOutputs().add(new WriteEntity(part, WriteEntity.WriteType.DDL_NO_LOCK)); - } - else if (allPartitions != null ){ - for (Partition tmpPart: allPartitions) { - work.getInputs().add(new ReadEntity(tmpPart)); - work.getOutputs().add(new WriteEntity(tmpPart, WriteEntity.WriteType.DDL_NO_LOCK)); - } - } - else { - work.getInputs().add(new ReadEntity(oldTbl)); - work.getOutputs().add(new WriteEntity(tbl, WriteEntity.WriteType.DDL_NO_LOCK)); - } return 0; } - /** * Drop a given table or some partitions. DropTableDesc is currently used for both. * 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 5b8f301..c060d74 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java @@ -1017,7 +1017,7 @@ private void analyzeTruncateTable(ASTNode ast) throws SemanticException { rootTasks.add(truncateTask); } - private boolean isFullSpec(Table table, Map partSpec) { + public static boolean isFullSpec(Table table, Map partSpec) { for (FieldSchema partCol : table.getPartCols()) { if (partSpec.get(partCol.getName()) == null) { return false; @@ -1387,11 +1387,21 @@ private void addInputsOutputsAlterTable(String tableName, Map pa // ReadEntity as no lock. re.noLockNeeded(); inputs.add(re); - if (desc == null || desc.getOp() != AlterTableDesc.AlterTableTypes.ALTERPROTECTMODE) { + + if (isFullSpec(tab, partSpec)) { + // Fully specified partition spec Partition part = getPartition(tab, partSpec, true); - outputs.add(new WriteEntity(part, writeType)); - } - else { + outputs.add(new WriteEntity(part, writeType)); + } else { + // Partial partition spec supplied. Make sure this is allowed. + if (desc == null + || !AlterTableDesc.doesAlterTableTypeSupportPartialPartitionSpec(desc.getOp())) { + throw new SemanticException( + ErrorMsg.ALTER_TABLE_TYPE_PARTIAL_PARTITION_SPEC_NO_SUPPORTED, desc.getOp().name()); + } else if (!conf.getBoolVar(HiveConf.ConfVars.DYNAMICPARTITIONING)) { + throw new SemanticException(ErrorMsg.DYNAMIC_PARTITION_DISABLED); + } + for (Partition part : getPartitions(tab, partSpec, true)) { outputs.add(new WriteEntity(part, writeType)); } diff --git ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java index 298bbca..f869821 100644 --- ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java +++ ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java @@ -21,8 +21,10 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.Order; @@ -63,6 +65,20 @@ NO_DROP, OFFLINE, READ_ONLY, NO_DROP_CASCADE } + public static final Set alterTableTypesWithPartialSpec = + new HashSet(); + + static { + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.ALTERPROTECTMODE); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.ADDCOLS); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.REPLACECOLS); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.RENAMECOLUMN); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.ADDPROPS); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.DROPPROPS); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.ADDSERDE); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.ADDSERDEPROPS); + alterTableTypesWithPartialSpec.add(AlterTableDesc.AlterTableTypes.ADDFILEFORMAT); + } AlterTableTypes op; String oldName; @@ -704,5 +720,8 @@ public boolean getIsDropIfExists() { return isDropIfExists; } + public static boolean doesAlterTableTypeSupportPartialPartitionSpec(AlterTableTypes type) { + return alterTableTypesWithPartialSpec.contains(type); + } } diff --git ql/src/test/queries/clientnegative/alter_partition_partial_spec_dyndisabled.q ql/src/test/queries/clientnegative/alter_partition_partial_spec_dyndisabled.q new file mode 100644 index 0000000..74bfb43 --- /dev/null +++ ql/src/test/queries/clientnegative/alter_partition_partial_spec_dyndisabled.q @@ -0,0 +1,13 @@ +SET hive.exec.dynamic.partition = true; +SET hive.exec.dynamic.partition.mode = nonstrict; + +create table alter_partition_partial_spec_dyndisabled0 (c1 string) partitioned by (p1 string, p2 string); + +alter table alter_partition_partial_spec_dyndisabled0 add partition (p1='abc', p2='123'); +alter table alter_partition_partial_spec_dyndisabled0 partition (p1, p2) change c1 c1 int; + +describe alter_partition_partial_spec_dyndisabled0 partition (p1='abc', p2='123'); + +SET hive.exec.dynamic.partition = false; +-- Same statement should fail if dynamic partitioning disabled +alter table alter_partition_partial_spec_dyndisabled0 partition (p1, p2) change c1 c1 int; diff --git ql/src/test/queries/clientpositive/alter_partition_change_col.q ql/src/test/queries/clientpositive/alter_partition_change_col.q index baabb9f..4451ef3 100644 --- ql/src/test/queries/clientpositive/alter_partition_change_col.q +++ ql/src/test/queries/clientpositive/alter_partition_change_col.q @@ -6,54 +6,70 @@ SET hive.exec.dynamic.partition.mode = nonstrict; create table alter_partition_change_col0 (c1 string, c2 string); load data local inpath '../../data/files/dec.txt' overwrite into table alter_partition_change_col0; -create table alter_partition_change_col1 (c1 string, c2 string) partitioned by (p1 string); +create table alter_partition_change_col1 (c1 string, c2 string) partitioned by (p1 string, p2 string); -insert overwrite table alter_partition_change_col1 partition (p1) - select c1, c2, 'abc' from alter_partition_change_col0 +insert overwrite table alter_partition_change_col1 partition (p1, p2) + select c1, c2, 'abc', '123' from alter_partition_change_col0 union all - select c1, c2, null from alter_partition_change_col0; + select c1, c2, null, '123' from alter_partition_change_col0; show partitions alter_partition_change_col1; -select * from alter_partition_change_col1; +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; -- Change c2 to decimal(10,0) alter table alter_partition_change_col1 change c2 c2 decimal(10,0); -alter table alter_partition_change_col1 partition (p1='abc') change c2 c2 decimal(10,0); -alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') change c2 c2 decimal(10,0); -select * from alter_partition_change_col1; +alter table alter_partition_change_col1 partition (p1='abc', p2='123') change c2 c2 decimal(10,0); +alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') change c2 c2 decimal(10,0); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; -- Change the column type at the table level. Table-level describe shows the new type, but the existing partition does not. alter table alter_partition_change_col1 change c2 c2 decimal(14,4); describe alter_partition_change_col1; -describe alter_partition_change_col1 partition (p1='abc'); -select * from alter_partition_change_col1; +describe alter_partition_change_col1 partition (p1='abc', p2='123'); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; -- now change the column type of the existing partition -alter table alter_partition_change_col1 partition (p1='abc') change c2 c2 decimal(14,4); -describe alter_partition_change_col1 partition (p1='abc'); -select * from alter_partition_change_col1; +alter table alter_partition_change_col1 partition (p1='abc', p2='123') change c2 c2 decimal(14,4); +describe alter_partition_change_col1 partition (p1='abc', p2='123'); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; -- change column for default partition value -alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') change c2 c2 decimal(14,4); -describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__'); -select * from alter_partition_change_col1; +alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') change c2 c2 decimal(14,4); +describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123'); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; -- Try out replace columns -alter table alter_partition_change_col1 partition (p1='abc') replace columns (c1 string); +alter table alter_partition_change_col1 partition (p1='abc', p2='123') replace columns (c1 string); describe alter_partition_change_col1; -describe alter_partition_change_col1 partition (p1='abc'); -select * from alter_partition_change_col1; +describe alter_partition_change_col1 partition (p1='abc', p2='123'); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; + alter table alter_partition_change_col1 replace columns (c1 string); describe alter_partition_change_col1; -select * from alter_partition_change_col1; +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; -- Try add columns alter table alter_partition_change_col1 add columns (c2 decimal(14,4)); describe alter_partition_change_col1; -describe alter_partition_change_col1 partition (p1='abc'); -select * from alter_partition_change_col1; +describe alter_partition_change_col1 partition (p1='abc', p2='123'); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; -alter table alter_partition_change_col1 partition (p1='abc') add columns (c2 decimal(14,4)); -describe alter_partition_change_col1 partition (p1='abc'); -select * from alter_partition_change_col1; +alter table alter_partition_change_col1 partition (p1='abc', p2='123') add columns (c2 decimal(14,4)); +describe alter_partition_change_col1 partition (p1='abc', p2='123'); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; +-- Try changing column for all partitions at once +alter table alter_partition_change_col1 partition (p1, p2='123') change column c2 c2 decimal(10,0); +describe alter_partition_change_col1 partition (p1='abc', p2='123'); +describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123'); +select * from alter_partition_change_col1 where p1='abc'; +select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'; diff --git ql/src/test/results/clientnegative/alter_partition_partial_spec_dyndisabled.q.out ql/src/test/results/clientnegative/alter_partition_partial_spec_dyndisabled.q.out new file mode 100644 index 0000000..8ec2c28 --- /dev/null +++ ql/src/test/results/clientnegative/alter_partition_partial_spec_dyndisabled.q.out @@ -0,0 +1,40 @@ +PREHOOK: query: create table alter_partition_partial_spec_dyndisabled0 (c1 string) partitioned by (p1 string, p2 string) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@alter_partition_partial_spec_dyndisabled0 +POSTHOOK: query: create table alter_partition_partial_spec_dyndisabled0 (c1 string) partitioned by (p1 string, p2 string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@alter_partition_partial_spec_dyndisabled0 +PREHOOK: query: alter table alter_partition_partial_spec_dyndisabled0 add partition (p1='abc', p2='123') +PREHOOK: type: ALTERTABLE_ADDPARTS +PREHOOK: Output: default@alter_partition_partial_spec_dyndisabled0 +POSTHOOK: query: alter table alter_partition_partial_spec_dyndisabled0 add partition (p1='abc', p2='123') +POSTHOOK: type: ALTERTABLE_ADDPARTS +POSTHOOK: Output: default@alter_partition_partial_spec_dyndisabled0 +POSTHOOK: Output: default@alter_partition_partial_spec_dyndisabled0@p1=abc/p2=123 +PREHOOK: query: alter table alter_partition_partial_spec_dyndisabled0 partition (p1, p2) change c1 c1 int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@alter_partition_partial_spec_dyndisabled0 +PREHOOK: Output: default@alter_partition_partial_spec_dyndisabled0@p1=abc/p2=123 +POSTHOOK: query: alter table alter_partition_partial_spec_dyndisabled0 partition (p1, p2) change c1 c1 int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@alter_partition_partial_spec_dyndisabled0 +POSTHOOK: Input: default@alter_partition_partial_spec_dyndisabled0@p1=abc/p2=123 +POSTHOOK: Output: default@alter_partition_partial_spec_dyndisabled0@p1=abc/p2=123 +PREHOOK: query: describe alter_partition_partial_spec_dyndisabled0 partition (p1='abc', p2='123') +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@alter_partition_partial_spec_dyndisabled0 +POSTHOOK: query: describe alter_partition_partial_spec_dyndisabled0 partition (p1='abc', p2='123') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@alter_partition_partial_spec_dyndisabled0 +c1 int +p1 string +p2 string + +# Partition Information +# col_name data_type comment + +p1 string +p2 string +FAILED: SemanticException [Error 10095]: Dynamic partition is disabled. Either enable it by setting hive.exec.dynamic.partition=true or specify partition column values diff --git ql/src/test/results/clientpositive/alter_partition_change_col.q.out ql/src/test/results/clientpositive/alter_partition_change_col.q.out index 7123e40..148bff4 100644 --- ql/src/test/results/clientpositive/alter_partition_change_col.q.out +++ ql/src/test/results/clientpositive/alter_partition_change_col.q.out @@ -18,73 +18,81 @@ POSTHOOK: query: load data local inpath '../../data/files/dec.txt' overwrite int POSTHOOK: type: LOAD #### A masked pattern was here #### POSTHOOK: Output: default@alter_partition_change_col0 -PREHOOK: query: create table alter_partition_change_col1 (c1 string, c2 string) partitioned by (p1 string) +PREHOOK: query: create table alter_partition_change_col1 (c1 string, c2 string) partitioned by (p1 string, p2 string) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@alter_partition_change_col1 -POSTHOOK: query: create table alter_partition_change_col1 (c1 string, c2 string) partitioned by (p1 string) +POSTHOOK: query: create table alter_partition_change_col1 (c1 string, c2 string) partitioned by (p1 string, p2 string) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@alter_partition_change_col1 -PREHOOK: query: insert overwrite table alter_partition_change_col1 partition (p1) - select c1, c2, 'abc' from alter_partition_change_col0 +PREHOOK: query: insert overwrite table alter_partition_change_col1 partition (p1, p2) + select c1, c2, 'abc', '123' from alter_partition_change_col0 union all - select c1, c2, null from alter_partition_change_col0 + select c1, c2, null, '123' from alter_partition_change_col0 PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col0 PREHOOK: Output: default@alter_partition_change_col1 -POSTHOOK: query: insert overwrite table alter_partition_change_col1 partition (p1) - select c1, c2, 'abc' from alter_partition_change_col0 +POSTHOOK: query: insert overwrite table alter_partition_change_col1 partition (p1, p2) + select c1, c2, 'abc', '123' from alter_partition_change_col0 union all - select c1, c2, null from alter_partition_change_col0 + select c1, c2, null, '123' from alter_partition_change_col0 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col0 -POSTHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Output: default@alter_partition_change_col1@p1=abc -POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=__HIVE_DEFAULT_PARTITION__).c1 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), ] -POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=__HIVE_DEFAULT_PARTITION__).c2 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), ] -POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=abc).c1 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), ] -POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=abc).c2 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), ] +POSTHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=__HIVE_DEFAULT_PARTITION__,p2=123).c1 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), ] +POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=__HIVE_DEFAULT_PARTITION__,p2=123).c2 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), ] +POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=abc,p2=123).c1 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c1, type:string, comment:null), ] +POSTHOOK: Lineage: alter_partition_change_col1 PARTITION(p1=abc,p2=123).c2 EXPRESSION [(alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), (alter_partition_change_col0)alter_partition_change_col0.FieldSchema(name:c2, type:string, comment:null), ] PREHOOK: query: show partitions alter_partition_change_col1 PREHOOK: type: SHOWPARTITIONS PREHOOK: Input: default@alter_partition_change_col1 POSTHOOK: query: show partitions alter_partition_change_col1 POSTHOOK: type: SHOWPARTITIONS POSTHOOK: Input: default@alter_partition_change_col1 -p1=__HIVE_DEFAULT_PARTITION__ -p1=abc -PREHOOK: query: select * from alter_partition_change_col1 +p1=__HIVE_DEFAULT_PARTITION__/p2=123 +p1=abc/p2=123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0.0 __HIVE_DEFAULT_PARTITION__ -Beck 0.0 abc -Beck 77.341 __HIVE_DEFAULT_PARTITION__ -Beck 77.341 abc -Beck 79.9 __HIVE_DEFAULT_PARTITION__ -Beck 79.9 abc -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ -Cluck 5.96 abc -Mary 33.33 __HIVE_DEFAULT_PARTITION__ -Mary 33.33 abc -Mary 4.329 __HIVE_DEFAULT_PARTITION__ -Mary 4.329 abc -Snow 55.71 __HIVE_DEFAULT_PARTITION__ -Snow 55.71 abc -Tom -12.25 __HIVE_DEFAULT_PARTITION__ -Tom -12.25 abc -Tom 19.00 __HIVE_DEFAULT_PARTITION__ -Tom 19.00 abc -Tom 234.79 __HIVE_DEFAULT_PARTITION__ -Tom 234.79 abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck 0.0 abc 123 +Beck 77.341 abc 123 +Beck 79.9 abc 123 +Cluck 5.96 abc 123 +Mary 33.33 abc 123 +Mary 4.329 abc 123 +Snow 55.71 abc 123 +Tom -12.25 abc 123 +Tom 19.00 abc 123 +Tom 234.79 abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0.0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123 +Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123 +Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19.00 __HIVE_DEFAULT_PARTITION__ 123 +Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123 PREHOOK: query: -- Change c2 to decimal(10,0) alter table alter_partition_change_col1 change c2 c2 decimal(10,0) PREHOOK: type: ALTERTABLE_RENAMECOL @@ -95,56 +103,64 @@ alter table alter_partition_change_col1 change c2 c2 decimal(10,0) POSTHOOK: type: ALTERTABLE_RENAMECOL POSTHOOK: Input: default@alter_partition_change_col1 POSTHOOK: Output: default@alter_partition_change_col1 -PREHOOK: query: alter table alter_partition_change_col1 partition (p1='abc') change c2 c2 decimal(10,0) +PREHOOK: query: alter table alter_partition_change_col1 partition (p1='abc', p2='123') change c2 c2 decimal(10,0) PREHOOK: type: ALTERTABLE_RENAMECOL PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Output: default@alter_partition_change_col1@p1=abc -POSTHOOK: query: alter table alter_partition_change_col1 partition (p1='abc') change c2 c2 decimal(10,0) +PREHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: query: alter table alter_partition_change_col1 partition (p1='abc', p2='123') change c2 c2 decimal(10,0) POSTHOOK: type: ALTERTABLE_RENAMECOL POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -POSTHOOK: Output: default@alter_partition_change_col1@p1=abc -PREHOOK: query: alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') change c2 c2 decimal(10,0) +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +PREHOOK: query: alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') change c2 c2 decimal(10,0) PREHOOK: type: ALTERTABLE_RENAMECOL PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: query: alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') change c2 c2 decimal(10,0) +PREHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +POSTHOOK: query: alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') change c2 c2 decimal(10,0) POSTHOOK: type: ALTERTABLE_RENAMECOL POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck 0 abc 123 +Beck 77 abc 123 +Beck 80 abc 123 +Cluck 6 abc 123 +Mary 33 abc 123 +Mary 4 abc 123 +Snow 56 abc 123 +Tom -12 abc 123 +Tom 19 abc 123 +Tom 235 abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0 __HIVE_DEFAULT_PARTITION__ -Beck 0 abc -Beck 77 __HIVE_DEFAULT_PARTITION__ -Beck 77 abc -Beck 80 __HIVE_DEFAULT_PARTITION__ -Beck 80 abc -Cluck 6 __HIVE_DEFAULT_PARTITION__ -Cluck 6 abc -Mary 33 __HIVE_DEFAULT_PARTITION__ -Mary 33 abc -Mary 4 __HIVE_DEFAULT_PARTITION__ -Mary 4 abc -Snow 56 __HIVE_DEFAULT_PARTITION__ -Snow 56 abc -Tom -12 __HIVE_DEFAULT_PARTITION__ -Tom -12 abc -Tom 19 __HIVE_DEFAULT_PARTITION__ -Tom 19 abc -Tom 235 __HIVE_DEFAULT_PARTITION__ -Tom 235 abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77 __HIVE_DEFAULT_PARTITION__ 123 +Beck 80 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 6 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4 __HIVE_DEFAULT_PARTITION__ 123 +Snow 56 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19 __HIVE_DEFAULT_PARTITION__ 123 +Tom 235 __HIVE_DEFAULT_PARTITION__ 123 PREHOOK: query: -- Change the column type at the table level. Table-level describe shows the new type, but the existing partition does not. alter table alter_partition_change_col1 change c2 c2 decimal(14,4) PREHOOK: type: ALTERTABLE_RENAMECOL @@ -164,182 +180,214 @@ POSTHOOK: Input: default@alter_partition_change_col1 c1 string c2 decimal(14,4) p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +p2 string +PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') PREHOOK: type: DESCTABLE PREHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') POSTHOOK: type: DESCTABLE POSTHOOK: Input: default@alter_partition_change_col1 c1 string c2 decimal(10,0) p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: select * from alter_partition_change_col1 +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck 0 abc 123 +Beck 77 abc 123 +Beck 80 abc 123 +Cluck 6 abc 123 +Mary 33 abc 123 +Mary 4 abc 123 +Snow 56 abc 123 +Tom -12 abc 123 +Tom 19 abc 123 +Tom 235 abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0 __HIVE_DEFAULT_PARTITION__ -Beck 0 abc -Beck 77 __HIVE_DEFAULT_PARTITION__ -Beck 77 abc -Beck 80 __HIVE_DEFAULT_PARTITION__ -Beck 80 abc -Cluck 6 __HIVE_DEFAULT_PARTITION__ -Cluck 6 abc -Mary 33 __HIVE_DEFAULT_PARTITION__ -Mary 33 abc -Mary 4 __HIVE_DEFAULT_PARTITION__ -Mary 4 abc -Snow 56 __HIVE_DEFAULT_PARTITION__ -Snow 56 abc -Tom -12 __HIVE_DEFAULT_PARTITION__ -Tom -12 abc -Tom 19 __HIVE_DEFAULT_PARTITION__ -Tom 19 abc -Tom 235 __HIVE_DEFAULT_PARTITION__ -Tom 235 abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77 __HIVE_DEFAULT_PARTITION__ 123 +Beck 80 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 6 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4 __HIVE_DEFAULT_PARTITION__ 123 +Snow 56 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19 __HIVE_DEFAULT_PARTITION__ 123 +Tom 235 __HIVE_DEFAULT_PARTITION__ 123 PREHOOK: query: -- now change the column type of the existing partition -alter table alter_partition_change_col1 partition (p1='abc') change c2 c2 decimal(14,4) +alter table alter_partition_change_col1 partition (p1='abc', p2='123') change c2 c2 decimal(14,4) PREHOOK: type: ALTERTABLE_RENAMECOL PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Output: default@alter_partition_change_col1@p1=abc +PREHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 POSTHOOK: query: -- now change the column type of the existing partition -alter table alter_partition_change_col1 partition (p1='abc') change c2 c2 decimal(14,4) +alter table alter_partition_change_col1 partition (p1='abc', p2='123') change c2 c2 decimal(14,4) POSTHOOK: type: ALTERTABLE_RENAMECOL POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -POSTHOOK: Output: default@alter_partition_change_col1@p1=abc -PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') PREHOOK: type: DESCTABLE PREHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') POSTHOOK: type: DESCTABLE POSTHOOK: Input: default@alter_partition_change_col1 c1 string c2 decimal(14,4) p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: select * from alter_partition_change_col1 +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck 0.0 abc 123 +Beck 77.341 abc 123 +Beck 79.9 abc 123 +Cluck 5.96 abc 123 +Mary 33.33 abc 123 +Mary 4.329 abc 123 +Snow 55.71 abc 123 +Tom -12.25 abc 123 +Tom 19.00 abc 123 +Tom 234.79 abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0 __HIVE_DEFAULT_PARTITION__ -Beck 0.0 abc -Beck 77 __HIVE_DEFAULT_PARTITION__ -Beck 77.341 abc -Beck 79.9 abc -Beck 80 __HIVE_DEFAULT_PARTITION__ -Cluck 5.96 abc -Cluck 6 __HIVE_DEFAULT_PARTITION__ -Mary 33 __HIVE_DEFAULT_PARTITION__ -Mary 33.33 abc -Mary 4 __HIVE_DEFAULT_PARTITION__ -Mary 4.329 abc -Snow 55.71 abc -Snow 56 __HIVE_DEFAULT_PARTITION__ -Tom -12 __HIVE_DEFAULT_PARTITION__ -Tom -12.25 abc -Tom 19 __HIVE_DEFAULT_PARTITION__ -Tom 19.00 abc -Tom 234.79 abc -Tom 235 __HIVE_DEFAULT_PARTITION__ +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77 __HIVE_DEFAULT_PARTITION__ 123 +Beck 80 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 6 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4 __HIVE_DEFAULT_PARTITION__ 123 +Snow 56 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19 __HIVE_DEFAULT_PARTITION__ 123 +Tom 235 __HIVE_DEFAULT_PARTITION__ 123 PREHOOK: query: -- change column for default partition value -alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') change c2 c2 decimal(14,4) +alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') change c2 c2 decimal(14,4) PREHOOK: type: ALTERTABLE_RENAMECOL PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ +PREHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 POSTHOOK: query: -- change column for default partition value -alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') change c2 c2 decimal(14,4) +alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') change c2 c2 decimal(14,4) POSTHOOK: type: ALTERTABLE_RENAMECOL POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: query: describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +PREHOOK: query: describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') PREHOOK: type: DESCTABLE PREHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: query: describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__') +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') POSTHOOK: type: DESCTABLE POSTHOOK: Input: default@alter_partition_change_col1 c1 string c2 decimal(14,4) p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: select * from alter_partition_change_col1 +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0.0 __HIVE_DEFAULT_PARTITION__ -Beck 0.0 abc -Beck 77.341 __HIVE_DEFAULT_PARTITION__ -Beck 77.341 abc -Beck 79.9 __HIVE_DEFAULT_PARTITION__ -Beck 79.9 abc -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ -Cluck 5.96 abc -Mary 33.33 __HIVE_DEFAULT_PARTITION__ -Mary 33.33 abc -Mary 4.329 __HIVE_DEFAULT_PARTITION__ -Mary 4.329 abc -Snow 55.71 __HIVE_DEFAULT_PARTITION__ -Snow 55.71 abc -Tom -12.25 __HIVE_DEFAULT_PARTITION__ -Tom -12.25 abc -Tom 19.00 __HIVE_DEFAULT_PARTITION__ -Tom 19.00 abc -Tom 234.79 __HIVE_DEFAULT_PARTITION__ -Tom 234.79 abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck 0.0 abc 123 +Beck 77.341 abc 123 +Beck 79.9 abc 123 +Cluck 5.96 abc 123 +Mary 33.33 abc 123 +Mary 4.329 abc 123 +Snow 55.71 abc 123 +Tom -12.25 abc 123 +Tom 19.00 abc 123 +Tom 234.79 abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0.0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123 +Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123 +Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19.00 __HIVE_DEFAULT_PARTITION__ 123 +Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123 PREHOOK: query: -- Try out replace columns -alter table alter_partition_change_col1 partition (p1='abc') replace columns (c1 string) +alter table alter_partition_change_col1 partition (p1='abc', p2='123') replace columns (c1 string) PREHOOK: type: ALTERTABLE_REPLACECOLS PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Output: default@alter_partition_change_col1@p1=abc +PREHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 POSTHOOK: query: -- Try out replace columns -alter table alter_partition_change_col1 partition (p1='abc') replace columns (c1 string) +alter table alter_partition_change_col1 partition (p1='abc', p2='123') replace columns (c1 string) POSTHOOK: type: ALTERTABLE_REPLACECOLS POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -POSTHOOK: Output: default@alter_partition_change_col1@p1=abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 PREHOOK: query: describe alter_partition_change_col1 PREHOOK: type: DESCTABLE PREHOOK: Input: default@alter_partition_change_col1 @@ -349,56 +397,68 @@ POSTHOOK: Input: default@alter_partition_change_col1 c1 string c2 decimal(14,4) p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +p2 string +PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') PREHOOK: type: DESCTABLE PREHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') POSTHOOK: type: DESCTABLE POSTHOOK: Input: default@alter_partition_change_col1 c1 string p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: select * from alter_partition_change_col1 +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck NULL abc 123 +Beck NULL abc 123 +Beck NULL abc 123 +Cluck NULL abc 123 +Mary NULL abc 123 +Mary NULL abc 123 +Snow NULL abc 123 +Tom NULL abc 123 +Tom NULL abc 123 +Tom NULL abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0.0 __HIVE_DEFAULT_PARTITION__ -Beck 77.341 __HIVE_DEFAULT_PARTITION__ -Beck 79.9 __HIVE_DEFAULT_PARTITION__ -Beck NULL abc -Beck NULL abc -Beck NULL abc -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ -Cluck NULL abc -Mary 33.33 __HIVE_DEFAULT_PARTITION__ -Mary 4.329 __HIVE_DEFAULT_PARTITION__ -Mary NULL abc -Mary NULL abc -Snow 55.71 __HIVE_DEFAULT_PARTITION__ -Snow NULL abc -Tom -12.25 __HIVE_DEFAULT_PARTITION__ -Tom 19.00 __HIVE_DEFAULT_PARTITION__ -Tom 234.79 __HIVE_DEFAULT_PARTITION__ -Tom NULL abc -Tom NULL abc -Tom NULL abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0.0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123 +Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123 +Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19.00 __HIVE_DEFAULT_PARTITION__ 123 +Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123 PREHOOK: query: alter table alter_partition_change_col1 replace columns (c1 string) PREHOOK: type: ALTERTABLE_REPLACECOLS PREHOOK: Input: default@alter_partition_change_col1 @@ -415,43 +475,53 @@ POSTHOOK: type: DESCTABLE POSTHOOK: Input: default@alter_partition_change_col1 c1 string p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: select * from alter_partition_change_col1 +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck __HIVE_DEFAULT_PARTITION__ -Beck __HIVE_DEFAULT_PARTITION__ -Beck __HIVE_DEFAULT_PARTITION__ -Beck abc -Beck abc -Beck abc -Cluck __HIVE_DEFAULT_PARTITION__ -Cluck abc -Mary __HIVE_DEFAULT_PARTITION__ -Mary __HIVE_DEFAULT_PARTITION__ -Mary abc -Mary abc -Snow __HIVE_DEFAULT_PARTITION__ -Snow abc -Tom __HIVE_DEFAULT_PARTITION__ -Tom __HIVE_DEFAULT_PARTITION__ -Tom __HIVE_DEFAULT_PARTITION__ -Tom abc -Tom abc -Tom abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck abc 123 +Beck abc 123 +Beck abc 123 +Cluck abc 123 +Mary abc 123 +Mary abc 123 +Snow abc 123 +Tom abc 123 +Tom abc 123 +Tom abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck __HIVE_DEFAULT_PARTITION__ 123 +Beck __HIVE_DEFAULT_PARTITION__ 123 +Beck __HIVE_DEFAULT_PARTITION__ 123 +Cluck __HIVE_DEFAULT_PARTITION__ 123 +Mary __HIVE_DEFAULT_PARTITION__ 123 +Mary __HIVE_DEFAULT_PARTITION__ 123 +Snow __HIVE_DEFAULT_PARTITION__ 123 +Tom __HIVE_DEFAULT_PARTITION__ 123 +Tom __HIVE_DEFAULT_PARTITION__ 123 +Tom __HIVE_DEFAULT_PARTITION__ 123 PREHOOK: query: -- Try add columns alter table alter_partition_change_col1 add columns (c2 decimal(14,4)) PREHOOK: type: ALTERTABLE_ADDCOLS @@ -471,108 +541,216 @@ POSTHOOK: Input: default@alter_partition_change_col1 c1 string c2 decimal(14,4) p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +p2 string +PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') PREHOOK: type: DESCTABLE PREHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') POSTHOOK: type: DESCTABLE POSTHOOK: Input: default@alter_partition_change_col1 c1 string p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: select * from alter_partition_change_col1 +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0.0 __HIVE_DEFAULT_PARTITION__ -Beck 77.341 __HIVE_DEFAULT_PARTITION__ -Beck 79.9 __HIVE_DEFAULT_PARTITION__ -Beck NULL abc -Beck NULL abc -Beck NULL abc -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ -Cluck NULL abc -Mary 33.33 __HIVE_DEFAULT_PARTITION__ -Mary 4.329 __HIVE_DEFAULT_PARTITION__ -Mary NULL abc -Mary NULL abc -Snow 55.71 __HIVE_DEFAULT_PARTITION__ -Snow NULL abc -Tom -12.25 __HIVE_DEFAULT_PARTITION__ -Tom 19.00 __HIVE_DEFAULT_PARTITION__ -Tom 234.79 __HIVE_DEFAULT_PARTITION__ -Tom NULL abc -Tom NULL abc -Tom NULL abc -PREHOOK: query: alter table alter_partition_change_col1 partition (p1='abc') add columns (c2 decimal(14,4)) +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck NULL abc 123 +Beck NULL abc 123 +Beck NULL abc 123 +Cluck NULL abc 123 +Mary NULL abc 123 +Mary NULL abc 123 +Snow NULL abc 123 +Tom NULL abc 123 +Tom NULL abc 123 +Tom NULL abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0.0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123 +Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123 +Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19.00 __HIVE_DEFAULT_PARTITION__ 123 +Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123 +PREHOOK: query: alter table alter_partition_change_col1 partition (p1='abc', p2='123') add columns (c2 decimal(14,4)) PREHOOK: type: ALTERTABLE_ADDCOLS PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Output: default@alter_partition_change_col1@p1=abc -POSTHOOK: query: alter table alter_partition_change_col1 partition (p1='abc') add columns (c2 decimal(14,4)) +PREHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: query: alter table alter_partition_change_col1 partition (p1='abc', p2='123') add columns (c2 decimal(14,4)) POSTHOOK: type: ALTERTABLE_ADDCOLS POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -POSTHOOK: Output: default@alter_partition_change_col1@p1=abc -PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') PREHOOK: type: DESCTABLE PREHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc') +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') POSTHOOK: type: DESCTABLE POSTHOOK: Input: default@alter_partition_change_col1 c1 string c2 decimal(14,4) p1 string +p2 string # Partition Information # col_name data_type comment p1 string -PREHOOK: query: select * from alter_partition_change_col1 +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' PREHOOK: type: QUERY PREHOOK: Input: default@alter_partition_change_col1 -PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -PREHOOK: Input: default@alter_partition_change_col1@p1=abc +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_partition_change_col1 +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_partition_change_col1 -POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__ -POSTHOOK: Input: default@alter_partition_change_col1@p1=abc -#### A masked pattern was here #### -Beck 0.0 __HIVE_DEFAULT_PARTITION__ -Beck 0.0 abc -Beck 77.341 __HIVE_DEFAULT_PARTITION__ -Beck 77.341 abc -Beck 79.9 __HIVE_DEFAULT_PARTITION__ -Beck 79.9 abc -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ -Cluck 5.96 abc -Mary 33.33 __HIVE_DEFAULT_PARTITION__ -Mary 33.33 abc -Mary 4.329 __HIVE_DEFAULT_PARTITION__ -Mary 4.329 abc -Snow 55.71 __HIVE_DEFAULT_PARTITION__ -Snow 55.71 abc -Tom -12.25 __HIVE_DEFAULT_PARTITION__ -Tom -12.25 abc -Tom 19.00 __HIVE_DEFAULT_PARTITION__ -Tom 19.00 abc -Tom 234.79 __HIVE_DEFAULT_PARTITION__ -Tom 234.79 abc +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck 0.0 abc 123 +Beck 77.341 abc 123 +Beck 79.9 abc 123 +Cluck 5.96 abc 123 +Mary 33.33 abc 123 +Mary 4.329 abc 123 +Snow 55.71 abc 123 +Tom -12.25 abc 123 +Tom 19.00 abc 123 +Tom 234.79 abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0.0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123 +Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123 +Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19.00 __HIVE_DEFAULT_PARTITION__ 123 +Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123 +PREHOOK: query: -- Try changing column for all partitions at once +alter table alter_partition_change_col1 partition (p1, p2='123') change column c2 c2 decimal(10,0) +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +PREHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: query: -- Try changing column for all partitions at once +alter table alter_partition_change_col1 partition (p1, p2='123') change column c2 c2 decimal(10,0) +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +POSTHOOK: Output: default@alter_partition_change_col1@p1=abc/p2=123 +PREHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='abc', p2='123') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@alter_partition_change_col1 +c1 string +c2 decimal(10,0) +p1 string +p2 string + +# Partition Information +# col_name data_type comment + +p1 string +p2 string +PREHOOK: query: describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: query: describe alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@alter_partition_change_col1 +c1 string +c2 decimal(10,0) +p1 string +p2 string + +# Partition Information +# col_name data_type comment + +p1 string +p2 string +PREHOOK: query: select * from alter_partition_change_col1 where p1='abc' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='abc' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123 +#### A masked pattern was here #### +Beck 0 abc 123 +Beck 77 abc 123 +Beck 80 abc 123 +Cluck 6 abc 123 +Mary 33 abc 123 +Mary 4 abc 123 +Snow 56 abc 123 +Tom -12 abc 123 +Tom 19 abc 123 +Tom 235 abc 123 +PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +PREHOOK: type: QUERY +PREHOOK: Input: default@alter_partition_change_col1 +PREHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +POSTHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@alter_partition_change_col1 +POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123 +#### A masked pattern was here #### +Beck 0 __HIVE_DEFAULT_PARTITION__ 123 +Beck 77 __HIVE_DEFAULT_PARTITION__ 123 +Beck 80 __HIVE_DEFAULT_PARTITION__ 123 +Cluck 6 __HIVE_DEFAULT_PARTITION__ 123 +Mary 33 __HIVE_DEFAULT_PARTITION__ 123 +Mary 4 __HIVE_DEFAULT_PARTITION__ 123 +Snow 56 __HIVE_DEFAULT_PARTITION__ 123 +Tom -12 __HIVE_DEFAULT_PARTITION__ 123 +Tom 19 __HIVE_DEFAULT_PARTITION__ 123 +Tom 235 __HIVE_DEFAULT_PARTITION__ 123