/// <summary> /// Deregisters the value buffer cursor described by valueBufferCursor. /// </summary> /// <param name="valueBufferCursor"> The value buffer cursor. </param> public virtual void DeregisterValueBufferCursor([NotNull] IValueBufferCursor valueBufferCursor) { Check.NotNull(valueBufferCursor, nameof(valueBufferCursor)); Connection.ActiveCursor = null; _activeQueries.Remove(valueBufferCursor); }
public virtual void RegisterValueBufferCursor([NotNull] IValueBufferCursor valueBufferCursor) { Check.NotNull(valueBufferCursor, nameof(valueBufferCursor)); if (!Connection.IsMultipleActiveResultSetsEnabled && _activeQueries.Count > 0) { _activeQueries.Last().BufferAll(); } _activeQueries.Add(valueBufferCursor); }
public virtual void DeregisterValueBufferCursor([NotNull] IValueBufferCursor valueBufferCursor) { Check.NotNull(valueBufferCursor, nameof(valueBufferCursor)); _activeQueries.Remove(valueBufferCursor); var index = _activeIncludeQueries.IndexOf(valueBufferCursor); if (index >= 0) { _activeIncludeQueries[index] = null; } }
private void AddBufferCursorToIncludeQueriesList(IValueBufferCursor valueBufferCursor, int includeQueryIndex) { if (includeQueryIndex > _activeIncludeQueries.Count) { var missingEntries = includeQueryIndex - _activeIncludeQueries.Count; for (var i = 0; i < missingEntries; i++) { _activeIncludeQueries.Add(null); } } _activeIncludeQueries[includeQueryIndex - 1] = valueBufferCursor; }
public virtual async Task RegisterValueBufferCursorAsync( [NotNull] IValueBufferCursor valueBufferCursor, CancellationToken cancellationToken) { Check.NotNull(valueBufferCursor, nameof(valueBufferCursor)); if (!Connection.IsMultipleActiveResultSetsEnabled && _activeQueries.Count > 0) { await _activeQueries.Last().BufferAllAsync(cancellationToken); } _activeQueries.Add(valueBufferCursor); }
/// <summary> /// Asynchronously registers a value buffer cursor. /// </summary> /// <param name="valueBufferCursor"> The value buffer cursor. </param> /// <param name="cancellationToken"> The cancellation token. </param> /// <returns> /// A Task. /// </returns> public virtual async Task RegisterValueBufferCursorAsync( [NotNull] IValueBufferCursor valueBufferCursor, CancellationToken cancellationToken) { Check.NotNull(valueBufferCursor, nameof(valueBufferCursor)); if (Connection.ActiveCursor != null && !Connection.IsMultipleActiveResultSetsEnabled) { await Connection.ActiveCursor.BufferAllAsync(cancellationToken); } Connection.ActiveCursor = valueBufferCursor; _activeQueries.Add(valueBufferCursor); }
public virtual void RegisterValueBufferCursor([NotNull] IValueBufferCursor valueBufferCursor, int?queryIndex) { Check.NotNull(valueBufferCursor, nameof(valueBufferCursor)); if (!Connection.IsMultipleActiveResultSetsEnabled && _activeQueries.Count > 0) { _activeQueries.Last().BufferAll(); } _activeQueries.Add(valueBufferCursor); if (queryIndex.HasValue && queryIndex.Value > 0) { AddBufferCursorToIncludeQueriesList(valueBufferCursor, queryIndex.Value); } }
public virtual async Task RegisterValueBufferCursorAsync( [NotNull] IValueBufferCursor valueBufferCursor, int?queryIndex, CancellationToken cancellationToken) { Check.NotNull(valueBufferCursor, nameof(valueBufferCursor)); if (!Connection.IsMultipleActiveResultSetsEnabled && _activeQueries.Count > 0) { await _activeQueries.Last().BufferAllAsync(cancellationToken); } _activeQueries.Add(valueBufferCursor); if (queryIndex.HasValue && queryIndex.Value > 0) { AddBufferCursorToIncludeQueriesList(valueBufferCursor, queryIndex.Value); } }