Repository navigation
Make unsupported savepoint operations fail consistently - #380
Merged
Giorgi merged 3 commits intoOct 22, 2026
Merged
Conversation
Owner
|
Tests are failing on all platforms |
AbortedTransactionTest checked that BeginTransaction works after an aborted commit, but never disposed the transaction it began. The class fixture shares one connection, so the next test in the class to call BeginTransaction failed with "Already in a transaction." Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Coverage Report for CI Build 39760727321Coverage increased (+0.002%) to 92.792%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
Contributor
Author
|
Thanks, fixed in 77bfadf. The new test wasn't the cause. |
Giorgi
reviewed
Oct 22, 2026
This branch is waiting to be deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
DuckDB.NET reports
DbTransaction.SupportsSavepoints == false, andSave/Rollbackreject savepoint operations, but the inheritedReleaseandReleaseAsyncmethods complete successfully. This violates theDbTransaction.SupportsSavepointscapability contract.This change explicitly keeps savepoints unsupported and makes synchronous and asynchronous
Releasereject the operation withNotSupportedException.It also fixes
AbortedTransactionTest, which began a transaction it never disposed.TransactionTestsshare one connection, so the next test to callBeginTransactionfailed with "Already in a transaction." The new savepoint test was the first to run after it, which is why CI failed on the first commit.Verification
SavepointsAreNotSupportedTestcovering the capability flag and all sync/async savepoint methods.DuckDB.NET.Testsuite passes locally (net8.0): 7567 passed, 0 failed.pengdows.AdoNetApiTest.conformancesource-backed DuckDB profile passes: Required 119/119; ADO.NET, EF Core, and pengdows.crud certified.Found by
pengdows.AdoNetApiTest.conformance.