1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

A fix and a test case for Bug#9735.

No separate typecode for MEDIUMTEXT/LONGTEXT is added, as we
have no sound decision yet what typecodes and for what types are
sent by the server (aka what constitutes a distinct type in MySQL).



mysql-test/r/ps_2myisam.result:
  Test results fixed: new longtext/longblob length (2^32)
mysql-test/r/ps_3innodb.result:
  Test results fixed: new longtext/longblob length (2^32)
mysql-test/r/ps_4heap.result:
  Test results fixed: new longtext/longblob length (2^32)
mysql-test/r/ps_5merge.result:
  Test results fixed: new longtext/longblob length (2^32)
mysql-test/r/ps_6bdb.result:
  Test results fixed: new longtext/longblob length (2^32)
mysql-test/r/ps_7ndb.result:
  Test results fixed: new longtext/longblob length (2^32)
sql/field.cc:
  A fix for Bug#9735 "mysql_fetch_fields() acts strange on 
  LONGBLOB/LONGTEXT": fix wrong initialization of field_length
  in case of BLOB fields.
tests/mysql_client_test.c:
  A test case for Bug#9735  "mysql_fetch_fields() acts strange on 
  LONGBLOB/LONGTEXT"
This commit is contained in:
unknown
2005-07-14 15:13:23 +04:00
parent c663aa8961
commit a16a61d959
8 changed files with 101 additions and 70 deletions

View File

@ -672,7 +672,7 @@ static void verify_prepare_field(MYSQL_RES *result,
fprintf(stdout, "\n org_table:`%s`\t(expected: `%s`)",
field->org_table, org_table);
fprintf(stdout, "\n database :`%s`\t(expected: `%s`)", field->db, db);
fprintf(stdout, "\n length :`%ld`\t(expected: `%ld`)",
fprintf(stdout, "\n length :`%lu`\t(expected: `%lu`)",
field->length, length * cs->mbmaxlen);
fprintf(stdout, "\n maxlength:`%ld`", field->max_length);
fprintf(stdout, "\n charsetnr:`%d`", field->charsetnr);
@ -11670,6 +11670,34 @@ static void test_bug8378()
#endif
}
/* Test correct max length for MEDIUMTEXT and LONGTEXT columns */
static void test_bug9735()
{
MYSQL_RES *res;
int rc;
myheader("test_bug9735");
rc= mysql_query(mysql, "drop table if exists t1");
myquery(rc);
rc= mysql_query(mysql, "create table t1 (a mediumtext, b longtext) "
"character set latin1");
myquery(rc);
rc= mysql_query(mysql, "select * from t1");
myquery(rc);
res= mysql_store_result(mysql);
verify_prepare_field(res, 0, "a", "a", MYSQL_TYPE_BLOB,
"t1", "t1", current_db, (1U << 24)-1, 0);
verify_prepare_field(res, 1, "b", "b", MYSQL_TYPE_BLOB,
"t1", "t1", current_db, ~0U, 0);
mysql_free_result(res);
rc= mysql_query(mysql, "drop table t1");
myquery(rc);
}
/*
Read and parse arguments and MySQL options from my.cnf
*/
@ -11884,6 +11912,7 @@ static struct my_tests_st my_tests[]= {
{ "test_bug8330", test_bug8330 },
{ "test_bug7990", test_bug7990 },
{ "test_bug8378", test_bug8378 },
{ "test_bug9735", test_bug9735 },
{ 0, 0 }
};