Repository navigation
Conversation
JanJakes
force-pushed
the
turso-db
branch
8 times, most recently
from
June 5, 2026 10:43
94c4537 to
ff18564
Compare
JanJakes
force-pushed
the
turso-db
branch
2 times, most recently
from
July 10, 2026 09:56
165666b to
40c7490
Compare
Member
Author
|
Closing this for now. We can reopen when needed. Turso DB is more behind SQLite than I thought. It's improving, but many patches are still needed. We can re-evaluate in the future. |
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
Adds a CI job that runs the SQLite driver unit tests (
packages/mysql-on-sqlite) against Turso DB, a Rust reimplementation of SQLite.The workflow:
mainat commit83d0f02f567f54ed9529f0b3955f294d3836a134for reproducible builds.turso_sqlite3crate as a shared library and verifies its exported SQLite C API symbols.pdo_sqlite.Turso source patches
The workflow applies these patches in order from
.github/turso-patches/:01-stub-macro.py— return neutral values from unimplemented C API stubs instead of aborting PHP.02-column-functions-null-row.py— return SQLite-compatible null values when column accessors are called without a current row.03-create-function-v2-skip-old-destroy.py— avoid invoking stale UDF destroy callbacks when global function slots are reused.04-finalize-try-lock-on-gc-reentry.py— avoid finalize deadlocks during PHP GC re-entry from UDF callbacks.05-max-custom-funcs-32-to-64.py— expand the C binding's function bridge capacity for the driver's 44 UDFs.06-collation-mysql-aliases.py— map common MySQL collation names to compatible Turso built-ins.07-collate-direct-column-refs-only.py— limit implicit column collation inheritance to direct column references.08-create-trigger-preserve-original-sql.py— preserve the original CREATE TRIGGER SQL text insqlite_master.09-hash-join-correlated-subquery.py— prevent incorrect hash joins in correlated query blocks.The previous
sqlite_sequencedatabase-selection patch is no longer included because Turso fixed it upstream in 8f7d31f.Refs: #204
Test plan
turso_sqlite3builds successfully from the pinned source.sqlite3_*symbols.pdo_sqlitesmoke test and Turso compatibility probes pass.