Commit 8a061aa6 authored by unknown's avatar unknown
Browse files

Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0

into sunlight.local:/work_local/14169-bug-5.0-mysql


tests/mysql_client_test.c:
  Auto merged
parents 742549c5 ddbf62ca
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1116,6 +1116,13 @@ class Item_func_group_concat : public Item_sum
  enum Sumfunctype sum_func () const {return GROUP_CONCAT_FUNC;}
  const char *func_name() const { return "group_concat"; }
  virtual Item_result result_type () const { return STRING_RESULT; }
  enum_field_types field_type() const
  {
    if (max_length/collation.collation->mbmaxlen > CONVERT_IF_BIGGER_TO_BLOB)
      return FIELD_TYPE_BLOB;
    else
      return MYSQL_TYPE_VARCHAR;
  }
  void clear();
  bool add();
  void reset_field() { DBUG_ASSERT(0); }        // not used
+35 −0
Original line number Diff line number Diff line
@@ -14841,6 +14841,40 @@ static void test_bug15613()
}

/*
  Bug#14169: type of group_concat() result changed to blob if tmp_table was used
*/
static void test_bug14169()
{
  MYSQL_STMT *stmt;
  const char *stmt_text;
  MYSQL_RES *res;
  MYSQL_FIELD *field;
  int rc;

  myheader("test_bug14169");

  rc= mysql_query(mysql, "drop table if exists t1");
  myquery(rc);
  rc= mysql_query(mysql, "set session group_concat_max_len=1024");
  myquery(rc);
  rc= mysql_query(mysql, "create table t1 (f1 int unsigned, f2 varchar(255))");
  myquery(rc);
  rc= mysql_query(mysql, "insert into t1 values (1,repeat('a',255)),"
                         "(2,repeat('b',255))");
  myquery(rc);
  stmt= mysql_stmt_init(mysql);
  stmt_text= "select f2,group_concat(f1) from t1 group by f2";
  rc= mysql_stmt_prepare(stmt, stmt_text, strlen(stmt_text));
  myquery(rc);
  res= mysql_stmt_result_metadata(stmt);
  field= mysql_fetch_fields(res);
  if (!opt_silent)
    printf("GROUP_CONCAT() result type %i", field[1].type);
  DIE_UNLESS(field[1].type == MYSQL_TYPE_BLOB);

  rc= mysql_query(mysql, "drop table t1");
  myquery(rc);
}/*
  Read and parse arguments and MySQL options from my.cnf
*/

@@ -15105,6 +15139,7 @@ static struct my_tests_st my_tests[]= {
  { "test_bug16143", test_bug16143 },
  { "test_bug16144", test_bug16144 },
  { "test_bug15613", test_bug15613 },
  { "test_bug14169", test_bug14169 },
  { 0, 0 }
};