Skip to content

sync trunk - #4

Merged
batonac merged 4 commits into
Avunu:trunkfrom
WordPress:trunk
Jul 16, 2026
Merged

sync trunk#4
batonac merged 4 commits into
Avunu:trunkfrom
WordPress:trunk

Conversation

@batonac

@batonac batonac commented Jul 16, 2026

Copy link
Copy Markdown
Member

No description provided.

adamziel and others added 4 commits July 4, 2026 01:59
## Summary
Mark the SQLite plugin as **tested up to WordPress 7.0**, and:
- Update the WordPress test environment from 6.7.2 to 7.0.1.
- Normalize non-padded temporal literals used by WordPress 6.8 and
later.
- Remove WordPress test failures that now pass.
- Add exclusions for tests that now fail. These will be fixed in a
follow-up PR.

## Why
Make sure the SQLite plugin is tested up to WordPress 7.0.

Normalize date literals generated by WordPress 6.8 and later. WordPress
6.8 changed `get_calendar()` to generate date bounds with integer month
components, producing literals such as `2026-2-01`. MySQL interprets
these values as dates, while SQLite compares temporal strings lexically.
Normalizing the components preserves correct calendar queries.

## Verification

CI passing with tests updated to use WordPress 7.0.
## Summary
Use the PDO-compatible `WP_MySQL_On_SQLite` class directly in both the
WordPress plugin and MySQL proxy, while retaining `WP_SQLite_Driver`
temporarily for backward compatibility. This includes:
- Rename `WP_PDO_MySQL_On_SQLite` to `WP_MySQL_On_SQLite` and align
implementation, test, tooling, and CI.
- Adapt legacy SQL behavior tests and production consumers to the
`PDOStatement` query API.

This should be reviewed and merged together with
Automattic/wp-cli-sqlite-command#33.

## Motivation

Using the PDO-compatible driver directly makes it the primary public
entry point with a clear, PDO-defined API. The legacy `WP_SQLite_Driver`
constructor and result API remain available only as a temporary
backward-compatibility layer.

## Developer impact

The `WP_SQLite_Driver` API remains available for backward compatibility,
but new consumers should construct `WP_MySQL_On_SQLite` with its DSN and
options, and consume `query()` results as `PDOStatement` objects.
Consumers using `WP_PDO_MySQL_On_SQLite` must update the class name to
`WP_MySQL_On_SQLite`.
@batonac
batonac merged commit a22540e into Avunu:trunk Jul 16, 2026
21 checks passed
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.

3 participants