public void Initialize()
        {
            ExecutedQuery executedQuery = null;

            try
            {
                ExecutedQueryCache executedQueryCache = base.m_odpContext.StateManager.ExecutedQueryCache;
                if (executedQueryCache != null)
                {
                    executedQueryCache.Extract(this.m_dataSet, out executedQuery);
                }
                base.InitializeDataSource(executedQuery);
                this.InitializeDataSet(executedQuery);
            }
            catch (Exception e)
            {
                base.HandleException(e);
                this.FinalCleanup();
                if (executedQuery != null)
                {
                    executedQuery.Close();
                }
                throw;
            }
        }
Beispiel #2
0
        public void ProcessSingleOdp()
        {
            ExecutedQuery executedQuery = null;

            try
            {
                ExecutedQueryCache executedQueryCache = base.m_odpContext.StateManager.ExecutedQueryCache;
                if (executedQueryCache != null)
                {
                    executedQueryCache.Extract(this.m_dataSet, out executedQuery);
                }
                if (base.InitializeDataSource(executedQuery))
                {
                    this.m_runtimeDataSet.InitProcessingParams(base.m_connection, base.m_transaction);
                    this.m_runtimeDataSet.ProcessInline(executedQuery);
                    base.m_executionMetrics.Add(this.m_runtimeDataSet.DataSetExecutionMetrics);
                    if (base.m_totalDurationFromExistingQuery != null)
                    {
                        base.m_executionMetrics.TotalDuration.Subtract(base.m_totalDurationFromExistingQuery);
                    }
                    base.TeardownDataSource();
                }
            }
            catch (Exception e)
            {
                base.HandleException(e);
                throw;
            }
            finally
            {
                this.FinalCleanup();
                if (executedQuery != null)
                {
                    executedQuery.Close();
                }
            }
        }
 public override ExecutedQueryCache SetupExecutedQueryCache()
 {
     Global.Tracer.Assert(this.m_executedQueryCache == null, "Cannot SetupExecutedQueryCache twice");
     this.m_executedQueryCache = new ExecutedQueryCache();
     return(this.ExecutedQueryCache);
 }