php-src/ext/pdo_dblib
Nikita Popov caa710037e Rewrite PDO result binding
Instead of requiring the type to be determined in advance by the
describer function and then requiring get_col to return a buffer
of appropriate type, allow get_col to return an arbitrary zval.
See UPGRADING.INTERNALS for a more detailed description of the
change.

This makes the result fetching simpler, more efficient and more
flexible. The general possibility already existed via the special
PDO_PARAM_ZVAL type, but the usage was very inconvenient and/or
inefficient. Now it's possible to easily implement behavior like
"return int if it fits, otherwise string" and to avoid any kind
of complex management of temporary buffers.

This also fixes bug #40913 (our second highest voted bug of all
time, for some reason). PARAM_LOB result bindings will now
consistently return a stream resource, independently of the used
database driver.

I've tried my best to update all PDO drivers for this change, but
some of the changes may be broken, as I cannot test or even build
some of these drivers (in particular PDO dblib and PDO oci).
Fixes are appreciated -- a working CI setup would be even more
appreciated ;)
2020-12-22 15:56:34 +01:00
..
tests Skip test if bigint type is unsupported by active TDS version 2020-05-08 15:13:40 -04:00
config.m4 Allow building dblib with machine-dependent libdir 2020-12-14 10:25:03 +01:00
config.w32 Switch to use ZTS cache 2019-03-12 14:15:47 +03:00
CREDITS add myself to pdo_dblib CREDITS 2016-10-27 12:14:12 -04:00
dblib_driver.c PDO: Store/pass query_string as zend_string 2020-12-14 10:43:28 +01:00
dblib_stmt.c Rewrite PDO result binding 2020-12-22 15:56:34 +01:00
pdo_dblib.c Fix MHANDLEFUNC signature 2020-12-14 10:25:03 +01:00
php_pdo_dblib_int.h Fix MHANDLEFUNC signature 2020-12-14 10:25:03 +01:00
php_pdo_dblib.h Fix [-Wundef] warning in PDO DBLib extension 2020-05-20 16:29:52 +02:00