public PartitionsIterator(WindowingInput wIn, QueryDef qDef) throws WindowingException
{
super();
this.wIn = wIn;
this.qDef = qDef;
TableFuncDef tabDef = (TableFuncDef) qDef.getInput();
TableFunctionEvaluator tEval = tabDef.getFunction();
partClassName = tEval.getPartitionClass();
partMemSize = tEval.getPartitionMemSize();
serDe = (SerDe) wIn.getDeserializer();
try
{
OI = (StructObjectInspector) serDe.getObjectInspector();
w = wIn.createRow();
}
catch(Exception se)
{
throw new WindowingException(se);
}
stdOI = (StructObjectInspector) ObjectInspectorUtils.getStandardObjectInspector(OI);
partColumns = new ArrayList<String>();
objFields = new ArrayList<StructField>();
stdObjFields = new ArrayList<StructField>();
ArrayList<ColumnDef> cols = tabDef.getWindow().getPartDef().getColumns();
for(ColumnDef colDef : cols)
{
String colName = colDef.getAlias();
StructField f = OI.getStructFieldRef(colName);
StructField stdF = stdOI.getStructFieldRef(colName);