public void PostFilterNextRow() { if (this.m_nonCustomAggregates != null) { for (int i = 0; i < this.m_nonCustomAggregates.Count; i++) { this.m_nonCustomAggregates[i].Update(); } } if (this.m_dataRows != null) { RuntimeDataTablixObj.SaveData(this.m_dataRows, this.m_odpContext); } if (this.m_firstNonAggregateRow) { this.m_firstNonAggregateRow = false; this.m_dataSetInstance.FirstRowOffset = this.m_odpContext.ReportObjectModel.FieldsImpl.StreamOffset; } if (this.m_lookupProcessor != null) { this.m_lookupProcessor.NextRow(); } else { this.PostLookupNextRow(); } }
protected void CommonNextRow(ScalableList <DataFieldRow> dataRows) { if (dataRows != null) { RuntimeDataTablixObj.SaveData(dataRows, this.m_odpContext); } this.SendToInner(); }
public void NextRow() { long streamOffset = this.m_odpContext.ReportObjectModel.FieldsImpl.StreamOffset; int num = -1; CommonRowCache tablixProcessingLookupRowCache = this.m_odpContext.TablixProcessingLookupRowCache; if (this.m_mustBufferAllRows) { num = tablixProcessingLookupRowCache.AddRow(RuntimeDataTablixObj.SaveData(this.m_odpContext)); if (this.m_firstRowCacheIndex == -1) { this.m_firstRowCacheIndex = num; } } IScalabilityCache tablixProcessingScalabilityCache = this.m_odpContext.TablixProcessingScalabilityCache; for (int i = 0; i < this.m_dataSet.LookupDestinationInfos.Count; i++) { LookupDestinationInfo lookupDestinationInfo = this.m_dataSet.LookupDestinationInfos[i]; LookupObjResult lookupObjResult = this.m_dataSetInstance.LookupResults[i]; if (!lookupObjResult.ErrorOccured) { AspNetCore.ReportingServices.RdlExpressions.VariantResult variantResult = lookupDestinationInfo.EvaluateDestExpr(this.m_odpContext, lookupObjResult); if (variantResult.ErrorOccurred) { lookupObjResult.DataFieldStatus = variantResult.FieldStatus; } else { object value = variantResult.Value; LookupTable lookupTable = lookupObjResult.GetLookupTable(this.m_odpContext); try { LookupMatches lookupMatches = default(LookupMatches); IDisposable disposable = default(IDisposable); if (!lookupTable.TryGetAndPinValue(value, out lookupMatches, out disposable)) { lookupMatches = ((!lookupDestinationInfo.UsedInSameDataSetTablixProcessing) ? new LookupMatches() : new LookupMatchesWithRows()); disposable = lookupTable.AddAndPin(value, lookupMatches); } if (lookupDestinationInfo.IsMultiValue || !lookupMatches.HasRow) { lookupMatches.AddRow(streamOffset, num, tablixProcessingScalabilityCache); } disposable.Dispose(); } catch (ReportProcessingException_SpatialTypeComparisonError reportProcessingException_SpatialTypeComparisonError) { throw new ReportProcessingException(this.m_lookupOwner.RegisterSpatialElementComparisonError(reportProcessingException_SpatialTypeComparisonError.Type)); } } } } if (!this.m_mustBufferAllRows) { this.m_lookupOwner.PostLookupNextRow(); } }
public static void SaveData(ScalableList <DataFieldRow> dataRows, OnDemandProcessingContext odpContext) { Global.Tracer.Assert(null != dataRows, "(null != dataRows)"); dataRows.Add(RuntimeDataTablixObj.SaveData(odpContext)); }