--TEST--
mysqli_get_cache_stats()
+--XFAIL--
+zval caching has been temporarily disabled for the 5.3.0 release
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
var_dump($info);
- if ($info['size'] !== $info['free_items'])
+ if ($info["size"] !== $info['free_items'])
printf("[003] Unused cache should have size (%d) == free_items (%d)\n",
- $info['size'], $info['free_items']);
+ $info["size"], $info['free_items']);
require_once('table.inc');
--TEST--
mysqli_get_cache_stats() - freeing for buffered result sets
+--XFAIL--
+zval caching has been temporarily disabled for the 5.3.0 release
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
--- /dev/null
+--TEST--
+mysqli_get_cache_stats() - disabled via php.ini
+--INI--
+mysqlnd.collect_statistics="0"
+mysqlnd.collect_memory_statistics="0"
+--SKIPIF--
+<?PHP
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+if (!function_exists('mysqli_get_cache_stats')) {
+ die("skip only available with mysqlnd");
+}
+?>
+--FILE--
+<?php
+ $before = mysqli_get_cache_stats();
+ if (!is_array($before) || empty($before)) {
+ printf("[001] Expecting non-empty array, got %s.\n", gettype($before));
+ var_dump($before);
+ }
+
+ require_once('table.inc');
+ if (!$res = mysqli_query($link, "SELECT id, label FROM test")) {
+ printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ while ($row = mysqli_fetch_assoc($res))
+ ;
+ if (!$res = mysqli_query($link, "SELECT id, label FROM test")) {
+ printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ while ($row = mysqli_fetch_assoc($res))
+ ;
+
+ $after = mysqli_get_cache_stats();
+ if ($before !== $after) {
+ printf("[004] Statistics have changed\n");
+ var_dump($before);
+ var_dump($after);
+ }
+
+ $ignore = array("size" => true, "free_items" => true, "references" => true);
+ foreach ($after as $k => $v) {
+ if ($v != 0 && !isset($ignore[$k])) {
+ printf("[005] Field %s should not have any other value but 0, got %s.\n",
+ $k, $v);
+ }
+ }
+
+ mysqli_close($link);
+
+ print "done!";
+?>
+--EXPECTF--
+done!
\ No newline at end of file
--FILE--
<?php
$before = mysqli_get_client_stats();
+ if (!is_array($before) || empty($before)) {
+ printf("[001] Expecting non-empty array, got %s.\n", gettype($before));
+ var_dump($before);
+ }
+
// connect and table inc connect to mysql and create tables
require_once('connect.inc');
require_once('table.inc');
$after = mysqli_get_client_stats();
- if (!is_array($before) || empty($before)) {
- printf("[001] Expecting non-empty array, got %s.\n", gettype($before));
+ if ($before !== $after) {
+ printf("[002] Statistics have changed\n");
var_dump($before);
+ var_dump($after);
}
foreach ($after as $k => $v)
if ($v != 0) {
- printf("[002] Field %s should not have any other value but 0, got %s.\n",
+ printf("[003] Field %s should not have any other value but 0, got %s.\n",
$k, $v);
}
--TEST--
mysqli_get_client_stats() - skipped rows
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
--TEST--
mysqli_get_connection_stats()
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
}
if ($info !== $info2) {
- printf("[005] The hashes should be identical\n");
+ printf("[005] The hashes should be identical except of the memory related fields\n");
var_dump($info);
var_dump($info2);
}
--- /dev/null
+--TEST--
+mysqli_get_connection_stats() - disable via php.ini
+--INI--
+mysqlnd.collect_statistics="0"
+mysqlnd.collect_memory_statistics="0"
+--SKIPIF--
+<?PHP
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+if (!function_exists('mysqli_get_connection_stats')) {
+ die("skip only available with mysqlnd");
+}
+?>
+--FILE--
+<?php
+ // connect and table inc connect to mysql and create tables
+ require_once('connect.inc');
+
+ if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
+ printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
+ $host, $user, $db, $port, $socket);
+ }
+ $before = mysqli_get_connection_stats($link);
+ if (!is_array($before) || empty($before)) {
+ printf("[002] Expecting non-empty array, got %s.\n", gettype($before));
+ var_dump($before);
+ }
+
+ mysqli_close($link);
+ if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
+ printf("[003] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
+ $host, $user, $db, $port, $socket);
+ }
+ $after = mysqli_get_connection_stats($link);
+
+ if ($before !== $after) {
+ printf("[004] Statistics differ!");
+ var_dump($before);
+ var_dump($after);
+ }
+
+ foreach ($after as $k => $v)
+ if ($v != 0) {
+ printf("[004] Field %s should not have any other value but 0, got %s.\n",
+ $k, $v);
+ }
+
+ mysqli_close($link);
+ print "done!";
+?>
+--EXPECTF--
+done!
\ No newline at end of file