You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
QUERY: select count(*) from tenk1 t
where (exists(select 1 from tenk1 k where k.unique1 = t.unique2) or ten < 0);
Footnotes
These are tests that we're marking as Successful, however they do not match the expected output in some way. This is due to small differences, such as different wording on the error messages, or the column names being incorrect while the data itself is correct. ↩
Coverage exercises the database’s handling of row-locking queries across opt-in and default configurations, startup modes, prepared and mixed statements, connection recovery, concurrent updates, and ordinary-query compatibility. It includes happy paths, boundary and failure-recovery scenarios, concurrency behavior, and regression checks for unchanged query results.
Safe to merge — the run found no failures or regressions attributable to this PR, and the covered locking, recovery, concurrency, configuration, and ordinary-query behaviors all passed. No merge-blocking risk was identified.
Tests run by Ito
Result
Severity
Type
Description
✅
—
General
Servers with no setting or an explicit false setting rejected the locking query, while the true setting returned row 1 as expected.
✅
—
General
The mixed query reported its expected locking error, and the same connection later ran SELECT 1 and returned 1.
✅
—
General
The first query returned the expected unsupported-locking error, and the next query on the same connection returned row 1.
✅
—
General
The configured in-memory and local-filesystem servers both accepted the locking query and returned rows 1 and 2.
✅
—
General
The client sent two locking queries to the configured server, and both returned rows 1 and 2 without an error.
✅
—
General
The server accepted the locking query immediately after startup and returned rows 1 and 2.
✅
—
Configuration
The script test started an in-memory server with locking support enabled and returned rows 1 and 2 from the locking query.
✅
—
Conversion
The database accepted SELECT 1 + 1 and returned 2 in the result column.
✅
—
Default
A query with FOR UPDATE was rejected with the expected unsupported-locking error when the setting was absent.
✅
—
Locking
With the opt-in setting enabled, the server accepted the FOR UPDATE query and returned rows 1 and 2. The default rejection check also passed.
✅
—
Rev
A server with the YAML setting enabled accepted FOR UPDATE and other locking queries, and returned rows 1 and 2 in order.
✅
—
Rev
The prepared query completed successfully and returned rows 1 and 2 in primary-key order without an unsupported-locking error.
✅
—
Rev
The first session used FOR UPDATE without taking a lock, so the second session updated the row and read back the committed value 99.
✅
—
Rev
The same ordinary query returned identical rows in default and permissive server modes, including the NULL value, row order, and aggregate count.
Tip
Reply with @itoqa to send us feedback on this test run.
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
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.
Adds an opt-in server setting to accept and ignore unsupported locking statements.
This provides a partial workaround for the limitations in #2600