Repository navigation
Test and docs: read-only transaction may commit on engines from 26.11.1 - #200
Merged
Merged
Conversation
…11.1 (#199) ArcadeDB PR #11124 (issue #11057) lets commit() and rollback() of a read-only transaction succeed; writes inside it still raise. The test now keeps the save() assertion strict and accepts either commit() outcome (the 26.11.1 snapshot spans both), checking the data is unchanged and no transaction stays active. The DatabaseFactory.open and open_database docstrings no longer say the commit raises. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… engines (#199) The native parity leg (engine 26.10.2) failed both new tests: the old engine refuses commit() with "Cannot begin a transaction on a read only database", leaves the transaction active, and refuses the rollback after it the same way, so the is_transaction_active() assertion cannot hold there. The shared helper now asserts inactive only when the commit or rollback returns (26.11.1 and later) and, when it raises, only that the message names read-only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tae898
added a commit
that referenced
this pull request
Nov 2, 2026
…t test for engine 26.11.1) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Closes #199
ArcadeDB PR ArcadeData/arcadedb#11124 (issue ArcadeData/arcadedb#11057) made
commit()androllback()of a read-only transaction succeed from 26.11.1; a write inside it still raises. The JVM legs run against the snapshot engine and fail on the old assumption.In
tests/test_open_read_only.pythesave()assertion stays strict (ArcadeDBErrormatchingread.?only, count unchanged).commit()accepts either outcome, because 26.11.1-SNAPSHOT spans both behaviours and a version check cannot separate them: it returns (new engines) or raises the read-only error (engines before the change, as in the native wheels on 26.10.2). The data is unchanged in both cases.is_transaction_active()is asserted false only when the call returns: the old engine refuses the commit, leaves the transaction active, and refuses a rollback after it too. The test is renamed totest_read_only_begin_reads_and_the_write_is_refused_the_commit_is_either, and a second test coversrollback()the same way.The
DatabaseFactory.openandopen_databasedocstrings insrc/arcadedb/core.pyno longer say the commit raises. No page underdocs/orREADME.mdmade that claim. Checked locally:compileandpyflakeson the test file (clean);core.pyshows only two pyflakes findings that predate this change. The suite is left to CI.🤖 Generated with Claude Code