SanityManager.ASSERT(outputColumn != null, "otuputColumn is null");
SanityManager.ASSERT(aggregatorColumn instanceof UserDataValue,
"accumlator column is not a UserDataValue as expected");
}
ExecAggregator ua = (ExecAggregator) aggregatorColumn.getObject();
/*
** If we don't have an aggregator, then we have to
** create one now. This happens when the input result
** set is null.
*/
if (ua == null)
{
ua = getAggregatorInstance();
}
/*
**
** We are going to copy
** then entire DataValueDescriptor into the result column.
** We could call setValue(result.setObject()), but we
** might loose state (e.g. SQLBit.getObject() returns a
** byte[] which looses the precision of the bit.
**
*/
DataValueDescriptor result = ua.getResult();
if (result == null)
outputColumn.setToNull();
else
outputColumn.setValue(result);
return ua.didEliminateNulls();
}