Skip to content

Add tests for MySQL row-level locking clauses#342

Merged
JanJakes merged 1 commit intoWordPress:trunkfrom
wp-fuse:feature/pr-1-locking-clauses
Apr 3, 2026
Merged

Add tests for MySQL row-level locking clauses#342
JanJakes merged 1 commit intoWordPress:trunkfrom
wp-fuse:feature/pr-1-locking-clauses

Conversation

@wp-fuse
Copy link
Copy Markdown
Contributor

@wp-fuse wp-fuse commented Mar 30, 2026

Add tests for MySQL row-level locking clauses (e.g., FOR UPDATE, LOCK IN SHARE MODE, SKIP LOCKED, NOWAIT) by ensuring they are safely ignored during translation to SQLite.

Copy link
Copy Markdown
Member

@JanJakes JanJakes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution! I only have some small notes, and it needs a rebase to resolve conflict.

Additionally, I will update the title and description to accurately reflect that this adds test coverage.

Thanks!

}

public function testLockingClauses() {
$this->engine->query( "INSERT INTO _options (option_name, option_value) VALUES ('test_lock', '1')" );
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As in other tests, we should use assertQuery to assert that no errors were triggered. It's also better to create a new table for the test (I consider these pre-created tables to be legacy, and would like to get rid of them).

@JanJakes JanJakes changed the title [AST] Support MySQL locking clauses (FOR UPDATE, SKIP LOCKED, etc.) Add tests for MySQL row-level locking clauses Apr 3, 2026
@JanJakes JanJakes force-pushed the feature/pr-1-locking-clauses branch from e434eb9 to aeb07b4 Compare April 3, 2026 10:20
@JanJakes
Copy link
Copy Markdown
Member

JanJakes commented Apr 3, 2026

I went ahead and rebased + updated the tests myself. Also added tests for other mentioned statements like NOWAIT.

@JanJakes JanJakes merged commit e88f9e7 into WordPress:trunk Apr 3, 2026
15 checks passed
@JanJakes JanJakes mentioned this pull request Apr 3, 2026
JanJakes added a commit that referenced this pull request Apr 3, 2026
## Release `2.2.22`

Version bump and changelog update for release `2.2.22`.

**Changelog draft:**
* Support INSERT without INTO keyword
([#354](#354))
* Add tests for MySQL row-level locking clauses
([#342](#342))
* Improve automated deploy setup.

**Full changelog:**
v2.2.21...release/v2.2.22

## Next steps

1. **Review** the changes in this pull request.
2. **Push** any additional edits to this branch (`release/v2.2.22`).
3. **Merge** this pull request to complete the release.

Merging will automatically build the plugin ZIP, create a [GitHub
release](https://github.com/WordPress/sqlite-database-integration/releases),
and deploy to
[WordPress.org](https://wordpress.org/plugins/sqlite-database-integration/).
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.

2 participants