This is an automated email from the ASF dual-hosted git repository.

ayushtkn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new fb6ea615f98 HIVE-29782: ALTER VIEW ADD PARTITION does not honor non 
string partition columns (#6658)
fb6ea615f98 is described below

commit fb6ea615f98f39ce0283c8179b65fa84eec0e58c
Author: ramitg254 <[email protected]>
AuthorDate: Tue Aug 18 07:34:45 2026 +0530

    HIVE-29782: ALTER VIEW ADD PARTITION does not honor non string partition 
columns (#6658)
---
 .../src/test/queries/positive/iceberg_view.q       |  21 ++-
 .../src/test/results/positive/iceberg_view.q.out   |  68 ++++++++
 .../add/AlterViewAddPartitionAnalyzer.java         |  27 ++-
 .../ql/ddl/view/create/CreateViewAnalyzer.java     |  10 +-
 .../partitioned_view_add_parts_complex.q           |   5 +
 .../clientpositive/partitioned_view_add_parts.q    |  32 ++++
 .../partitioned_view_add_parts_complex.q.out       |  19 ++
 .../llap/partitioned_view_add_parts.q.out          | 193 +++++++++++++++++++++
 8 files changed, 370 insertions(+), 5 deletions(-)

diff --git a/iceberg/iceberg-handler/src/test/queries/positive/iceberg_view.q 
b/iceberg/iceberg-handler/src/test/queries/positive/iceberg_view.q
index 037b67371b1..4ac94d06a12 100644
--- a/iceberg/iceberg-handler/src/test/queries/positive/iceberg_view.q
+++ b/iceberg/iceberg-handler/src/test/queries/positive/iceberg_view.q
@@ -75,6 +75,25 @@ select * from v_hive;
 desc formatted v_hive;
 drop view v_hive;
 
+-----------------------------------------------------------------------------------------
+-- Native Hive partitioned view on Iceberg base table
+-----------------------------------------------------------------------------------------
+
+create view v_hive_part partitioned on (dept_id) as
+  select first_name, last_name, dept_id from src_ice;
+
+alter view v_hive_part add partition (dept_id=1);
+
+show partitions v_hive_part;
+
+select first_name from v_hive_part where dept_id=1 order by first_name;
+
+alter view v_hive_part drop partition (dept_id=1);
+
+show partitions v_hive_part;
+
+drop view v_hive_part;
+
 
-----------------------------------------------------------------------------------------
 -- Replace Iceberg logical view with a Hive-native logical view
 
-----------------------------------------------------------------------------------------
@@ -84,4 +103,4 @@ as select first_name from src_ice where dept_id = 2;
 
 select * from v_ice;
 desc formatted v_ice;
-drop view v_ice;
\ No newline at end of file
+drop view v_ice;
diff --git 
a/iceberg/iceberg-handler/src/test/results/positive/iceberg_view.q.out 
b/iceberg/iceberg-handler/src/test/results/positive/iceberg_view.q.out
index ad072ca1c23..e9e352e5248 100644
--- a/iceberg/iceberg-handler/src/test/results/positive/iceberg_view.q.out
+++ b/iceberg/iceberg-handler/src/test/results/positive/iceberg_view.q.out
@@ -309,6 +309,74 @@ POSTHOOK: query: drop view v_hive
 POSTHOOK: type: DROPVIEW
 POSTHOOK: Input: ice_native_view_db@v_hive
 POSTHOOK: Output: ice_native_view_db@v_hive
+PREHOOK: query: create view v_hive_part partitioned on (dept_id) as
+  select first_name, last_name, dept_id from src_ice
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: ice_native_view_db@src_ice
+PREHOOK: Output: database:ice_native_view_db
+PREHOOK: Output: ice_native_view_db@v_hive_part
+POSTHOOK: query: create view v_hive_part partitioned on (dept_id) as
+  select first_name, last_name, dept_id from src_ice
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: ice_native_view_db@src_ice
+POSTHOOK: Output: database:ice_native_view_db
+POSTHOOK: Output: ice_native_view_db@v_hive_part
+POSTHOOK: Lineage: v_hive_part.first_name SIMPLE 
[(src_ice)src_ice.FieldSchema(name:first_name, type:string, comment:null), ]
+POSTHOOK: Lineage: v_hive_part.last_name SIMPLE 
[(src_ice)src_ice.FieldSchema(name:last_name, type:string, comment:null), ]
+PREHOOK: query: alter view v_hive_part add partition (dept_id=1)
+PREHOOK: type: ALTERTABLE_ADDPARTS
+PREHOOK: Input: ice_native_view_db@src_ice
+PREHOOK: Input: ice_native_view_db@v_hive_part
+PREHOOK: Output: ice_native_view_db@v_hive_part
+POSTHOOK: query: alter view v_hive_part add partition (dept_id=1)
+POSTHOOK: type: ALTERTABLE_ADDPARTS
+POSTHOOK: Input: ice_native_view_db@src_ice
+POSTHOOK: Input: ice_native_view_db@v_hive_part
+POSTHOOK: Output: ice_native_view_db@v_hive_part
+POSTHOOK: Output: ice_native_view_db@v_hive_part@dept_id=1
+PREHOOK: query: show partitions v_hive_part
+PREHOOK: type: SHOWPARTITIONS
+PREHOOK: Input: ice_native_view_db@v_hive_part
+POSTHOOK: query: show partitions v_hive_part
+POSTHOOK: type: SHOWPARTITIONS
+POSTHOOK: Input: ice_native_view_db@v_hive_part
+dept_id=1
+PREHOOK: query: select first_name from v_hive_part where dept_id=1 order by 
first_name
+PREHOOK: type: QUERY
+PREHOOK: Input: ice_native_view_db@src_ice
+PREHOOK: Input: ice_native_view_db@v_hive_part
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: select first_name from v_hive_part where dept_id=1 order by 
first_name
+POSTHOOK: type: QUERY
+POSTHOOK: Input: ice_native_view_db@src_ice
+POSTHOOK: Input: ice_native_view_db@v_hive_part
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+fn1
+fn2
+fn3
+fn4
+PREHOOK: query: alter view v_hive_part drop partition (dept_id=1)
+PREHOOK: type: ALTERTABLE_DROPPARTS
+PREHOOK: Input: ice_native_view_db@v_hive_part
+PREHOOK: Output: ice_native_view_db@v_hive_part@dept_id=1
+POSTHOOK: query: alter view v_hive_part drop partition (dept_id=1)
+POSTHOOK: type: ALTERTABLE_DROPPARTS
+POSTHOOK: Input: ice_native_view_db@v_hive_part
+POSTHOOK: Output: ice_native_view_db@v_hive_part@dept_id=1
+PREHOOK: query: show partitions v_hive_part
+PREHOOK: type: SHOWPARTITIONS
+PREHOOK: Input: ice_native_view_db@v_hive_part
+POSTHOOK: query: show partitions v_hive_part
+POSTHOOK: type: SHOWPARTITIONS
+POSTHOOK: Input: ice_native_view_db@v_hive_part
+PREHOOK: query: drop view v_hive_part
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: ice_native_view_db@v_hive_part
+PREHOOK: Output: ice_native_view_db@v_hive_part
+POSTHOOK: query: drop view v_hive_part
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: ice_native_view_db@v_hive_part
+POSTHOOK: Output: ice_native_view_db@v_hive_part
 PREHOOK: query: create or replace view v_ice 
 as select first_name from src_ice where dept_id = 2
 PREHOOK: type: CREATEVIEW
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/add/AlterViewAddPartitionAnalyzer.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/add/AlterViewAddPartitionAnalyzer.java
index 213d59e636c..35a180b778d 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/add/AlterViewAddPartitionAnalyzer.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/add/AlterViewAddPartitionAnalyzer.java
@@ -22,6 +22,7 @@
 import java.util.Map;
 
 import org.apache.hadoop.hive.common.TableName;
+import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.ql.Driver;
 import org.apache.hadoop.hive.ql.ErrorMsg;
 import org.apache.hadoop.hive.ql.QueryState;
@@ -32,6 +33,15 @@
 import org.apache.hadoop.hive.ql.metadata.Table;
 import org.apache.hadoop.hive.ql.parse.HiveParser;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
+import org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc;
+import org.apache.hadoop.hive.serde.serdeConstants;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters;
+import 
org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.hive.serde2.typeinfo.BaseCharTypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
 
 /**
  * Analyzer for add partition commands for views.
@@ -80,10 +90,10 @@ protected void postProcess(TableName tableName, Table 
table, AlterTableAddPartit
         } else {
           where.append(" AND ");
         }
+        FieldSchema partCol = table.getColumnByName(entry.getKey());
         where.append(HiveUtils.unparseIdentifier(entry.getKey(), conf));
-        where.append(" = '");
-        where.append(HiveUtils.escapeString(entry.getValue()));
-        where.append("'");
+        where.append(" = ");
+        where.append(formatPartitionLiteral(partCol, entry.getValue()));
       }
       where.append(")");
     }
@@ -98,4 +108,15 @@ protected void postProcess(TableName tableName, Table 
table, AlterTableAddPartit
       inputs.addAll(driver.getPlan().getInputs());
     }
   }
+
+  private static String formatPartitionLiteral(FieldSchema partCol, String 
partSpecValue) {
+    TypeInfo typeInfo = 
TypeInfoFactory.getPrimitiveTypeInfo(partCol.getType());
+    if (typeInfo.getTypeName().equals(serdeConstants.STRING_TYPE_NAME) || 
typeInfo instanceof BaseCharTypeInfo) {
+      return "'" + HiveUtils.escapeString(partSpecValue) + "'";
+    }
+    ObjectInspector partColOI = 
TypeInfoUtils.getStandardJavaObjectInspectorFromTypeInfo(typeInfo);
+    Object converted = ObjectInspectorConverters.getConverter(
+        PrimitiveObjectInspectorFactory.javaStringObjectInspector, 
partColOI).convert(partSpecValue);
+    return new ExprNodeConstantDesc(typeInfo, converted).getExprString();
+  }
 }
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/create/CreateViewAnalyzer.java 
b/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/create/CreateViewAnalyzer.java
index 4b18ff89720..3b88c001188 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/create/CreateViewAnalyzer.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/create/CreateViewAnalyzer.java
@@ -32,9 +32,9 @@
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.ql.ErrorMsg;
 import org.apache.hadoop.hive.ql.QueryState;
-import org.apache.hadoop.hive.ql.ddl.DDLWork;
 import org.apache.hadoop.hive.ql.ddl.DDLSemanticAnalyzerFactory.DDLType;
 import org.apache.hadoop.hive.ql.ddl.DDLUtils;
+import org.apache.hadoop.hive.ql.ddl.DDLWork;
 import org.apache.hadoop.hive.ql.exec.TaskFactory;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
 import org.apache.hadoop.hive.ql.metadata.HiveStorageHandler;
@@ -46,6 +46,9 @@
 import org.apache.hadoop.hive.ql.parse.SemanticAnalyzer;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
 import org.apache.hadoop.hive.ql.parse.StorageFormat;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
 
 /**
  * Analyzer for create view commands.
@@ -190,6 +193,11 @@ private List<FieldSchema> getPartitionColumns(List<String> 
partitionColumnNames)
     while (columnNameIterator.hasNext()) {
       String columnName = columnNameIterator.next();
       FieldSchema fieldSchema = schemaIterator.next();
+      TypeInfo typeInfo = 
TypeInfoUtils.getTypeInfoFromTypeString(fieldSchema.getType());
+      if (typeInfo.getCategory() != ObjectInspector.Category.PRIMITIVE) {
+        throw new 
SemanticException(ErrorMsg.PARTITION_COLUMN_NON_PRIMITIVE.getMsg() + " Found "
+            + columnName + " of type: " + fieldSchema.getType());
+      }
       if (!fieldSchema.getName().equals(columnName)) {
         throw new SemanticException(ErrorMsg.VIEW_PARTITION_MISMATCH.getMsg());
       }
diff --git 
a/ql/src/test/queries/clientnegative/partitioned_view_add_parts_complex.q 
b/ql/src/test/queries/clientnegative/partitioned_view_add_parts_complex.q
new file mode 100644
index 00000000000..034aa7e81b1
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/partitioned_view_add_parts_complex.q
@@ -0,0 +1,5 @@
+-- Negative: non-primitive partition column on CREATE VIEW 
(PARTITION_COLUMN_NON_PRIMITIVE)
+create table pv_complex_src (id int, p struct<f:string>) stored as orc;
+insert into pv_complex_src values (1, named_struct('f', 'x'));
+
+create view pv_complex partitioned on (p) as select id, p from pv_complex_src;
diff --git a/ql/src/test/queries/clientpositive/partitioned_view_add_parts.q 
b/ql/src/test/queries/clientpositive/partitioned_view_add_parts.q
new file mode 100644
index 00000000000..db317f307de
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/partitioned_view_add_parts.q
@@ -0,0 +1,32 @@
+create table src_t (
+  label string,
+  p_int int,
+  p_bool boolean,
+  p_date date,
+  p_dec decimal(10,2)
+) stored as orc;
+
+insert into src_t values
+  ('row1', 42, true, '2024-06-01', 99.50);
+
+create view vp_int partitioned on (p_int) as select label, p_int from src_t;
+alter view vp_int add partition (p_int=42);
+show partitions vp_int;
+
+create view vp_bool partitioned on (p_bool) as select label, p_bool from src_t;
+alter view vp_bool add partition (p_bool=true);
+show partitions vp_bool;
+
+create view vp_date partitioned on (p_date) as select label, p_date from src_t;
+alter view vp_date add partition (p_date='2024-06-01');
+show partitions vp_date;
+
+create view vp_dec partitioned on (p_dec) as select label, p_dec from src_t;
+alter view vp_dec add partition (p_dec=99.50);
+show partitions vp_dec;
+
+drop view vp_int;
+drop view vp_bool;
+drop view vp_date;
+drop view vp_dec;
+drop table src_t;
diff --git 
a/ql/src/test/results/clientnegative/partitioned_view_add_parts_complex.q.out 
b/ql/src/test/results/clientnegative/partitioned_view_add_parts_complex.q.out
new file mode 100644
index 00000000000..0e9fa008275
--- /dev/null
+++ 
b/ql/src/test/results/clientnegative/partitioned_view_add_parts_complex.q.out
@@ -0,0 +1,19 @@
+PREHOOK: query: create table pv_complex_src (id int, p struct<f:string>) 
stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@pv_complex_src
+POSTHOOK: query: create table pv_complex_src (id int, p struct<f:string>) 
stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@pv_complex_src
+PREHOOK: query: insert into pv_complex_src values (1, named_struct('f', 'x'))
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@pv_complex_src
+POSTHOOK: query: insert into pv_complex_src values (1, named_struct('f', 'x'))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@pv_complex_src
+POSTHOOK: Lineage: pv_complex_src.id SCRIPT []
+POSTHOOK: Lineage: pv_complex_src.p SCRIPT []
+FAILED: SemanticException [Error 10126]: Partition column must be of primitive 
type. Found p of type: struct<f:string>
diff --git 
a/ql/src/test/results/clientpositive/llap/partitioned_view_add_parts.q.out 
b/ql/src/test/results/clientpositive/llap/partitioned_view_add_parts.q.out
new file mode 100644
index 00000000000..035ca5781a7
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/partitioned_view_add_parts.q.out
@@ -0,0 +1,193 @@
+PREHOOK: query: create table src_t (
+  label string,
+  p_int int,
+  p_bool boolean,
+  p_date date,
+  p_dec decimal(10,2)
+) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_t
+POSTHOOK: query: create table src_t (
+  label string,
+  p_int int,
+  p_bool boolean,
+  p_date date,
+  p_dec decimal(10,2)
+) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_t
+PREHOOK: query: insert into src_t values
+  ('row1', 42, true, '2024-06-01', 99.50)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@src_t
+POSTHOOK: query: insert into src_t values
+  ('row1', 42, true, '2024-06-01', 99.50)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@src_t
+POSTHOOK: Lineage: src_t.label SCRIPT []
+POSTHOOK: Lineage: src_t.p_bool SCRIPT []
+POSTHOOK: Lineage: src_t.p_date SCRIPT []
+POSTHOOK: Lineage: src_t.p_dec SCRIPT []
+POSTHOOK: Lineage: src_t.p_int SCRIPT []
+PREHOOK: query: create view vp_int partitioned on (p_int) as select label, 
p_int from src_t
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@src_t
+PREHOOK: Output: database:default
+PREHOOK: Output: default@vp_int
+POSTHOOK: query: create view vp_int partitioned on (p_int) as select label, 
p_int from src_t
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@src_t
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@vp_int
+POSTHOOK: Lineage: vp_int.label SIMPLE [(src_t)src_t.FieldSchema(name:label, 
type:string, comment:null), ]
+PREHOOK: query: alter view vp_int add partition (p_int=42)
+PREHOOK: type: ALTERTABLE_ADDPARTS
+PREHOOK: Input: default@src_t
+PREHOOK: Input: default@vp_int
+PREHOOK: Output: default@vp_int
+POSTHOOK: query: alter view vp_int add partition (p_int=42)
+POSTHOOK: type: ALTERTABLE_ADDPARTS
+POSTHOOK: Input: default@src_t
+POSTHOOK: Input: default@vp_int
+POSTHOOK: Output: default@vp_int
+POSTHOOK: Output: default@vp_int@p_int=42
+PREHOOK: query: show partitions vp_int
+PREHOOK: type: SHOWPARTITIONS
+PREHOOK: Input: default@vp_int
+POSTHOOK: query: show partitions vp_int
+POSTHOOK: type: SHOWPARTITIONS
+POSTHOOK: Input: default@vp_int
+p_int=42
+PREHOOK: query: create view vp_bool partitioned on (p_bool) as select label, 
p_bool from src_t
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@src_t
+PREHOOK: Output: database:default
+PREHOOK: Output: default@vp_bool
+POSTHOOK: query: create view vp_bool partitioned on (p_bool) as select label, 
p_bool from src_t
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@src_t
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@vp_bool
+POSTHOOK: Lineage: vp_bool.label SIMPLE [(src_t)src_t.FieldSchema(name:label, 
type:string, comment:null), ]
+PREHOOK: query: alter view vp_bool add partition (p_bool=true)
+PREHOOK: type: ALTERTABLE_ADDPARTS
+PREHOOK: Input: default@src_t
+PREHOOK: Input: default@vp_bool
+PREHOOK: Output: default@vp_bool
+POSTHOOK: query: alter view vp_bool add partition (p_bool=true)
+POSTHOOK: type: ALTERTABLE_ADDPARTS
+POSTHOOK: Input: default@src_t
+POSTHOOK: Input: default@vp_bool
+POSTHOOK: Output: default@vp_bool
+POSTHOOK: Output: default@vp_bool@p_bool=true
+PREHOOK: query: show partitions vp_bool
+PREHOOK: type: SHOWPARTITIONS
+PREHOOK: Input: default@vp_bool
+POSTHOOK: query: show partitions vp_bool
+POSTHOOK: type: SHOWPARTITIONS
+POSTHOOK: Input: default@vp_bool
+p_bool=true
+PREHOOK: query: create view vp_date partitioned on (p_date) as select label, 
p_date from src_t
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@src_t
+PREHOOK: Output: database:default
+PREHOOK: Output: default@vp_date
+POSTHOOK: query: create view vp_date partitioned on (p_date) as select label, 
p_date from src_t
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@src_t
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@vp_date
+POSTHOOK: Lineage: vp_date.label SIMPLE [(src_t)src_t.FieldSchema(name:label, 
type:string, comment:null), ]
+PREHOOK: query: alter view vp_date add partition (p_date='2024-06-01')
+PREHOOK: type: ALTERTABLE_ADDPARTS
+PREHOOK: Input: default@src_t
+PREHOOK: Input: default@vp_date
+PREHOOK: Output: default@vp_date
+POSTHOOK: query: alter view vp_date add partition (p_date='2024-06-01')
+POSTHOOK: type: ALTERTABLE_ADDPARTS
+POSTHOOK: Input: default@src_t
+POSTHOOK: Input: default@vp_date
+POSTHOOK: Output: default@vp_date
+POSTHOOK: Output: default@vp_date@p_date=2024-06-01
+PREHOOK: query: show partitions vp_date
+PREHOOK: type: SHOWPARTITIONS
+PREHOOK: Input: default@vp_date
+POSTHOOK: query: show partitions vp_date
+POSTHOOK: type: SHOWPARTITIONS
+POSTHOOK: Input: default@vp_date
+p_date=2024-06-01
+PREHOOK: query: create view vp_dec partitioned on (p_dec) as select label, 
p_dec from src_t
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@src_t
+PREHOOK: Output: database:default
+PREHOOK: Output: default@vp_dec
+POSTHOOK: query: create view vp_dec partitioned on (p_dec) as select label, 
p_dec from src_t
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@src_t
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@vp_dec
+POSTHOOK: Lineage: vp_dec.label SIMPLE [(src_t)src_t.FieldSchema(name:label, 
type:string, comment:null), ]
+PREHOOK: query: alter view vp_dec add partition (p_dec=99.50)
+PREHOOK: type: ALTERTABLE_ADDPARTS
+PREHOOK: Input: default@src_t
+PREHOOK: Input: default@vp_dec
+PREHOOK: Output: default@vp_dec
+POSTHOOK: query: alter view vp_dec add partition (p_dec=99.50)
+POSTHOOK: type: ALTERTABLE_ADDPARTS
+POSTHOOK: Input: default@src_t
+POSTHOOK: Input: default@vp_dec
+POSTHOOK: Output: default@vp_dec
+POSTHOOK: Output: default@vp_dec@p_dec=99.5
+PREHOOK: query: show partitions vp_dec
+PREHOOK: type: SHOWPARTITIONS
+PREHOOK: Input: default@vp_dec
+POSTHOOK: query: show partitions vp_dec
+POSTHOOK: type: SHOWPARTITIONS
+POSTHOOK: Input: default@vp_dec
+p_dec=99.5
+PREHOOK: query: drop view vp_int
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@vp_int
+PREHOOK: Output: default@vp_int
+POSTHOOK: query: drop view vp_int
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@vp_int
+POSTHOOK: Output: default@vp_int
+PREHOOK: query: drop view vp_bool
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@vp_bool
+PREHOOK: Output: default@vp_bool
+POSTHOOK: query: drop view vp_bool
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@vp_bool
+POSTHOOK: Output: default@vp_bool
+PREHOOK: query: drop view vp_date
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@vp_date
+PREHOOK: Output: default@vp_date
+POSTHOOK: query: drop view vp_date
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@vp_date
+POSTHOOK: Output: default@vp_date
+PREHOOK: query: drop view vp_dec
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@vp_dec
+PREHOOK: Output: default@vp_dec
+POSTHOOK: query: drop view vp_dec
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@vp_dec
+POSTHOOK: Output: default@vp_dec
+PREHOOK: query: drop table src_t
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_t
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_t
+POSTHOOK: query: drop table src_t
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_t
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_t

Reply via email to