From 225bab1b297887feb6b2691e8e6abd47ab4bb02b Mon Sep 17 00:00:00 2001 From: tanishq-chugh Date: Wed, 27 May 2026 20:39:51 +0530 Subject: [PATCH] HIVE-29262: Incorrect column ordering output in case of different ordering of mutual columns in query & window function --- .../ql/optimizer/physical/Vectorizer.java | 23 +- ql/src/test/queries/clientpositive/lead_vec.q | 149 + .../clientpositive/llap/lead_vec.q.out | 14322 ++++++++++++++++ 3 files changed, 14490 insertions(+), 4 deletions(-) create mode 100644 ql/src/test/queries/clientpositive/lead_vec.q create mode 100644 ql/src/test/results/clientpositive/llap/lead_vec.q.out diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java index f4b4c2ff3bad..08d396ae3f4c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java @@ -5161,13 +5161,11 @@ private static VectorPTFInfo createVectorPTFInfo(Operator partitionExpressionByOutputColumn = new HashMap<>(); for (int i = 0; i < partitionKeyCount; i++) { VectorExpression partitionExpression = vContext.getVectorExpression(partitionExprNodeDescs[i]); - TypeInfo typeInfo = partitionExpression.getOutputTypeInfo(); - Type columnVectorType = VectorizationContext.getColumnVectorTypeFromTypeInfo(typeInfo); - partitionColumnVectorTypes[i] = columnVectorType; partitionColumnMap[i] = partitionExpression.getOutputColumnNum(); - partitionExpressions[i] = partitionExpression; + partitionExpressionByOutputColumn.put(partitionColumnMap[i], partitionExpression); } final int orderKeyCount = orderExprNodeDescs.length; @@ -5190,6 +5188,23 @@ private static VectorPTFInfo createVectorPTFInfo(Operator