public RuntimeLookupProcessing(OnDemandProcessingContext odpContext, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, RuntimeOnDemandDataSetObj lookupOwner)
 {
     this.m_odpContext        = odpContext;
     this.m_dataSet           = dataSet;
     this.m_dataSetInstance   = dataSetInstance;
     this.m_lookupOwner       = lookupOwner;
     this.m_mustBufferAllRows = dataSet.HasSameDataSetLookups;
     this.InitializeRuntimeStructures();
 }
        public DataProcessingController(OnDemandProcessingContext odpContext, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance)
        {
            this.m_odpContext      = odpContext;
            this.m_dataSet         = dataSet;
            this.m_dataSetInstance = dataSetInstance;
            this.m_report          = odpContext.ReportDefinition;
            this.m_odpContext.EnsureScalabilitySetup();
            UserSortFilterContext userSortFilterContext = this.m_odpContext.UserSortFilterContext;

            if (!this.m_odpContext.InSubreportInDataRegion)
            {
                userSortFilterContext.ResetContextForTopLevelDataSet();
            }
            this.m_hasSortFilterInfo = this.m_odpContext.PopulateRuntimeSortFilterEventInfo(this.m_dataSet);
            if (-1 == userSortFilterContext.DataSetGlobalId)
            {
                userSortFilterContext.DataSetGlobalId = this.m_dataSet.GlobalID;
            }
            Global.Tracer.Assert(this.m_odpContext.ReportObjectModel != null && this.m_odpContext.ReportRuntime != null);
            this.m_odpContext.SetupFieldsForNewDataSet(this.m_dataSet, this.m_dataSetInstance, true, true);
            this.m_dataSet.SetFilterExprHost(this.m_odpContext.ReportObjectModel);
            this.m_dataSetObj = new RuntimeOnDemandDataSetObj(this.m_odpContext, this.m_dataSet, this.m_dataSetInstance);
        }