Index: ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java (working copy) @@ -19,9 +19,9 @@ package org.apache.hadoop.hive.ql.exec; import java.io.Serializable; -import java.util.ArrayList; +import java.util.ArrayDeque; +import java.util.Deque; import java.util.List; -import java.util.Stack; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.conf.HiveConf; @@ -32,10 +32,10 @@ import org.apache.hadoop.hive.ql.plan.PTFDesc; import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFExpressionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFInputDef; -import org.apache.hadoop.hive.ql.plan.PTFDesc.PartitionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PartitionedTableFunctionDef; import org.apache.hadoop.hive.ql.plan.PTFDeserializer; import org.apache.hadoop.hive.ql.plan.api.OperatorType; +import org.apache.hadoop.hive.ql.plan.ptf.PartitionDef; import org.apache.hadoop.hive.ql.udf.generic.GenericUDFLeadLag; import org.apache.hadoop.hive.ql.udf.ptf.TableFunctionEvaluator; import org.apache.hadoop.hive.serde2.SerDe; @@ -147,7 +147,7 @@ protected void setupKeysWrapper(ObjectInspector inputOI) throws HiveException { PartitionDef pDef = conf.getStartOfChain().getPartition(); - ArrayList exprs = pDef.getExpressions(); + List exprs = pDef.getExpressions(); int numExprs = exprs.size(); ExprNodeEvaluator[] keyFields = new ExprNodeEvaluator[numExprs]; ObjectInspector[] keyOIs = new ObjectInspector[numExprs]; @@ -220,7 +220,7 @@ */ private PTFPartition executeChain(PTFPartition part) throws HiveException { - Stack fnDefs = new Stack(); + Deque fnDefs = new ArrayDeque(); PTFInputDef iDef = conf.getFuncDef(); while (iDef instanceof PartitionedTableFunctionDef) { @@ -289,6 +289,4 @@ } } - - } Index: ql/src/java/org/apache/hadoop/hive/ql/parse/PTFTranslator.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/PTFTranslator.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/PTFTranslator.java (working copy) @@ -62,12 +62,9 @@ import org.apache.hadoop.hive.ql.plan.PTFDesc; import org.apache.hadoop.hive.ql.plan.PTFDesc.BoundaryDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.CurrentRowDef; -import org.apache.hadoop.hive.ql.plan.PTFDesc.OrderDef; -import org.apache.hadoop.hive.ql.plan.PTFDesc.OrderExpressionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFExpressionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFInputDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFQueryInputDef; -import org.apache.hadoop.hive.ql.plan.PTFDesc.PartitionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PartitionedTableFunctionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.RangeBoundaryDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.ShapeDetails; @@ -76,6 +73,9 @@ import org.apache.hadoop.hive.ql.plan.PTFDesc.WindowFunctionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.WindowTableFunctionDef; import org.apache.hadoop.hive.ql.plan.PTFDeserializer; +import org.apache.hadoop.hive.ql.plan.ptf.OrderDef; +import org.apache.hadoop.hive.ql.plan.ptf.OrderExpressionDef; +import org.apache.hadoop.hive.ql.plan.ptf.PartitionDef; import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; import org.apache.hadoop.hive.ql.udf.generic.GenericUDFLeadLag; import org.apache.hadoop.hive.ql.udf.ptf.TableFunctionEvaluator; @@ -303,7 +303,7 @@ if (tFn.transformsRawInput()) { StructObjectInspector rawInOutOI = tEval.getRawInputOI(); - ArrayList rawInOutColNames = tFn.getRawInputColumnNames(); + List rawInOutColNames = tFn.getRawInputColumnNames(); RowResolver rawInRR = buildRowResolverForPTF(def.getName(), spec.getAlias(), rawInOutOI, @@ -324,7 +324,7 @@ tFn.setupOutputOI(); StructObjectInspector outputOI = tEval.getOutputOI(); - ArrayList outColNames = tFn.getOutputColumnNames(); + List outColNames = tFn.getOutputColumnNames(); RowResolver outRR = buildRowResolverForPTF(def.getName(), spec.getAlias(), outputOI, @@ -619,7 +619,7 @@ } private ShapeDetails setupTableFnShape(String fnName, ShapeDetails inpShape, - StructObjectInspector OI, ArrayList columnNames, RowResolver rr) + StructObjectInspector OI, List columnNames, RowResolver rr) throws SemanticException { if (fnName.equals(FunctionRegistry.NOOP_TABLE_FUNCTION) || fnName.equals( @@ -630,7 +630,7 @@ } private ShapeDetails setupShape(StructObjectInspector OI, - ArrayList columnNames, + List columnNames, RowResolver rr) throws SemanticException { Map serdePropsMap = new LinkedHashMap(); SerDe serde = null; @@ -672,7 +672,7 @@ private ShapeDetails setupShapeForNoop(ShapeDetails inpShape, StructObjectInspector OI, - ArrayList columnNames, + List columnNames, RowResolver rr) throws SemanticException { ShapeDetails shp = new ShapeDetails(); @@ -738,7 +738,7 @@ throw new SemanticException("Ranking Functions can take no arguments"); } OrderDef oDef = wdwTFnDef.getOrder(); - ArrayList oExprs = oDef.getExpressions(); + List oExprs = oDef.getExpressions(); for (OrderExpressionDef oExpr : oExprs) { wFnDef.addArg(oExpr); } @@ -871,7 +871,7 @@ protected static RowResolver buildRowResolverForPTF(String tbFnName, String tabAlias, StructObjectInspector rowObjectInspector, - ArrayList outputColNames, RowResolver inputRR) throws SemanticException { + List outputColNames, RowResolver inputRR) throws SemanticException { if (tbFnName.equals(FunctionRegistry.NOOP_TABLE_FUNCTION) || tbFnName.equals(FunctionRegistry.NOOP_MAP_TABLE_FUNCTION)) { Index: ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (working copy) @@ -139,7 +139,6 @@ import org.apache.hadoop.hive.ql.plan.MapJoinDesc; import org.apache.hadoop.hive.ql.plan.OperatorDesc; import org.apache.hadoop.hive.ql.plan.PTFDesc; -import org.apache.hadoop.hive.ql.plan.PTFDesc.OrderExpressionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFExpressionDef; import org.apache.hadoop.hive.ql.plan.PTFDesc.PartitionedTableFunctionDef; import org.apache.hadoop.hive.ql.plan.PlanUtils; @@ -150,6 +149,7 @@ import org.apache.hadoop.hive.ql.plan.TableScanDesc; import org.apache.hadoop.hive.ql.plan.UDTFDesc; import org.apache.hadoop.hive.ql.plan.UnionDesc; +import org.apache.hadoop.hive.ql.plan.ptf.OrderExpressionDef; import org.apache.hadoop.hive.ql.session.SessionState; import org.apache.hadoop.hive.ql.session.SessionState.ResourceType; import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; @@ -9935,7 +9935,7 @@ RowResolver rsOpRR, RowResolver extractRR) throws SemanticException { - ArrayList partColList = tabDef.getPartition().getExpressions(); + List partColList = tabDef.getPartition().getExpressions(); for (PTFExpressionDef colDef : partColList) { partCols.add(colDef.getExprNode()); @@ -9950,7 +9950,7 @@ * we need to set includeKeyCols = false while creating the * ReduceSinkDesc */ - ArrayList orderColList = tabDef.getOrder().getExpressions(); + List orderColList = tabDef.getOrder().getExpressions(); for (int i = 0; i < orderColList.size(); i++) { OrderExpressionDef colDef = orderColList.get(i); org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order order = colDef.getOrder(); Index: ql/src/java/org/apache/hadoop/hive/ql/plan/PTFDesc.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/PTFDesc.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/PTFDesc.java (working copy) @@ -19,6 +19,7 @@ package org.apache.hadoop.hive.ql.plan; import java.util.ArrayList; +import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; @@ -26,12 +27,13 @@ import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator; import org.apache.hadoop.hive.ql.exec.PTFUtils; -import org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order; import org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.PTFQueryInputType; import org.apache.hadoop.hive.ql.parse.PTFTranslator.LeadLagInfo; import org.apache.hadoop.hive.ql.parse.RowResolver; import org.apache.hadoop.hive.ql.parse.TypeCheckCtx; import org.apache.hadoop.hive.ql.parse.WindowingSpec.Direction; +import org.apache.hadoop.hive.ql.plan.ptf.OrderDef; +import org.apache.hadoop.hive.ql.plan.ptf.PartitionDef; import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; import org.apache.hadoop.hive.ql.udf.ptf.TableFunctionEvaluator; import org.apache.hadoop.hive.serde2.SerDe; @@ -39,8 +41,7 @@ import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector; @Explain(displayName = "PTF Operator") -public class PTFDesc extends AbstractOperatorDesc -{ +public class PTFDesc extends AbstractOperatorDesc { private static final long serialVersionUID = 1L; @SuppressWarnings("unused") private static final Log LOG = LogFactory.getLog(PTFDesc.class.getName()); @@ -252,13 +253,13 @@ public static class ShapeDetails { String serdeClassName; Map serdeProps; - ArrayList columnNames; + List columnNames; transient StructObjectInspector OI; transient SerDe serde; transient RowResolver rr; transient TypeCheckCtx typeCheckCtx; - static{ + static { PTFUtils.makeTransient(ShapeDetails.class, "OI", "serde", "rr", "typeCheckCtx"); } @@ -278,11 +279,11 @@ this.serdeProps = serdeProps; } - public ArrayList getColumnNames() { + public List getColumnNames() { return columnNames; } - public void setColumnNames(ArrayList columnNames) { + public void setColumnNames(List columnNames) { this.columnNames = columnNames; } @@ -319,65 +320,7 @@ } } - public static class PartitionDef { - ArrayList expressions; - public ArrayList getExpressions() { - return expressions; - } - - public void setExpressions(ArrayList expressions) { - this.expressions = expressions; - } - public void addExpression(PTFExpressionDef e) { - expressions = expressions == null ? new ArrayList() : expressions; - expressions.add(e); - } - } - - public static class OrderDef { - ArrayList expressions; - - public OrderDef() {} - - public OrderDef(PartitionDef pDef) { - for(PTFExpressionDef eDef : pDef.getExpressions()) - { - addExpression(new OrderExpressionDef(eDef)); - } - } - - public ArrayList getExpressions() { - return expressions; - } - - public void setExpressions(ArrayList expressions) { - this.expressions = expressions; - } - public void addExpression(OrderExpressionDef e) { - expressions = expressions == null ? new ArrayList() : expressions; - expressions.add(e); - } - } - - public static class OrderExpressionDef extends PTFExpressionDef { - Order order; - - public OrderExpressionDef() {} - public OrderExpressionDef(PTFExpressionDef e) { - super(e); - order = Order.ASC; - } - - public Order getOrder() { - return order; - } - - public void setOrder(Order order) { - this.order = order; - } - } - public static class WindowExpressionDef extends PTFExpressionDef { String alias; Index: ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/OrderDef.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/OrderDef.java (revision 0) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/OrderDef.java (working copy) @@ -0,0 +1,31 @@ +package org.apache.hadoop.hive.ql.plan.ptf; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFExpressionDef; + +public class OrderDef { + List expressions; + + public OrderDef() {} + + public OrderDef(PartitionDef pDef) { + for(PTFExpressionDef eDef : pDef.getExpressions()) { + addExpression(new OrderExpressionDef(eDef)); + } + } + + public List getExpressions() { + return expressions; + } + + public void setExpressions(ArrayList expressions) { + this.expressions = expressions; + } + public void addExpression(OrderExpressionDef e) { + expressions = expressions == null ? new ArrayList() : expressions; + expressions.add(e); + } +} + Index: ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/OrderExpressionDef.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/OrderExpressionDef.java (revision 0) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/OrderExpressionDef.java (working copy) @@ -0,0 +1,23 @@ +package org.apache.hadoop.hive.ql.plan.ptf; + +import org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order; +import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFExpressionDef; + +public class OrderExpressionDef extends PTFExpressionDef { + Order order; + + public OrderExpressionDef() {} + public OrderExpressionDef(PTFExpressionDef e) { + super(e); + order = Order.ASC; + } + + public Order getOrder() { + return order; + } + + public void setOrder(Order order) { + this.order = order; + } +} + Index: ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/PartitionDef.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/PartitionDef.java (revision 0) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/PartitionDef.java (working copy) @@ -0,0 +1,22 @@ +package org.apache.hadoop.hive.ql.plan.ptf; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.hadoop.hive.ql.plan.PTFDesc.PTFExpressionDef; + +public class PartitionDef { + List expressions; + + public List getExpressions() { + return expressions; + } + + public void setExpressions(List expressions) { + this.expressions = expressions; + } + public void addExpression(PTFExpressionDef e) { + expressions = expressions == null ? new ArrayList() : expressions; + expressions.add(e); + } +} Index: ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/NPath.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/NPath.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/NPath.java (working copy) @@ -101,7 +101,7 @@ { int sz = syFnRes.nextRow - (pItr.getIndex() - 1); Object selectListInput = NPath.getSelectListInput(iRow, - tDef.getInput().getOutputShape().getOI(), pItr, sz); + tableDef.getInput().getOutputShape().getOI(), pItr, sz); ArrayList oRow = new ArrayList(); for(ExprNodeEvaluator resExprEval : resultExprInfo.resultExprEvals) { Index: ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/Noop.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/Noop.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/Noop.java (working copy) @@ -18,7 +18,7 @@ package org.apache.hadoop.hive.ql.udf.ptf; -import java.util.ArrayList; +import java.util.List; import org.apache.hadoop.hive.ql.exec.PTFPartition; import org.apache.hadoop.hive.ql.exec.PTFPartition.PTFPartitionIterator; @@ -28,33 +28,27 @@ import org.apache.hadoop.hive.ql.plan.PTFDesc.PartitionedTableFunctionDef; import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector; -public class Noop extends TableFunctionEvaluator -{ +public class Noop extends TableFunctionEvaluator { @Override - public PTFPartition execute(PTFPartition iPart) throws HiveException - { + public PTFPartition execute(PTFPartition iPart) throws HiveException { return iPart; } @Override - protected void execute(PTFPartitionIterator pItr, PTFPartition oPart) - { + protected void execute(PTFPartitionIterator pItr, PTFPartition oPart) { throw new UnsupportedOperationException(); } - public static class NoopResolver extends TableFunctionResolver - { + public static class NoopResolver extends TableFunctionResolver { @Override - protected TableFunctionEvaluator createEvaluator(PTFDesc ptfDesc, PartitionedTableFunctionDef tDef) - { + protected TableFunctionEvaluator createEvaluator(PTFDesc ptfDesc, PartitionedTableFunctionDef tDef) { return new Noop(); } @Override - public void setupOutputOI() throws SemanticException - { + public void setupOutputOI() throws SemanticException { StructObjectInspector OI = getEvaluator().getTableDef().getInput().getOutputShape().getOI(); setOutputOI(OI); } @@ -75,7 +69,7 @@ * Set to null only because carryForwardNames is true. */ @Override - public ArrayList getOutputColumnNames() { + public List getOutputColumnNames() { return null; } Index: ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java (working copy) @@ -46,8 +46,7 @@ * * */ -public abstract class TableFunctionEvaluator -{ +public abstract class TableFunctionEvaluator { /* * how is this different from the OutpuShape set on the TableDef. * This is the OI of the object coming out of the PTF. @@ -59,52 +58,45 @@ * same comment as OI applies here. */ transient protected StructObjectInspector rawInputOI; - protected PartitionedTableFunctionDef tDef; + protected PartitionedTableFunctionDef tableDef; protected PTFDesc ptfDesc; boolean transformsRawInput; transient protected PTFPartition outputPartition; - static{ + static { + //TODO is this a bug? The field is not named outputOI it is named OI PTFUtils.makeTransient(TableFunctionEvaluator.class, "outputOI", "rawInputOI"); } - public StructObjectInspector getOutputOI() - { + public StructObjectInspector getOutputOI() { return OI; } - protected void setOutputOI(StructObjectInspector outputOI) - { + protected void setOutputOI(StructObjectInspector outputOI) { OI = outputOI; } - public PartitionedTableFunctionDef getTableDef() - { - return tDef; + public PartitionedTableFunctionDef getTableDef() { + return tableDef; } - public void setTableDef(PartitionedTableFunctionDef tDef) - { - this.tDef = tDef; + public void setTableDef(PartitionedTableFunctionDef tDef) { + this.tableDef = tDef; } - protected PTFDesc getQueryDef() - { + protected PTFDesc getQueryDef() { return ptfDesc; } - protected void setQueryDef(PTFDesc ptfDesc) - { + protected void setQueryDef(PTFDesc ptfDesc) { this.ptfDesc = ptfDesc; } - public StructObjectInspector getRawInputOI() - { + public StructObjectInspector getRawInputOI() { return rawInputOI; } - protected void setRawInputOI(StructObjectInspector rawInputOI) - { + protected void setRawInputOI(StructObjectInspector rawInputOI) { this.rawInputOI = rawInputOI; } @@ -117,17 +109,15 @@ } public PTFPartition execute(PTFPartition iPart) - throws HiveException - { + throws HiveException { PTFPartitionIterator pItr = iPart.iterator(); PTFOperator.connectLeadLagFunctionsToPartition(ptfDesc, pItr); if ( outputPartition == null ) { outputPartition = PTFPartition.create(ptfDesc.getCfg(), - tDef.getOutputShape().getSerde(), - OI, tDef.getOutputShape().getOI()); - } - else { + tableDef.getOutputShape().getSerde(), + OI, tableDef.getOutputShape().getOI()); + } else { outputPartition.reset(); } @@ -137,17 +127,14 @@ protected abstract void execute(PTFPartitionIterator pItr, PTFPartition oPart) throws HiveException; - public PTFPartition transformRawInput(PTFPartition iPart) throws HiveException - { - if ( !isTransformsRawInput()) - { - throw new HiveException(String.format("Internal Error: mapExecute called on function (%s)that has no Map Phase", tDef.getName())); + public PTFPartition transformRawInput(PTFPartition iPart) throws HiveException { + if (!isTransformsRawInput()) { + throw new HiveException(String.format("Internal Error: mapExecute called on function (%s)that has no Map Phase", tableDef.getName())); } return _transformRawInput(iPart); } - protected PTFPartition _transformRawInput(PTFPartition iPart) throws HiveException - { + protected PTFPartition _transformRawInput(PTFPartition iPart) throws HiveException { return null; } } Index: ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionResolver.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionResolver.java (revision 1525763) +++ ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionResolver.java (working copy) @@ -18,7 +18,7 @@ package org.apache.hadoop.hive.ql.udf.ptf; -import java.util.ArrayList; +import java.util.List; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator; @@ -53,8 +53,7 @@ * */ @SuppressWarnings("deprecation") -public abstract class TableFunctionResolver -{ +public abstract class TableFunctionResolver { TableFunctionEvaluator evaluator; PTFDesc ptfDesc; @@ -65,8 +64,7 @@ * the transformsRawInput boolean. */ public void initialize(HiveConf cfg, PTFDesc ptfDesc, PartitionedTableFunctionDef tDef) - throws SemanticException - { + throws SemanticException { this.ptfDesc = ptfDesc; evaluator = createEvaluator(ptfDesc, tDef); @@ -79,16 +77,14 @@ * called during deserialization of a QueryDef during runtime. */ public void initialize(PTFDesc ptfDesc, PartitionedTableFunctionDef tDef, TableFunctionEvaluator evaluator) - throws HiveException - { + throws HiveException { this.evaluator = evaluator; this.ptfDesc = ptfDesc; evaluator.setTableDef(tDef); evaluator.setQueryDef(ptfDesc); } - public TableFunctionEvaluator getEvaluator() - { + public TableFunctionEvaluator getEvaluator() { return evaluator; } @@ -105,7 +101,7 @@ * A PTF Function must provide the 'external' names of the columns in its Output. * */ - public abstract ArrayList getOutputColumnNames() throws SemanticException; + public abstract List getOutputColumnNames() throws SemanticException; /** @@ -127,10 +123,8 @@ * - subsequent to this call, a call to getRawInputOI call on the {@link TableFunctionEvaluator} must return the OI * of the output of this function. */ - public void setupRawInputOI() throws SemanticException - { - if (!transformsRawInput()) - { + public void setupRawInputOI() throws SemanticException { + if (!transformsRawInput()) { return; } throw new SemanticException( @@ -141,9 +135,8 @@ * A PTF Function must provide the 'external' names of the columns in the transformed Raw Input. * */ - public ArrayList getRawInputColumnNames() throws SemanticException { - if (!transformsRawInput()) - { + public List getRawInputColumnNames() throws SemanticException { + if (!transformsRawInput()) { return null; } throw new SemanticException( @@ -153,10 +146,8 @@ /* * Same responsibility as initializeOI, but for the RawInput. */ - public void initializeRawInputOI() throws HiveException - { - if (!transformsRawInput()) - { + public void initializeRawInputOI() throws HiveException { + if (!transformsRawInput()) { return; } throw new HiveException( @@ -166,21 +157,18 @@ /* * callback method used by subclasses to set the RawInputOI on the Evaluator. */ - protected void setRawInputOI(StructObjectInspector rawInputOI) - { + protected void setRawInputOI(StructObjectInspector rawInputOI) { evaluator.setRawInputOI(rawInputOI); } /* * callback method used by subclasses to set the OutputOI on the Evaluator. */ - protected void setOutputOI(StructObjectInspector outputOI) - { + protected void setOutputOI(StructObjectInspector outputOI) { evaluator.setOutputOI(outputOI); } - public PTFDesc getPtfDesc() - { + public PTFDesc getPtfDesc() { return ptfDesc; }