Skip to content

Commit 9e18f1d

Browse files
committedJan 27, 2017
Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO instance
1 parent 147a3dd commit 9e18f1d

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed
 

‎ext/pdo_dblib/dblib_driver.c

+4
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,10 @@ static int dblib_get_attribute(pdo_dbh_t *dbh, zend_long attr, zval *return_valu
281281
ZVAL_BOOL(return_value, ((pdo_dblib_db_handle *)dbh->driver_data)->stringify_uniqueidentifier);
282282
break;
283283

284+
case PDO_DBLIB_ATTR_VERSION:
285+
ZVAL_STRING(return_value, dbversion());
286+
break;
287+
284288
default:
285289
return 0;
286290
}

‎ext/pdo_dblib/pdo_dblib.c

+1
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ PHP_MINIT_FUNCTION(pdo_dblib)
194194
REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_CONNECTION_TIMEOUT", (long) PDO_DBLIB_ATTR_CONNECTION_TIMEOUT);
195195
REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_QUERY_TIMEOUT", (long) PDO_DBLIB_ATTR_QUERY_TIMEOUT);
196196
REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER", (long) PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER);
197+
REGISTER_PDO_CLASS_CONST_LONG("DBLIB_ATTR_VERSION", (long) PDO_DBLIB_ATTR_VERSION);
197198

198199
if (FAIL == dbinit()) {
199200
return FAILURE;

‎ext/pdo_dblib/php_pdo_dblib_int.h

+1
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ enum {
148148
PDO_DBLIB_ATTR_CONNECTION_TIMEOUT = PDO_ATTR_DRIVER_SPECIFIC,
149149
PDO_DBLIB_ATTR_QUERY_TIMEOUT,
150150
PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER,
151+
PDO_DBLIB_ATTR_VERSION,
151152
};
152153

153154
#endif

‎ext/pdo_dblib/tests/dbversion.phpt

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--TEST--
2+
PDO_DBLIB: \PDO::DBLIB_ATTR_VERSION exposes a string
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('pdo_dblib')) die('skip not loaded');
6+
require __DIR__ . '/config.inc';
7+
?>
8+
--FILE--
9+
<?php
10+
require __DIR__ . '/config.inc';
11+
12+
$version = $db->getAttribute(PDO::DBLIB_ATTR_VERSION);
13+
var_dump(is_string($version) && strlen($version));
14+
15+
?>
16+
--EXPECT--
17+
bool(true)

0 commit comments

Comments
 (0)
Please sign in to comment.