public DataScopeInfo(int scopeId) { m_scopeID = scopeId; m_runningValuesOfAggregates = new List <RunningValueInfo>(); m_aggregatesOfAggregates = new BucketedDataAggregateInfos(); m_postSortAggregatesOfAggregates = new BucketedDataAggregateInfos(); }
public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.AggregatesSpanGroupFilter: m_aggregatesSpanGroupFilter = reader.ReadBoolean(); break; case MemberName.AggregatesOfAggregates: m_aggregatesOfAggregates = (BucketedDataAggregateInfos)reader.ReadRIFObject(); break; case MemberName.PostSortAggregatesOfAggregates: m_postSortAggregatesOfAggregates = (BucketedDataAggregateInfos)reader.ReadRIFObject(); break; case MemberName.RunningValuesOfAggregates: m_runningValuesOfAggregates = reader.ReadGenericListOfRIFObjects <RunningValueInfo>(); break; case MemberName.ScopeID: m_scopeID = reader.ReadInt32(); break; case MemberName.HasAggregatesToUpdateAtRowScope: m_hasAggregatesToUpdateAtRowScope = reader.ReadBoolean(); break; case MemberName.IsDecomposable: m_isDecomposable = reader.ReadBoolean(); break; case MemberName.DataSet: m_dataSet = reader.ReadReference <DataSet>(this); break; case MemberName.JoinInfo: m_joinInfo = (JoinInfo)reader.ReadRIFObject(); break; case MemberName.DataPipelineID: m_dataPipelineID = reader.ReadInt32(); break; case MemberName.GroupingFieldIndicesForServerAggregates: m_groupingFieldIndicesForServerAggregates = reader.ReadListOfPrimitives <int>(); break; default: Global.Tracer.Assert(condition: false); break; } } }
internal void ClearAggregatesIfEmpty() { Global.Tracer.Assert(m_aggregatesOfAggregates != null, "(null != m_aggregatesOfAggregates)"); if (m_aggregatesOfAggregates.IsEmpty) { m_aggregatesOfAggregates = null; } Global.Tracer.Assert(m_postSortAggregatesOfAggregates != null, "(null != m_postSortAggregatesOfAggregates)"); if (m_postSortAggregatesOfAggregates.IsEmpty) { m_postSortAggregatesOfAggregates = null; } }