Accept proven transactional table backends for identity reservation - #3485
Merged
Conversation
chubes4
marked this pull request as draft
September 11, 2026 01:07
chubes4
marked this pull request as ready for review
September 11, 2026 01:36
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
The maintainer approved this generic capability API; the previous hold is lifted. This is backend-neutral application integration, not proof that MDI implements the original MySQL-specific consumer contract unchanged.
wpdb::supports_transactional_tables(array $tables)about the exact reservation and posts table set.true. Missing methods, incomplete coverage, false-like answers and exceptions fail closed.Engine prerequisite: Automattic/markdown-database-integration#403. Track remaining MySQL parity separately in Automattic/markdown-database-integration#377.
Verification
Data Machine
4432c2433dbce2985654cc88f57dc3d5abc411f0passed the following runs. Currentb6fe3762ea92a31b30d63cb72607dfaaa8582b4fadds only a PHPCS assignment-alignment fix; its lint, audit, refactor and all four test shards passed. MDI prerequisite #403 is merged asd4907227f4c252d1f781134bd79f00f4e1a112b1.All 15 prior identity/upsert failure identities disappear with the adapter. The four remaining native failures require physical mysqli connections or handles. The native provider is tested at
dcfe6b4; restored PR403 head34057b0has the identical tree. Its transaction behavior is bounded coarse serialization, not MVCC.With the repository's configured WordPress PHPUnit database and fixtures:
The managed test runner used
tests/fixtures/phpunit-isolation.phpand the shared WP-CLI bootstrap. The capability fake tests routing and failure handling, not transactional behavior of MyISAM. Independent-process conformance belongs to the native prerequisite.Operator-retained evidence:
transaction-capability-full-native-dcfe6b4-4432c243,transaction-capability-full-mysql-dcfe6b4-4432c243, anddm-post-identity-mysql-4432c243-dedicated, with full JUnit and effective recipes. No consumer assertions were weakened. No release or deployment is included.AI Assistance
OpenAI GPT-6 Astra (
openai/gpt-6-astra) via OpenCode investigated transactional requirements, implemented and reviewed the generic adapter through isolated agents, corrected test-double/bootstrap and lint issues, and ran dedicated MySQL and paired native/MySQL consumer verification under maintainer direction.