[CONC-70] fetching large packets via compressed connection returns unknown error. Created: 2014-01-25  Updated: 2014-01-27  Resolved: 2014-01-27

Status: Closed
Project: MariaDB Connector/C
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Georg Richter Assignee: Georg Richter
Resolution: Fixed Votes: 0
Labels: None
Environment:

all



 Description   

static int test_conc69(MYSQL *my)
{
  int rc;
  MYSQL_RES *res;
  MYSQL_ROW row;
  MYSQL *mysql= mysql_init(NULL);
 
  rc= mysql_options(mysql, MYSQL_OPT_COMPRESS, (void *)1);
  check_mysql_rc(rc, my);
 
  rc= mysql_query(my, "SET @save:=@@max_allowed_packet");
  check_mysql_rc(rc, my);
  rc= mysql_query(my, "SET GLOBAL max_allowed_packet=1024 * 1024 * 21");
  check_mysql_rc(rc, my);
 
  if (!mysql_real_connect(mysql, hostname, username,
                             password, schema, port, socketname, 0))
  {
    diag("Error: %s", mysql_error(mysql));
    return FAIL;
  }
 
  rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
  check_mysql_rc(rc, mysql);
 
  rc= mysql_query(mysql, "CREATE TABLE t1 (a LONGBLOB)");
  check_mysql_rc(rc, mysql);
 
  rc= mysql_query(mysql, "INSERT INTO t1 VALUES (REPEAT('A', 1024 * 1024 * 20))");
  check_mysql_rc(rc, mysql);
 
  rc= mysql_query(mysql, "SELECT a FROM t1");
  check_mysql_rc(rc, mysql);
 
  if (!(res= mysql_store_result(mysql)))
  {
    diag("Error: %s", mysql_error(mysql));
    return FAIL;
  }
 
  row= mysql_fetch_row(res);
  FAIL_IF(strlen(row[0]) != 1024 * 1024 * 20, "Wrong length");
  mysql_free_result(res);
 
  rc= mysql_query(my, "SET GLOBAL max_allowed_packet=@save");
  check_mysql_rc(rc, my);
  return OK;
}



 Comments   
Comment by Georg Richter [ 2014-01-27 ]

Fixed in rev. 113

Generated at Thu Feb 08 03:02:40 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.