示例#1
0
 public AggregatorMinMax(
         AggregationForgeFactoryMinMax factory,
         int col,
         CodegenCtor rowCtor,
         CodegenMemberCol membersColumnized,
         CodegenClassScope classScope,
         Type optionalDistinctValueType,
         DataInputOutputSerdeForge optionalDistinctSerde,
         bool hasFilter,
         ExprNode optionalFilter)
     : base(factory, col, rowCtor, membersColumnized, classScope, optionalDistinctValueType, optionalDistinctSerde, hasFilter, optionalFilter)
 {
     this._factory = factory;
     _refSet = membersColumnized.AddMember(col, typeof(SortedRefCountedSet<object>), "refSet");
     _serde = classScope.AddOrGetDefaultFieldSharable(
         new CodegenSharableSerdeClassTyped(
             CodegenSharableSerdeClassTyped.CodegenSharableSerdeName.SORTEDREFCOUNTEDSET,
             factory.ResultType,
             factory.Serde,
             classScope));
     rowCtor.Block.AssignRef(_refSet, NewInstance(typeof(SortedRefCountedSet<object>)));
 }
示例#2
0
 public AggregatorMinMaxEver(
     AggregationForgeFactoryMinMax factory,
     int col,
     CodegenCtor rowCtor,
     CodegenMemberCol membersColumnized,
     CodegenClassScope classScope,
     Type optionalDistinctValueType,
     DataInputOutputSerdeForge optionalDistinctSerde,
     bool hasFilter,
     ExprNode optionalFilter,
     DataInputOutputSerdeForge serde)
     : base(factory, col, rowCtor, membersColumnized, classScope, optionalDistinctValueType, optionalDistinctSerde, hasFilter, optionalFilter)
 {
     _factory = factory;
     _currentMinMax = membersColumnized.AddMember(col, typeof(IComparable), "currentMinMax");
     _serde = classScope.AddOrGetDefaultFieldSharable(
         new CodegenSharableSerdeClassTyped(
             CodegenSharableSerdeClassTyped.CodegenSharableSerdeName.VALUE_NULLABLE,
             factory.ResultType,
             serde,
             classScope));
 }