1--TEST-- 2Bug #80107 mysqli_query() fails for ~16 MB long query when compression is enabled 3--SKIPIF-- 4<?php 5require_once('skipif.inc'); 6require_once("connect.inc"); 7$link = @my_mysqli_connect($host, $user, $passwd, $db, $port, $socket); 8if (!$link) { 9 die(sprintf("skip Can't connect to MySQL Server - [%d] %s", mysqli_connect_errno(), mysqli_connect_error())); 10} 11$result = $link->query("SHOW VARIABLES LIKE 'max_allowed_packet'"); 12if ($result->fetch_assoc()['Value'] < 0xffffff) { 13 die('skip max_allowed_packet is less than 0xffffff'); 14} 15?> 16--FILE-- 17<?php 18 19require_once("connect.inc"); 20 21$data_size = 16777174; 22 23// Insert with compression disabled: 24 25$mysqli = mysqli_init(); 26$result = my_mysqli_real_connect($mysqli, $host, $user, $passwd, $db, $port, $socket); 27$mysqli->query("DROP TABLE IF EXISTS test"); 28$mysqli->query("CREATE TABLE test (`blob` LONGBLOB NOT NULL) ENGINE=MyISAM"); 29 30$data = str_repeat("x", $data_size); 31$mysqli->query("INSERT INTO $db.test(`blob`) VALUE ('$data')"); 32 33var_dump(mysqli_error_list($mysqli)); 34$mysqli->close(); 35 36// Insert with compression enabled: 37 38$mysqli = mysqli_init(); 39$result = my_mysqli_real_connect($mysqli, $host, $user, $passwd, $db, $port, $socket, MYSQLI_CLIENT_COMPRESS); 40 41$data = str_repeat("x", $data_size); 42$mysqli->query("INSERT INTO $db.test(`blob`) VALUE ('$data')"); 43 44var_dump(mysqli_error_list($mysqli)); 45$mysqli->close(); 46 47?> 48--CLEAN-- 49<?php 50require_once("clean_table.inc"); 51?> 52--EXPECT-- 53array(0) { 54} 55array(0) { 56} 57