com php-src: Expose DB-Library version as \PDO::DBLIB_A TTR_VERSION attribute on \PDO instance: ext/pdo _dblib/dblib_driver.c
ext/pdo_dblib/pdo_dblib.c ext/pdo_dblib/php_pdo_dblib_int.h ext/pdo_dbli b/tests/dbversion.phpt
| From: | Adam Baratz | Date: | Fri, 27 Jan 2017 23:38:56 +0000 |
| Subject: | com php-src: Expose DB-Library version as \PDO::DBLIB_A TTR_VERSION attribute on \PDO instance: ext/pdo _dblib/dblib_driver.c ext/pdo_dblib/pdo_dblib.c ext/pdo_dblib/php_pdo_dblib_int.h ext/pdo_dbli b/tests/dbversion.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-96885@lists.php.net to get a copy of this message | ||
Commit: 9e18f1d4aff855161eeb0de2f4979a2e7eff7175
Author: Adam Baratz <adambaratz@php.net> Fri, 27 Jan 2017 18:38:56 -0500
Parents: 147a3dd379c5d749346c608936914ea828ee3bc0
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=9e18f1d4aff855161eeb0de2f4979a2e7eff7175
Log:
Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO instance
Changed paths:
M ext/pdo_dblib/dblib_driver.c
M ext/pdo_dblib/pdo_dblib.c
M ext/pdo_dblib/php_pdo_dblib_int.h
A ext/pdo_dblib/tests/dbversion.phpt
Diff:
diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c
index cff6aea..565b4b2 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 270a3c3..1732cd7 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 df17e7e..7eb6b1d 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 0000000..7575d5c
--- /dev/null
+++ b/ext/pdo_dblib/tests/dbversion.phpt
@@ -0,0 +1,17 @@
+--TEST--
+PDO_DBLIB: \PDO::DBLIB_ATTR_VERSION exposes a string
+--SKIPIF--
+<?php
+if (!extension_loaded('pdo_dblib')) die('skip not loaded');
+require __DIR__ . '/config.inc';
+?>
+--FILE--
+<?php
+require __DIR__ . '/config.inc';
+
+$version = $db->getAttribute(PDO::DBLIB_ATTR_VERSION);
+var_dump(is_string($version) && strlen($version));
+
+?>
+--EXPECT--
+bool(true)