Skip to content

Commit 7318b16

Browse files
committed
在读优化回收代码
1 parent 3885f80 commit 7318b16

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

src/ShardingCore/Sharding/MergeEngines/Executors/Enumerators/Abstractions/AbstractEnumeratorExecutor.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ protected override async Task<ShardingMergeResult<IStreamMergeAsyncEnumerator<TR
170170
//single如果没有元素就可以回收
171171
//enumerable如果没有元素就可以回收
172172
var streamMergeContext = GetStreamMergeContext();
173-
if (DisposeInExecuteUnit(streamMergeContext, sqlExecutorUnit.ConnectionMode, streamMergeAsyncEnumerator))
173+
if (DisposeInExecuteUnit(streamMergeContext, streamMergeAsyncEnumerator))
174174
{
175175
var disConnectionStreamMergeAsyncEnumerator =
176176
new OneAtMostElementStreamMergeAsyncEnumerator<TResult>(streamMergeAsyncEnumerator);
@@ -186,15 +186,13 @@ protected override async Task<ShardingMergeResult<IStreamMergeAsyncEnumerator<TR
186186
/// 是否需要在执行单元中直接回收掉链接有助于提高吞吐量
187187
/// </summary>
188188
/// <param name="streamMergeContext"></param>
189-
/// <param name="connectionMode"></param>
190189
/// <param name="streamMergeAsyncEnumerator"></param>
191190
/// <returns></returns>
192-
private bool DisposeInExecuteUnit(StreamMergeContext streamMergeContext, ConnectionModeEnum connectionMode,
191+
private bool DisposeInExecuteUnit(StreamMergeContext streamMergeContext,
193192
IStreamMergeAsyncEnumerator<TResult> streamMergeAsyncEnumerator)
194193
{
195194
var queryMethodName = streamMergeContext.MergeQueryCompilerContext.GetQueryMethodName();
196195
var hasElement = streamMergeAsyncEnumerator.HasElement();
197-
var notConnectionStrictly = connectionMode != ConnectionModeEnum.CONNECTION_STRICTLY;
198196
switch (queryMethodName)
199197
{
200198
case nameof(Queryable.First):
@@ -203,13 +201,13 @@ private bool DisposeInExecuteUnit(StreamMergeContext streamMergeContext, Connect
203201
case nameof(Queryable.LastOrDefault):
204202
{
205203
var skip = streamMergeContext.GetSkip();
206-
return (skip is null or < 0 || !hasElement) && notConnectionStrictly;
204+
return !hasElement||(skip is null or < 0);
207205
}
208206
case nameof(Queryable.Single):
209207
case nameof(Queryable.SingleOrDefault):
210208
case QueryCompilerContext.ENUMERABLE:
211209
{
212-
return !hasElement && notConnectionStrictly;
210+
return !hasElement;
213211
}
214212
// case nameof(Queryable.Count):
215213
// case nameof(Queryable.LongCount):

0 commit comments

Comments
 (0)