if ( userAggregateName != null )
{
userAggregateName.bind( dd );
AliasDescriptor ad = resolveAggregate
(
dd,
getSchemaDescriptor( userAggregateName.getSchemaName(), true ),
userAggregateName.getTableName()
);
if ( ad == null )
{
throw StandardException.newException
(
SQLState.LANG_OBJECT_NOT_FOUND,
AliasDescriptor.getAliasType( AliasInfo.ALIAS_TYPE_AGGREGATE_AS_CHAR ),
userAggregateName.getTableName()
);
}
setUserDefinedAggregate( new UserAggregateDefinition( ad ) );
aggregateName = ad.getJavaClassName();
}
instantiateAggDef();
// if this is a user-defined aggregate
if ( isUserDefinedAggregate() )
{
AliasDescriptor ad = ((UserAggregateDefinition) uad).getAliasDescriptor();
// set up dependency on the user-defined aggregate and compile a check for USAGE
// priv if needed
getCompilerContext().createDependency( ad );