From: Adam Baratz Date: Fri, 27 Jan 2017 23:38:56 +0000 (-0500) Subject: Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO instance X-Git-Tag: php-7.2.0alpha1~459 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e18f1d4aff855161eeb0de2f4979a2e7eff7175;p=php Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO instance --- diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index cff6aea816..565b4b2ca8 100644 --- a/ext/pdo_dblib/dblib_driver.c +++ b/ext/pdo_dblib/dblib_driver.c @@ -281,6 +281,10 @@ static int dblib_get_attribute(pdo_dbh_t *dbh, zend_long attr, zval *return_valu ZVAL_BOOL(return_value, ((pdo_dblib_db_handle *)dbh->driver_data)->stringify_uniqueidentifier); break; + case PDO_DBLIB_ATTR_VERSION: + ZVAL_STRING(return_value, dbversion()); + break; + default: return 0; } diff --git a/ext/pdo_dblib/pdo_dblib.c b/ext/pdo_dblib/pdo_dblib.c index 270a3c36d1..1732cd75f9 100644 --- a/ext/pdo_dblib/pdo_dblib.c +++ b/ext/pdo_dblib/pdo_dblib.c @@ -194,6 +194,7 @@ PHP_MINIT_FUNCTION(pdo_dblib) REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_CONNECTION_TIMEOUT", (long) PDO_DBLIB_ATTR_CONNECTION_TIMEOUT); REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_QUERY_TIMEOUT", (long) PDO_DBLIB_ATTR_QUERY_TIMEOUT); REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER", (long) PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER); + REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_VERSION", (long) PDO_DBLIB_ATTR_VERSION); if (FAIL == dbinit()) { return FAILURE; diff --git a/ext/pdo_dblib/php_pdo_dblib_int.h b/ext/pdo_dblib/php_pdo_dblib_int.h index df17e7ebdd..7eb6b1d9a1 100644 --- a/ext/pdo_dblib/php_pdo_dblib_int.h +++ b/ext/pdo_dblib/php_pdo_dblib_int.h @@ -148,6 +148,7 @@ enum { PDO_DBLIB_ATTR_CONNECTION_TIMEOUT = PDO_ATTR_DRIVER_SPECIFIC, PDO_DBLIB_ATTR_QUERY_TIMEOUT, PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER, + PDO_DBLIB_ATTR_VERSION, }; #endif diff --git a/ext/pdo_dblib/tests/dbversion.phpt b/ext/pdo_dblib/tests/dbversion.phpt new file mode 100644 index 0000000000..7575d5c45b --- /dev/null +++ b/ext/pdo_dblib/tests/dbversion.phpt @@ -0,0 +1,17 @@ +--TEST-- +PDO_DBLIB: \PDO::DBLIB_ATTR_VERSION exposes a string +--SKIPIF-- + +--FILE-- +getAttribute(PDO::DBLIB_ATTR_VERSION); +var_dump(is_string($version) && strlen($version)); + +?> +--EXPECT-- +bool(true)