Skip to content

rc.4: RetrieveAsync takes a CancellationToken; misnamed parameters renamed - #116

Merged
electricessence merged 3 commits into
masterfrom
fix/rc4-consistency
Nov 11, 2026
Merged

electricessence merged 3 commits into
masterfrom
fix/rc4-consistency

Conversation

@electricessence

Copy link
Copy Markdown
Collaborator

Two breaking consistency fixes for 11.0.0-rc.4 (API shape).

ExpressiveDbCommand.RetrieveAsync takes a cancellation token

  • RetrieveAsync(), RetrieveAsync(IEnumerable<int> ordinals) and RetrieveAsync(IEnumerable<string> columnNames, bool normalizeColumnOrder = false) gain a trailing CancellationToken cancellationToken = default, passed to the reader open and to the read.
  • The two params overloads are unchanged: a token cannot follow params, and no token-first overload is added (the house rule is token last). Their docs point to the IEnumerable overloads for cancellation.
  • Existing calls keep compiling and bind as before; a compile-only binding test covers each call form.

Misnamed parameters renamed (source-breaking only for named arguments)

  • CreateStoredProcedureCommand(IDbConnection, …): commandText becomes procedureName.
  • CreateTextCommand(SqlTransaction, …) in both SQL packages: procedureName becomes commandText.
  • Using/UsingAsync: the type parameter TConn becomes TConnection.

PublicAPI.Unshipped.txt carries a *REMOVED* entry for each changed shipped line. whats-new-11.md lists both under "Breaking in rc.4".

Checks

  • Release and Debug builds: 0 warnings, 0 errors. Style and analyzers: 0 findings. DocFX: 0 warnings. Samples: 96 of 96 checks pass.
  • Tests: Debug 9466 of 9466 pass. Release has 1 failure, TokenTerminalTests.Allocation_Channel(shape: Pool): an allocation test on the Channel path, which this PR does not touch, already known to be flaky under load (another build was running at the same time). It was not re-run.

Not in this PR: the nullable annotations (item 26), moved to the modernization pass.

🤖 Generated with Claude Code

electricessence and others added 3 commits November 10, 2026 15:47
… parameters renamed (TConn, commandText, procedureName)

The three RetrieveAsync overloads that can take a trailing token do; the two params
overloads are unchanged. CreateTextCommand(SqlTransaction) in both SQL packages takes
commandText, CreateStoredProcedureCommand(IDbConnection) takes procedureName, and the
Using/UsingAsync type parameter TConn is TConnection.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
@electricessence
electricessence merged commit e5e2790 into master Nov 11, 2026
2 checks passed
@electricessence
electricessence deleted the fix/rc4-consistency branch November 11, 2026 01:41
electricessence added a commit that referenced this pull request Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant