Skip to content

Ext/sqlite3: SQLite3 :memory: exec/querySingle via libsqlite3 FFI (#3434) - #18964

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-3434-sqlite3-memory
Jul 14, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-3434-sqlite3-memory

Conversation

@PurHur

@PurHur PurHur commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Summary

php-src reference

  • ext/sqlite3/sqlite3.cPHP_METHOD(SQLite3, exec), querySingle, constructor/open
  • ext/sqlite3/sqlite3.stub.php — method signatures, SQLITE3_* constants

Verification

PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/repro/maintainer_sqlite3_memory.php
# ok

PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/compliance/cases/ext/sqlite3_memory.phpt
# ok
# closed

./script/phpunit.sh --filter 'sqlite3_memory|sqlite3_exception_forward'
# OK (4 tests, 4 assertions)

Note: AOT user-script compile of the repro still hits VM-only class methods (Call to undefined method SQLite3::exec()); JIT/AOT lowering deferred to follow-up. VM parity is the issue done-when for v1.

Closes #3434

Made with Cursor

)

Implement SQLite3 class with constructor, exec(), querySingle(), and close()
on the forward profile using PHP-in-PHP VM handlers and a thin libsqlite3 FFI
bridge (php-src ext/sqlite3/sqlite3.c). Adds compliance guard and spine units.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur force-pushed the agent/issue-3434-sqlite3-memory branch from 28536aa to d2f52b1 Compare July 14, 2026 20:17
@PurHur
PurHur merged commit efd5bff into master Jul 14, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-3434-sqlite3-memory branch July 14, 2026 20:17
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.

Stdlib: ext/sqlite3 — SQLite3 class connect/exec/query (ext/sqlite3 parity)

1 participant