uw Wed Oct 10 10:51:34 2007 UTC Modified files: /php-src/ext/mysqli/tests mysqli_set_local_infile_default.phpt mysqli_set_local_infile_handler_bad_character.phpt mysqli_set_local_infile_handler_buffer_overflow.phpt mysqli_set_local_infile_handler_closefile.phpt mysqli_set_local_infile_handler_close_link.phpt mysqli_set_local_infile_handler_kill_link.phpt mysqli_set_local_infile_handler_negative_len.phpt mysqli_set_local_infile_handler_nested_call.phpt mysqli_set_local_infile_handler_new_query.phpt mysqli_set_local_infile_handler_nofileop.phpt mysqli_set_local_infile_handler.phpt mysqli_set_local_infile_handler_replace_buffer.phpt mysqli_set_local_infile_handler_short_len.phpt mysqli_set_local_infile_handler_unregister.phpt mysqli_constants.phpt mysqli_get_connection_stats.phpt mysqli_options.phpt mysqli_phpinfo.phpt mysqli_real_connect.phpt mysqli_report.phpt mysqli_set_charset.phpt mysqli_stmt_attr_set.phpt mysqli_stmt_bind_param.phpt mysqli_stmt_bind_result_bit.phpt mysqli_stmt_bind_result.phpt mysqli_stmt_get_warnings.phpt mysqli_stmt_init.phpt mysqli_stmt_send_long_data.phpt Log: More changes = synching HEAD with 5_3
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_default.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_default.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_default.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_default.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_default.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_default.phpt Wed Oct 10 10:51:34 2007 @@ -1,18 +1,18 @@ --TEST-- mysqli_set_local_infile_default() --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) die("skip - function not available."); require_once('connect.inc'); -if (!$TEST_EXPERIMENTAL) - die("skip - experimental (= unsupported) feature"); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); @@ -25,6 +25,10 @@ if (!is_null($tmp = @mysqli_set_local_infile_default($link))) printf("[002] Expecting NULL got %s/%s\n", gettype($tmp), $tmp); + $link = new mysqli(); + if (!is_null($tmp = @mysqli_set_local_infile_default($link))) + printf("[002a] Expecting NULL got %s/%s\n", gettype($tmp), $tmp); + include("table.inc"); if (!is_null($tmp = @mysqli_set_local_infile_default($link, 'foo'))) http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_bad_character.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_bad_character.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_bad_character.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_bad_character.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_bad_character.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_bad_character.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - random ASCII character including \0 --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); require_once('connect.inc'); @@ -12,7 +12,25 @@ if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_buffer_overflow.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_buffer_overflow.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_buffer_overflow.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_buffer_overflow.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_buffer_overflow.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_buffer_overflow.phpt Wed Oct 10 10:51:34 2007 @@ -1,18 +1,36 @@ --TEST-- mysqli_set_local_infile_handler() - buffer overflow --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) die("skip - function not available."); -include_once('connect.inc'); +require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_closefile.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_closefile.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_closefile.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_closefile.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_closefile.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_closefile.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - do not use the file pointer --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php include "connect.inc"; http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_close_link.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_close_link.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_close_link.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_close_link.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_close_link.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_close_link.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - close database link --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php include "connect.inc"; http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_kill_link.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_kill_link.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_kill_link.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_kill_link.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_kill_link.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_kill_link.phpt Wed Oct 10 10:51:34 2007 @@ -1,18 +1,33 @@ --TEST-- mysqli_set_local_infile_handler() - kill database link --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) die("skip - function not available."); require_once('connect.inc'); -if (!$TEST_EXPERIMENTAL) - die("skip - experimental (= unsupported) feature"); +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php include "connect.inc"; http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_negative_len.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_negative_len.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_negative_len.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_negative_len.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_negative_len.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_negative_len.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - negative return value/buflen to indicate an error --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); @@ -39,7 +57,5 @@ --EXPECTF-- Callback set to 'callback_negative_len' Callback: 0 - -Warning: mysqli_query(): negative length means error in %s on line %d [022] LOAD DATA failed, [2000] negative length means error done! \ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nested_call.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nested_call.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nested_call.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nested_call.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nested_call.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nested_call.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - nested calls --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_new_query.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_new_query.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_new_query.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_new_query.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_new_query.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_new_query.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - run new query on db link --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nofileop.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nofileop.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nofileop.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nofileop.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nofileop.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_nofileop.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - do not use the file pointer --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler.phpt Wed Oct 10 10:51:34 2007 @@ -1,19 +1,33 @@ --TEST-- mysqli_set_local_infile_handler() --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); -require_once('connect.inc'); if (!function_exists('mysqli_set_local_infile_handler')) die("skip - function not available."); require_once('connect.inc'); -if (!$TEST_EXPERIMENTAL) - die("skip - experimental (= unsupported) feature"); +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); @@ -133,6 +147,9 @@ $expected = array(); try_handler(20, $link, $file, 'callback_fclose', $expected); + // FIXME - TODO - KLUDGE - + // IMHO this is wrong. ext/mysqli should bail as the function signature + // is not complete. That's a BC break, OK, but it makes perfectly sense. $expected = array(); try_handler(30, $link, $file, 'callback_invalid_args', $expected); @@ -153,11 +170,63 @@ Callback: 1 Callback set to 'callback_fclose' Callback: 0 +[022] LOAD DATA failed, [2000] File handle closed in handler Callback set to 'callback_invalid_args' -Should bail! +Callback: 0 +Callback: 1 +[037] More results than expected! +array(2) { + ["id"]=> + string(2) "97" + ["label"]=> + string(1) "x" +} +array(2) { + ["id"]=> + string(2) "98" + ["label"]=> + string(1) "y" +} +array(2) { + ["id"]=> + string(2) "99" + ["label"]=> + string(1) "z" +} +Callback set to 'callback_error' +Callback: 0 +[042] LOAD DATA failed, [2000] How to access this error? +done! +--UEXPECTF-- +Callback set to 'callback_simple' +Callback: 0 +Callback: 1 +Callback set to 'callback_fclose' +Callback: 0 +[022] LOAD DATA failed, [2000] File handle closed in handler +Callback set to 'callback_invalid_args' +Callback: 0 +Callback: 1 +[037] More results than expected! +array(2) { + [u"id"]=> + unicode(2) "97" + [u"label"]=> + unicode(1) "x" +} +array(2) { + [u"id"]=> + unicode(2) "98" + [u"label"]=> + unicode(1) "y" +} +array(2) { + [u"id"]=> + unicode(2) "99" + [u"label"]=> + unicode(1) "z" +} Callback set to 'callback_error' Callback: 0 - -Warning: mysqli_query(): How to access this error? in %s on line %d [042] LOAD DATA failed, [2000] How to access this error? -done! \ No newline at end of file +done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_replace_buffer.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_replace_buffer.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_replace_buffer.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_replace_buffer.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_replace_buffer.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_replace_buffer.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - replace buffer pointer --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_short_len.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_short_len.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_short_len.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_short_len.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_short_len.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_short_len.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_set_local_infile_handler() - report shorter buffer --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) @@ -12,7 +12,25 @@ require_once('connect.inc'); if (!$TEST_EXPERIMENTAL) die("skip - experimental (= unsupported) feature"); + +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_unregister.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_unregister.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_unregister.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_unregister.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_unregister.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_local_infile_handler_unregister.phpt Wed Oct 10 10:51:34 2007 @@ -1,18 +1,33 @@ --TEST-- mysqli_set_local_infile_handler() - do not use the file pointer --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_local_infile_handler')) die("skip - function not available."); require_once('connect.inc'); -if (!$TEST_EXPERIMENTAL) - die("skip - experimental (= unsupported) feature"); +if (!$link = mysqli_connect($host, $user, $passwb, $db, $port, $socket)) + die("skip Cannot connect to MySQL"); + +if (!$res = mysqli_query($link, 'SHOW VARIABLES LIKE "local_infile"')) { + mysqli_close($link); + die("skip Cannot check if Server variable 'local_infile' is set to 'ON'"); +} + +$row = mysqli_fetch_assoc($res); +mysqli_free_result($res); +mysqli_close($link); + +if ('ON' != $row['Value']) + die(sprintf("skip Server variable 'local_infile' seems not set to 'ON', found '%s'", + $row['Value'])); ?> +--INI-- +mysqli.allow_local_infile=1 --FILE-- <?php require_once('connect.inc'); @@ -45,5 +60,8 @@ --EXPECTF-- Callback set to 'callback_unregister' Callback: 0 -[022] LOAD DATA failed, [2000] Can't execute load data local init callback function -done! \ No newline at end of file + +Warning: mysqli_query(): File handle closed in %s on line %d +[022] LOAD DATA failed, [2000] File handle closed +[024/0] [0] '' +done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_constants.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_constants.phpt diff -u php-src/ext/mysqli/tests/mysqli_constants.phpt:1.2 php-src/ext/mysqli/tests/mysqli_constants.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_constants.phpt:1.2 Thu Aug 9 10:01:19 2007 +++ php-src/ext/mysqli/tests/mysqli_constants.phpt Wed Oct 10 10:51:34 2007 @@ -82,11 +82,14 @@ ); /* depends on the build - experimental */ - if ($IS_MYSQLND && defined('MYSQLI_OPT_INT_AND_YEARS_AS_INT')) + if ($IS_MYSQLND && defined('MYSQLI_OPT_INT_AND_YEARS_AS_INT')) { $expected_constants['MYSQLI_OPT_INT_AND_YEARS_AS_INT'] = true; + } if ($IS_MYSQLND) { $version = 50007 + 1; + $expected_constants['MYSQLI_OPT_NET_CMD_BUFFER_SIZE'] = true; + $expected_constants['MYSQLI_OPT_NET_READ_BUFFER_SIZE'] = true; } else { $version = mysqli_get_client_version(); } @@ -159,4 +162,4 @@ print "done!"; ?> --EXPECTF-- -done! \ No newline at end of file +done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_get_connection_stats.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_get_connection_stats.phpt diff -u php-src/ext/mysqli/tests/mysqli_get_connection_stats.phpt:1.2 php-src/ext/mysqli/tests/mysqli_get_connection_stats.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_get_connection_stats.phpt:1.2 Thu Aug 9 10:01:19 2007 +++ php-src/ext/mysqli/tests/mysqli_get_connection_stats.phpt Wed Oct 10 10:51:34 2007 @@ -27,6 +27,17 @@ if (!is_array($info2 = mysqli_get_client_stats()) || empty($info2)) printf("[004] Expecting array/any_non_empty, got %s/%s\n", gettype($info2), $info2); + foreach ($info as $k => &$v) { + if (strpos($k, "mem_") === 0) { + $v = 0; + } + } + foreach ($info2 as $k => &$v) { + if (strpos($k, "mem_") === 0) { + $v = 0; + } + } + if ($info !== $info2) { printf("[005] The hashes should be identical\n"); var_dump($info); @@ -52,4 +63,4 @@ print "done!"; ?> --EXPECTF-- -done! \ No newline at end of file +done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_options.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_options.phpt diff -u php-src/ext/mysqli/tests/mysqli_options.phpt:1.2 php-src/ext/mysqli/tests/mysqli_options.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_options.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_options.phpt Wed Oct 10 10:51:34 2007 @@ -16,6 +16,10 @@ MYSQLI_OPT_LOCAL_INFILE, MYSQLI_INIT_COMMAND, MYSQLI_SET_CHARSET_NAME); + if ($IS_MYSQLND && defined('MYSQLI_OPT_NET_CMD_BUFFER_SIZE')) + $valid_options[] = constant('MYSQLI_OPT_NET_CMD_BUFFER_SIZE'); + if ($IS_MYSQLND && defined('MYSQLI_OPT_NET_READ_BUFFER_SIZE')) + $valid_options[] = constant('MYSQLI_OPT_NET_READ_BUFFER_SIZE'); if ($IS_MYSQLND && defined('MYSQLI_OPT_INT_AND_YEARS_AS_INT')) $valid_options[] = constant('MYSQLI_OPT_INT_AND_YEARS_AS_INT'); if (defined('MYSQLI_OPT_NUMERIC_AND_DATETIME_AS_UNICODE')) @@ -108,4 +112,4 @@ Warning: mysqli_options(): Couldn't fetch mysqli in %s line %d %s(16) "SOME_RANDOM_FLAG" NULL -done! \ No newline at end of file +done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_phpinfo.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_phpinfo.phpt diff -u php-src/ext/mysqli/tests/mysqli_phpinfo.phpt:1.2 php-src/ext/mysqli/tests/mysqli_phpinfo.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_phpinfo.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_phpinfo.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- phpinfo() mysqli section --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ?> --FILE-- @@ -59,7 +59,8 @@ 'implicit_free_result', 'explicit_stmt_close', 'implicit_stmt_close', 'put_hits', 'put_misses', 'get_hits', 'get_misses', 'size', 'free_items', 'references', 'mysqli.cache_size', - 'mysql.allow_local_infile' + 'mysqli.allow_local_infile', + 'mysqli.allow_persistent', 'mysqli.max_persistent' ); foreach ($expected as $k => $entry) if (!stristr($phpinfo, $entry)) http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_real_connect.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_real_connect.phpt diff -u php-src/ext/mysqli/tests/mysqli_real_connect.phpt:1.3 php-src/ext/mysqli/tests/mysqli_real_connect.phpt:1.4 --- php-src/ext/mysqli/tests/mysqli_real_connect.phpt:1.3 Sat Aug 11 15:38:34 2007 +++ php-src/ext/mysqli/tests/mysqli_real_connect.phpt Wed Oct 10 10:51:34 2007 @@ -1,16 +1,14 @@ --TEST-- mysqli_real_connect() --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ?> ---INI-- -open_basedir=. --FILE-- <?php - include "connect.inc"; + include("connect.inc"); $tmp = NULL; $link = NULL; @@ -104,8 +102,14 @@ if (!mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket, 65536)) printf("[016] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); - if (mysqli_query($link, "SELECT 1 AS a; SELECT 2 AS b")) + if ($res = mysqli_query($link, "SELECT 1 AS a; SELECT 2 AS b")) { printf("[017] Should have failed. CLIENT_MULTI_STATEMENT should have been disabled.\n"); + var_dump($res->num_rows); + mysqli_next_result($link); + $res = mysqli_store_result($link); + var_dump($res->num_rows); + } + mysqli_close($link); if (!$link = mysqli_init()) @@ -133,8 +137,34 @@ mysqli_close($link); + if ($IS_MYSQLND) { + ini_set('mysqli.default_host', 'p:' . $host); + $link = mysqli_init(); + if ([EMAIL PROTECTED]($link)) { + printf("[022] Usage of mysqli.default_host=p:%s (persistent) failed\n", $host) ; + } else { + if (!$res = mysqli_query($link, "SELECT 'mysqli.default_host (persistent)' AS 'testing'")) + printf("[023] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + $tmp = mysqli_fetch_assoc($res); + if ($tmp['testing'] !== 'mysqli.default_host (persistent)') { + printf("[024] Result looks strange - check manually, [%d] %s\n", + mysqli_errno($link), mysqli_error($link)); + var_dump($tmp); + } + mysqli_free_result($res); + mysqli_close($link); + } + + ini_set('mysqli.default_host', 'p:'); + $link = mysqli_init(); + if (@mysqli_real_sconnect($link)) { + printf("[025] Usage of mysqli.default_host=p: did not fail\n") ; + mysqli_close($link); + } + } + if (NULL !== ($tmp = mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket))) - printf("[022] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); + printf("[026] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); print "done!"; ?> http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_report.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_report.phpt diff -u php-src/ext/mysqli/tests/mysqli_report.phpt:1.2 php-src/ext/mysqli/tests/mysqli_report.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_report.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_report.phpt Wed Oct 10 10:51:34 2007 @@ -1,9 +1,9 @@ --TEST-- mysqli_report() --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ?> --FILE-- @@ -188,11 +188,14 @@ */ $log_slow_queries = false; $log_queries_not_using_indexes = false; + mysqli_report(MYSQLI_REPORT_OFF); + mysqli_report(MYSQLI_REPORT_INDEX); if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) printf("[017] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()); - if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'log_slow_queries'")) + // this might cause a warning - no index used + if (!$res = @mysqli_query($link, "SHOW VARIABLES LIKE 'log_slow_queries'")) printf("[018] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!$row = mysqli_fetch_assoc($res)) @@ -201,7 +204,8 @@ $log_slow_query = ('ON' == $row['Value']); if (mysqli_get_server_version($link) >= 51011) { - if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'log_queries_not_using_indexes'")) + // this might cause a warning - no index used + if (!$res = @mysqli_query($link, "SHOW VARIABLES LIKE 'log_queries_not_using_indexes'")) printf("[020] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!$row = mysqli_fetch_assoc($res)) @@ -216,16 +220,64 @@ printf("[022 - %d] [%d] %s\n", $i - 99, mysqli_errno($link), mysqli_error($link)); } + // this might cause a warning - no index used if (!$res = @mysqli_query($link, "SELECT id, label FROM test WHERE id = 1323")) printf("[023] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); mysqli_free_result($res); - - mysqli_report(MYSQLI_REPORT_OFF); - mysqli_report(MYSQLI_REPORT_INDEX); } } + // Maybe we've provoked an index message, maybe not. + // All we can do is make a few dummy calls to ensure that all codes gets executed which + // checks the flag. Functions to check: mysqli_query() - done above, + // mysqli_stmt_execute(), mysqli_prepare(), mysqli_real_query(), mysqli_store_result() + // mysqli_use_result(), mysqli_thread_safe(), mysqli_thread_id() + mysqli_report(MYSQLI_REPORT_OFF); + mysqli_close($link); + if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) + printf("[024] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()); + + if (!$stmt = mysqli_stmt_init($link)) + printf("[025] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test')) + printf("[026] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); + + if (!mysqli_stmt_execute($stmt)) + printf("[027] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); + + mysqli_stmt_close($stmt); + + if (!mysqli_real_query($link, 'SELECT label, id FROM test')) + printf("[028] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + if (!$res = mysqli_use_result($link)) + printf("[029] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + mysqli_free_result($res); + + if (!mysqli_real_query($link, 'SELECT label, id FROM test')) + printf("[030] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + if (!$res = mysqli_store_result($link)) + printf("[031] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + mysqli_free_result($res); + + if (!$stmt = mysqli_prepare($link, 'SELECT id * 3 FROM test')) + printf("[032] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + else + mysqli_stmt_close($stmt); + + if (!mysqli_query($link, 'INSERT INTO test(id, label) VALUES (100, "z")', MYSQLI_USE_RESULT) || + !mysqli_query($link, 'DELETE FROM test WHERE id > 50', MYSQLI_USE_RESULT)) + printf("[033] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + $tmp = mysqli_thread_safe($link); + $tmp = mysqli_thread_id($link); + + mysqli_close($link); print "done!"; ?> --EXPECTF-- http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_set_charset.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_set_charset.phpt diff -u php-src/ext/mysqli/tests/mysqli_set_charset.phpt:1.2 php-src/ext/mysqli/tests/mysqli_set_charset.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_set_charset.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_set_charset.phpt Wed Oct 10 10:51:34 2007 @@ -1,15 +1,50 @@ --TEST-- mysqli_set_charset() --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); if (!function_exists('mysqli_set_charset')) die("skip Function not available"); if (ini_get("unicode.semantics")) die("skip: mysqli_set_charset() is disabled in unicode"); + +require_once('connect.inc'); +if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) + die(sprintf("skip Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error())); + +if (!($res = mysqli_query($link, 'SELECT version() AS server_version')) || + !($tmp = mysqli_fetch_assoc($res))) { + mysqli_close($link); + die(sprintf("skip Cannot check server version, [%d] %s\n", + mysqli_errno($link), mysqli_error($link))); +} +mysqli_free_result($res); +$version = explode('.', $tmp['server_version']); +if (empty($version)) { + mysqli_close($link); + die(sprintf("skip Cannot check server version, based on '%s'", + $tmp['server_version'])); +} + +if ($version[0] <= 4 && $version[1] < 1) { + mysqli_close($link); + die(sprintf("skip Requires MySQL Server 4.1+\n")); +} + +if ((($res = mysqli_query($link, 'SHOW CHARACTER SET LIKE "latin1"', MYSQLI_STORE_RESULT)) && + (mysqli_num_rows($res) == 1)) || + (($res = mysqli_query($link, 'SHOW CHARACTER SET LIKE "latin2"', MYSQLI_STORE_RESULT)) && + (mysqli_num_rows($res) == 1)) + ) { + // ok, required latin1 or latin2 are available + mysqli_close($link); +} else { + die(sprintf("skip Requires character set latin1 or latin2\n")); + mysqli_close($link); +} ?> --FILE-- <?php @@ -29,17 +64,6 @@ require('table.inc'); - if (!$res = mysqli_query($link, 'SELECT version() AS server_version')) - printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); - $tmp = mysqli_fetch_assoc($res); - mysqli_free_result($res); - $version = explode('.', $tmp['server_version']); - if (empty($version)) - printf("[005] Cannot determine server version, need MySQL Server 4.1+ for the test!\n"); - - if ($version[0] <= 4 && $version[1] < 1) - printf("[006] Need MySQL Server 4.1+ for the test!\n"); - if (!$res = mysqli_query($link, 'SELECT @@character_set_connection AS charset, @@collation_connection AS collation')) printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); $tmp = mysqli_fetch_assoc($res); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_attr_set.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_stmt_attr_set.phpt diff -u php-src/ext/mysqli/tests/mysqli_stmt_attr_set.phpt:1.2 php-src/ext/mysqli/tests/mysqli_stmt_attr_set.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_stmt_attr_set.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_stmt_attr_set.phpt Wed Oct 10 10:51:34 2007 @@ -28,25 +28,39 @@ require('table.inc'); $valid_attr = array(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH); - if (mysqli_get_client_version() > 50003) + if ((mysqli_get_client_version() > 50003) || $IS_MYSQLND) { $valid_attr[] = MYSQLI_STMT_ATTR_CURSOR_TYPE; + $valid_attr[] = MYSQLI_CURSOR_TYPE_NO_CURSOR; + $valid_attr[] = MYSQLI_CURSOR_TYPE_READ_ONLY; + $valid_attr[] = MYSQLI_CURSOR_TYPE_FOR_UPDATE; + $valid_attr[] = MYSQLI_CURSOR_TYPE_SCROLLABLE; + } + + if ((mysqli_get_client_version() > 50007) || $IS_MYSQLND) + $valid_attr[] = MYSQLI_STMT_ATTR_PREFETCH_ROWS; -/* prefetch isn't supported - if (mysqli_get_client_version() > 50007) - $valid_attr[] = MYSQLI_STMT_ATTR_PREFETCH_ROWS; -*/ - do { - $invalid_attr = mt_rand(-10000, 10000); - } while (in_array($invalid_attr, $valid_attr)); $stmt = mysqli_stmt_init($link); if (!is_null($tmp = @mysqli_stmt_attr_set($stmt, 0, 0))) printf("[005] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); $stmt->prepare("SELECT * FROM test"); - if (false !== ($tmp = @mysqli_stmt_attr_set($stmt, $invalid_attr, 0))) - printf("[006] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); + mt_srand(microtime(true)); + for ($i = -100; $i < 1000; $i++) { + if (in_array($i, $valid_attr)) + continue; + $invalid_attr = $i; + if (false !== ($tmp = @mysqli_stmt_attr_set($stmt, $invalid_attr, 0))) + printf("[006a] Expecting boolean/false for attribute %d, got %s/%s\n", $invalid_attr, gettype($tmp), $tmp); + } + for ($i = 0; $i < 10; $i++) { + do { + $invalid_attr = mt_rand(-1 * PHP_INT_MAX + 1, PHP_INT_MAX); + } while (in_array($invalid_attr, $valid_attr)); + if (false !== ($tmp = @mysqli_stmt_attr_set($stmt, $invalid_attr, 0))) + printf("[006b] Expecting boolean/false for attribute %d, got %s/%s\n", $invalid_attr, gettype($tmp), $tmp); + } $stmt->close(); // http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_bind_param.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_stmt_bind_param.phpt diff -u php-src/ext/mysqli/tests/mysqli_stmt_bind_param.phpt:1.2 php-src/ext/mysqli/tests/mysqli_stmt_bind_param.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_stmt_bind_param.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_stmt_bind_param.phpt Wed Oct 10 10:51:34 2007 @@ -44,6 +44,9 @@ libmysql gives a less descriptive error message but mysqlnd, we did not unify the error messages but ignore this slight difference silently */ + if (!false === ($tmp = @mysqli_stmt_bind_param($stmt, " ", $tmp))) + printf("[003d] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); + if (!false === ($tmp = @mysqli_stmt_bind_param($stmt, "", $id, $label))) printf("[003a] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp); @@ -347,6 +350,30 @@ } mysqli_free_result($res); + $value_list = array(array('id' => 101, 'label' => 'a'), array('id' => 102, 'label' => 'b')); + if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)")) + printf("[2010] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); + + foreach ($value_list as $k => $values) { + if (!mysqli_stmt_bind_param($stmt, 'is', $values['id'], $values['label'])) { + printf("[2011] bind_param() failed for id = %d, [%d] %s\n", + $values['id'], mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); + continue; + } + if (!$stmt->execute()) + printf("[2012] [%d] execute() failed for id = %d, [%d] %s\n", + $values['id'], mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); + + if (!$res = mysqli_query($link, sprintf("SELECT label FROM test WHERE id = %d", $values['id']))) + printf("[2013] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + if (!$row = mysqli_fetch_assoc($res)) + printf("[2014] Cannot find row id = %d\n", $values['id']); + else if (isset($row['label']) && ($values['label'] != $row['label'])) + printf("[2015] Expecting label = %s, got label = %s\n", $values['label'], $row['label']); + + mysqli_free_result($res); + } + mysqli_stmt_close($stmt); mysqli_close($link); @@ -368,4 +395,4 @@ Warning: mysqli_stmt_bind_param(): Undefined fieldtype a (parameter 3) in %s on line %d Warning: mysqli_stmt_bind_param(): Undefined fieldtype a (parameter 4) in %s on line %d -done! \ No newline at end of file +done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_bind_result_bit.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_stmt_bind_result_bit.phpt diff -u php-src/ext/mysqli/tests/mysqli_stmt_bind_result_bit.phpt:1.2 php-src/ext/mysqli/tests/mysqli_stmt_bind_result_bit.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_stmt_bind_result_bit.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_stmt_bind_result_bit.phpt Wed Oct 10 10:51:34 2007 @@ -100,8 +100,7 @@ printf("[008 - %d] [%d] %s\n", $bits, mysqli_stmt_errno($stmt_ins), mysqli_stmt_error($stmt_ins)); break; } - - $sql = sprintf("SELECT id, BIN(bit_value) AS _bin, bit_value, bit_value + 0 AS _bit_value0, bit_null FROM test WHERE id = %d", $value); + $sql = sprintf("SELECT id, BIN(bit_value) AS _bin, bit_value, bit_value + 0 AS _bit_value0, bit_null FROM test WHERE id = %s", $value); if ((!mysqli_stmt_prepare($stmt_sel, $sql)) || (!mysqli_stmt_execute($stmt_sel))) { printf("[009 - %d] [%d] %s\n", $bits, mysqli_stmt_errno($stmt_sel), mysqli_stmt_error($stmt_sel)); @@ -114,13 +113,18 @@ break; } - if (!mysqli_stmt_fetch($stmt_sel)) { - printf("[011 - %d] [%d] %s\n", $bits, mysqli_stmt_errno($stmt_sel), mysqli_stmt_error($stmt_sel)); + if (!($ret = mysqli_stmt_fetch($stmt_sel))) { + printf("[011 - %d] mysqli_stmt_fetch() has failed for %d bits - ret = %s/%s, [%d] %s, [%d] %s\n", + $bits, $bits, + gettype($ret), $ret, + mysqli_stmt_errno($stmt_sel), mysqli_stmt_error($stmt_sel), + mysqli_errno($link_sel), mysqli_errno($link_sel) + ); break; } if (($value != $row['id']) || (($bin != $row['_bin']) && ($bin2 != $row['_bin']))) { -debug_zval_dump($row); + debug_zval_dump($row); printf("[012 - %d] Insert of %s in BIT(%d) column might have failed. id = %s, bin = %s (%s/%s)\n", $bits, $value, $bits, $row['id'], $row['_bin'], $bin, $bin2); break; http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_bind_result.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_stmt_bind_result.phpt diff -u php-src/ext/mysqli/tests/mysqli_stmt_bind_result.phpt:1.2 php-src/ext/mysqli/tests/mysqli_stmt_bind_result.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_stmt_bind_result.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_stmt_bind_result.phpt Wed Oct 10 10:51:34 2007 @@ -61,6 +61,7 @@ } mysqli_stmt_close($stmt); + function func_mysqli_stmt_bind_result($link, $engine, $bind_type, $sql_type, $bind_value, $offset, $type_hint = null) { if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) { @@ -294,6 +295,16 @@ if (!is_null($tmp = @mysqli_bind_result())) printf("[3000] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); + $stmt = mysqli_stmt_init($link); + if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (1000, 'z')")) + printf("[3001] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); + + $id = null; + if (false !== @mysqli_stmt_bind_result($stmt, $id)) + printf("[3002] Bind result should not be allowed"); + + mysqli_stmt_close($stmt); + mysqli_close($link); print "done!"; ?> http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt diff -u php-src/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt:1.2 php-src/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt Wed Oct 10 10:51:34 2007 @@ -5,14 +5,10 @@ require_once('skipif.inc'); require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); -require_once('connect.inc'); - -if (!$TEST_EXPERIMENTAL) - die("skip - experimental (= unsupported) feature"); ?> --FILE-- <?php - include "connect.inc"; + require_once("connect.inc"); $tmp = NULL; $link = NULL; http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_init.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_stmt_init.phpt diff -u php-src/ext/mysqli/tests/mysqli_stmt_init.phpt:1.2 php-src/ext/mysqli/tests/mysqli_stmt_init.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_stmt_init.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_stmt_init.phpt Wed Oct 10 10:51:34 2007 @@ -49,4 +49,6 @@ in %s on line %d Warning: mysqli_stmt_init() expects parameter 1 to be mysqli, object given in %s on line %d + +Warning: mysqli_stmt_init(): Couldn't fetch mysqli in %s on line %d done! \ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_send_long_data.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_stmt_send_long_data.phpt diff -u php-src/ext/mysqli/tests/mysqli_stmt_send_long_data.phpt:1.2 php-src/ext/mysqli/tests/mysqli_stmt_send_long_data.phpt:1.3 --- php-src/ext/mysqli/tests/mysqli_stmt_send_long_data.phpt:1.2 Thu Aug 9 10:01:20 2007 +++ php-src/ext/mysqli/tests/mysqli_stmt_send_long_data.phpt Wed Oct 10 10:51:34 2007 @@ -126,6 +126,4 @@ Warning: mysqli_stmt_send_long_data(): Invalid parameter number in %s on line %d Warning: mysqli_stmt_send_long_data(): Invalid parameter number in %s on line %d - -Warning: mysqli_stmt_send_long_data(): Invalid parameter number in %s on line %d done! \ No newline at end of file
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php