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