summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDharman <tekiela246@gmail.com>2021-03-13 19:06:17 +0000
committerNikita Popov <nikita.ppv@gmail.com>2021-03-15 10:48:36 +0100
commit3dfd3558ca2f63ffc8fe32103d6db264b2e3d6a4 (patch)
tree218fb6994334682c1ee462f9e44fc00a27dd2698
parent11dbed9b2f193547c7b9cfe07d6fa36b973a7800 (diff)
downloadphp-git-3dfd3558ca2f63ffc8fe32103d6db264b2e3d6a4.tar.gz
Deprecate mysqli driver_version property
The driver version hasn't been updated in 13 years, so this number is essentially meaningless. Check PHP_VERSION_ID instead.
-rw-r--r--UPGRADING5
-rw-r--r--ext/mysqli/mysqli_driver.c1
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt3
-rw-r--r--ext/mysqli/tests/mysqli_driver.phpt5
4 files changed, 8 insertions, 6 deletions
diff --git a/UPGRADING b/UPGRADING
index cef46be99f..db0e1d4843 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -212,6 +212,11 @@ PHP 8.1 UPGRADE NOTES
4. Deprecated Functionality
========================================
+- MySQLi:
+ . The mysqli_driver::$driver_version property has been deprecated. The driver
+ version is meaningless as it hasn't been updated in more than a decade. Use
+ PHP_VERSION_ID instead.
+
========================================
5. Changed Functions
========================================
diff --git a/ext/mysqli/mysqli_driver.c b/ext/mysqli/mysqli_driver.c
index 67f18fafa9..7f98faf996 100644
--- a/ext/mysqli/mysqli_driver.c
+++ b/ext/mysqli/mysqli_driver.c
@@ -78,6 +78,7 @@ static int driver_client_info_read(mysqli_object *obj, zval *retval, bool quiet)
/* {{{ property driver_driver_version_read */
static int driver_driver_version_read(mysqli_object *obj, zval *retval, bool quiet)
{
+ zend_error(E_DEPRECATED, "The driver_version property is deprecated");
ZVAL_LONG(retval, MYSQLI_VERSION_ID);
return SUCCESS;
}
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt b/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt
index 32d13d6750..e5ffc262ab 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt
@@ -54,7 +54,6 @@ printf("driver->client_info = '%s'\n", $driver->client_info);
assert(mysqli_get_client_version() === $driver->client_version);
printf("driver->client_version = '%s'\n", $driver->client_version);
-assert($driver->driver_version > 0);
printf("driver->driver_version = '%s'\n", $driver->driver_version);
assert(in_array($driver->report_mode, [
@@ -103,6 +102,8 @@ report_mode
Magic, magic properties:
driver->client_info = '%s'
driver->client_version = '%d'
+
+Deprecated: The driver_version property is deprecated in %s on line %d
driver->driver_version = '%d'
driver->report_mode = '%d'
driver->reconnect = ''
diff --git a/ext/mysqli/tests/mysqli_driver.phpt b/ext/mysqli/tests/mysqli_driver.phpt
index be2c61919b..a756766df6 100644
--- a/ext/mysqli/tests/mysqli_driver.phpt
+++ b/ext/mysqli/tests/mysqli_driver.phpt
@@ -27,11 +27,6 @@ if (($tmp = $driver->client_version) !== $client_version) {
gettype($tmp), $tmp);
}
-if (!is_int($tmp = $driver->driver_version) || (0 == $tmp)) {
- printf("[004] Expecting int/any, got %s/%s\n",
- gettype($tmp), $tmp);
-}
-
$all_modes = [
MYSQLI_REPORT_ALL,
MYSQLI_REPORT_STRICT,