mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-base
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge client/mysqlcheck.c: Auto merged client/mysqltest.c: Auto merged libmysql/libmysql.c: Auto merged mysql-test/include/mix1.inc: Auto merged mysql-test/r/innodb_mysql.result: Auto merged mysql-test/r/udf.result: Auto merged mysql-test/t/udf.test: Auto merged sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_select.cc: Auto merged tests/mysql_client_test.c: Auto merged
This commit is contained in:
@@ -14400,13 +14400,31 @@ calc_group_buffer(JOIN *join,ORDER *group)
|
||||
group_item->decimals);
|
||||
break;
|
||||
case STRING_RESULT:
|
||||
{
|
||||
enum enum_field_types type= group_item->field_type();
|
||||
/*
|
||||
Group strings are taken as varstrings and require an length field.
|
||||
A field is not yet created by create_tmp_field()
|
||||
and the sizes should match up.
|
||||
As items represented as DATE/TIME fields in the group buffer
|
||||
have STRING_RESULT result type, we increase the length
|
||||
by 8 as maximum pack length of such fields.
|
||||
*/
|
||||
key_length+= group_item->max_length + HA_KEY_BLOB_LENGTH;
|
||||
if (type == MYSQL_TYPE_TIME ||
|
||||
type == MYSQL_TYPE_DATE ||
|
||||
type == MYSQL_TYPE_DATETIME ||
|
||||
type == MYSQL_TYPE_TIMESTAMP)
|
||||
{
|
||||
key_length+= 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
Group strings are taken as varstrings and require an length field.
|
||||
A field is not yet created by create_tmp_field()
|
||||
and the sizes should match up.
|
||||
*/
|
||||
key_length+= group_item->max_length + HA_KEY_BLOB_LENGTH;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
/* This case should never be choosen */
|
||||
DBUG_ASSERT(0);
|
||||
|
||||
Reference in New Issue
Block a user