internal void UpdateFieldValues(ObjectModelImpl reportOM, bool useDataSetFieldsCache, long firstRowOffsetInScope)
 {
     if (m_dataReader.ReadOneRowAtPosition(firstRowOffsetInScope) || m_allFieldsCleared)
     {
         UpdateFieldValues(reportOM, useDataSetFieldsCache, reuseFieldObjects: true, m_dataReader.RecordRow, m_dataSetInstance, m_dataReader.ReaderExtensionsSupported);
     }
 }
 internal void SetupEnvironment(OnDemandProcessingContext odpContext, bool newDataSetDefinition)
 {
     if (newDataSetDefinition)
     {
         odpContext.SetupFieldsForNewDataSet(m_dataSetDef, this, addRowIndex: false, NoRows);
     }
     if (!NoRows)
     {
         if (m_firstRowOffset == DataFieldRow.UnInitializedStreamOffset)
         {
             odpContext.ReportObjectModel.CreateNoRows();
             return;
         }
         Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ChunkManager.DataChunkReader dataChunkReader = odpContext.GetDataChunkReader(m_dataSetDef.IndexInCollection);
         dataChunkReader.ReadOneRowAtPosition(m_firstRowOffset);
         odpContext.ReportObjectModel.FieldsImpl.NewRow(m_firstRowOffset);
         odpContext.ReportObjectModel.UpdateFieldValues(!newDataSetDefinition, dataChunkReader.RecordRow, this, dataChunkReader.ReaderExtensionsSupported);
     }
 }