@@ -62,7 +62,8 @@ public TResult Execute<TResult>(IQueryCompilerContext queryCompilerContext)
6262 {
6363 if ( queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext )
6464 {
65- return _shardingQueryExecutor . Execute < TResult > ( mergeQueryCompilerContext ) ;
65+ var mergeResult = _shardingQueryExecutor . Execute < TResult > ( mergeQueryCompilerContext ) ;
66+ return ResultTrackExecute ( mergeResult , queryCompilerContext , TrackEnumerable , Track ) ;
6667 }
6768 throw new ShardingCoreNotFoundException ( queryCompilerContext . GetQueryExpression ( ) . ShardingPrint ( ) ) ;
6869 }
@@ -119,7 +120,8 @@ public TResult ExecuteAsync<TResult>(IQueryCompilerContext queryCompilerContext,
119120 {
120121 if ( queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext )
121122 {
122- return _shardingQueryExecutor . ExecuteAsync < TResult > ( mergeQueryCompilerContext ) ;
123+ var mergeResult = _shardingQueryExecutor . ExecuteAsync < TResult > ( mergeQueryCompilerContext ) ;
124+ return ResultTrackExecute ( mergeResult , queryCompilerContext , TrackAsyncEnumerable , TrackAsync ) ;
123125 }
124126 throw new ShardingCoreNotFoundException ( queryCompilerContext . GetQueryExpression ( ) . ShardingPrint ( ) ) ;
125127 }
@@ -141,7 +143,8 @@ public IAsyncEnumerable<TResult> ExecuteAsync<TResult>(IQueryCompilerContext que
141143 {
142144 if ( queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext )
143145 {
144- return _shardingQueryExecutor . ExecuteAsync < IAsyncEnumerable < TResult > > ( mergeQueryCompilerContext ) ;
146+ var mergeResult = _shardingQueryExecutor . ExecuteAsync < IAsyncEnumerable < TResult > > ( mergeQueryCompilerContext ) ;
147+ return ResultTrackExecute ( mergeResult , queryCompilerContext , TrackEnumerable , Track ) ;
145148 }
146149 throw new ShardingCoreNotFoundException ( queryCompilerContext . GetQueryExpression ( ) . ShardingPrint ( ) ) ;
147150 }
@@ -159,7 +162,8 @@ public Task<TResult> ExecuteAsync<TResult>(IQueryCompilerContext queryCompilerCo
159162 {
160163 if ( queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext )
161164 {
162- return _shardingQueryExecutor . ExecuteAsync < Task < TResult > > ( mergeQueryCompilerContext ) ;
165+ var mergeResult = _shardingQueryExecutor . ExecuteAsync < Task < TResult > > ( mergeQueryCompilerContext ) ;
166+ return ResultTrackExecute ( mergeResult , queryCompilerContext , TrackEnumerable , TrackAsync ) ;
163167 }
164168 throw new ShardingCoreNotFoundException ( queryCompilerContext . GetQueryExpression ( ) . ShardingPrint ( ) ) ;
165169 }
0 commit comments