diff options
author | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-09-15 19:14:57 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-09-18 12:42:08 +0200 |
commit | c7ceebc42cd6912a7f515f8e6f5b3167bea37881 (patch) | |
tree | ce3819078c229aa8cb5fa25bcb840fff87958722 | |
parent | c3944c4c4f66188e6dd5a6ed0f9e1364c701b736 (diff) | |
download | php-git-c7ceebc42cd6912a7f515f8e6f5b3167bea37881.tar.gz |
Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
-rw-r--r-- | ext/mysqli/tests/mysqli_real_connect_compression_error.phpt | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/ext/mysqli/tests/mysqli_real_connect_compression_error.phpt b/ext/mysqli/tests/mysqli_real_connect_compression_error.phpt new file mode 100644 index 0000000000..114f819edc --- /dev/null +++ b/ext/mysqli/tests/mysqli_real_connect_compression_error.phpt @@ -0,0 +1,51 @@ +--TEST-- +Bug #80107 mysqli_query() fails for ~16 MB long query when compression is enabled +--XFAIL-- +The second INSERT query fails with MySQL server has gone away +--SKIPIF-- +<?php +require_once('skipif.inc'); +require_once('skipifemb.inc'); +require_once('skipifconnectfailure.inc'); +?> +--INI-- +mysqli.allow_local_infile=1 +--FILE-- +<?php + +include("connect.inc"); + +// Insert with compression disabled: + +$mysqli = mysqli_init(); +$result = my_mysqli_real_connect($mysqli, $host, $user, $passwd, $db, $port, $socket); +$mysqli->query("DROP TABLE IF EXISTS test"); +$mysqli->query("CREATE TABLE test (`blob` LONGBLOB NOT NULL)"); + +$data = str_repeat("x", 16777174); +$mysqli->query("INSERT INTO $db.test(`blob`) VALUE ('$data')"); + +var_dump(mysqli_error_list($mysqli)); +$mysqli->close(); + +// Insert with compression enabled: + +$mysqli = mysqli_init(); +$result = my_mysqli_real_connect($mysqli, $host, $user, $passwd, $db, $port, $socket, MYSQLI_CLIENT_COMPRESS); + +$data = str_repeat("x", 16777174); +$mysqli->query("INSERT INTO $db.test(`blob`) VALUE ('$data')"); + +var_dump(mysqli_error_list($mysqli)); +$mysqli->close(); + +?> +--CLEAN-- +<?php +require_once("clean_table.inc"); +?> +--EXPECT-- +array(0) { +} +array(0) { +} |