Re: Interest in a binary parameter type in PDO?

From: Date: Sun, 15 Jun 2025 14:52:11 +0000
Subject: Re: Interest in a binary parameter type in PDO?
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-127663@lists.php.net to get a copy of this message
On Wednesday, 23 October 2024 at 17:36, Calvin Buckley <calvin@cmpct.info> wrote:

> Hi internals,
> 
> I've been debugging some recent issues users have had, as well as
> discussing some related ones. I've come to the conclusion there's a lot
> issues with applications trying to access binary data via PDO drivers.
> 
> For example
> 
> - Binary data when quoting in SQL Server can easily get mangled, as the
> quoter can't handle binary data and truncates the string. It's
> possible other drivers are like this too.
> - ODBC drivers can be unpredictable behaviour wise when binding binary
> data as SQL_C_CHAR (like what the get_col handler does). In the case
> of one driver, it will hex encode the data and can confuse the size
> handling in the get_col handler.
> 
> I've thought about overriding the LOB semantics for quick fixes, but
> this isn't the right solution, as a LOB and binary data are orthogonal;
> i.e. CLOBs are LOB strings and VARBINARY doesn't have LOB semantics. A
> binary type (or modifier, i.e. like intl/natl, not to bikeshed tho) can
> also be used w/ string columns in the database to possibly override i.e.
> automatic charset encoding changes from an ODBC driver.
> 
> I had previously made an issue and PR (links below), but I'm discussing
> on internals to revitalize the conversation after being motivated by
> recent issues. I'd like to hear from users, database extn. developers,
> and userland database library extension developers if this is the right
> approach, and if I should move forward dusting off the PR and probably
> writing an RFC. Said PR includes the changes needed for DBLIB, ODBC, and
> SQLite driver wise, as well as some tests. MySQL/Postgres/Firebird
> support would need to be added.
> 
> ~calvinb
> 
> [issue]: https://github.com/php/php-src/issues/11462
> [pr]: https://github.com/php/php-src/pull/11674

Sorry for the late reply,

I think this makes a lot of sense and would be in favour of including this in PDO.

Best regards,

Gina P. Banyard


Thread (5 messages)

« previous php.internals (#127663) next »