Summary
Implement Blob parameter binding in the MySQL driver.
SQLite already supports BLOB parameters, while the MySQL driver currently rejects them.
Current behavior
DbValue supports vix::db::Blob.
SQLiteStatement::bind() binds BLOB data through SQLite.
MySQLStatement::bind() throws DBError when the value contains a Blob.
Expected behavior
MySQL prepared statements must accept binary data through the existing Blob and blob() APIs.
Binary payloads must preserve embedded zero bytes and arbitrary byte values.
Scope
Suggested files
modules/db/src/mysql/MySQLDriver.cpp
modules/db/tests/mysql_driver_test.cpp
Acceptance criteria
Non-goals
This issue does not include:
- streaming multi-gigabyte objects;
- file-to-BLOB convenience APIs;
- BLOB compression;
- ORM binary field mapping.
Suggested labels
scope:db
type:feature
tests
help wanted
status:ready
Summary
Implement
Blobparameter binding in the MySQL driver.SQLite already supports BLOB parameters, while the MySQL driver currently rejects them.
Current behavior
DbValuesupportsvix::db::Blob.SQLiteStatement::bind()binds BLOB data through SQLite.MySQLStatement::bind()throwsDBErrorwhen the value contains aBlob.Expected behavior
MySQL prepared statements must accept binary data through the existing
Blobandblob()APIs.Binary payloads must preserve embedded zero bytes and arbitrary byte values.
Scope
Suggested files
modules/db/src/mysql/MySQLDriver.cppmodules/db/tests/mysql_driver_test.cppAcceptance criteria
DBError.Non-goals
This issue does not include:
Suggested labels
scope:dbtype:featuretestshelp wantedstatus:ready