mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 23:54:31 +02:00
merge
This commit is contained in:
commit
1560eab136
4 changed files with 54 additions and 2 deletions
|
|
@ -1811,6 +1811,41 @@ MAX(t2.a)
|
||||||
2
|
2
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
#
|
#
|
||||||
|
# Bug#55188: GROUP BY, GROUP_CONCAT and TEXT - inconsistent results
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a text, b varchar(10));
|
||||||
|
INSERT INTO t1 VALUES (repeat('1', 1300),'one'), (repeat('1', 1300),'two');
|
||||||
|
EXPLAIN
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a), GROUP_CONCAT(b) FROM t1 GROUP BY a;
|
||||||
|
id 1
|
||||||
|
select_type SIMPLE
|
||||||
|
table t1
|
||||||
|
type ALL
|
||||||
|
possible_keys NULL
|
||||||
|
key NULL
|
||||||
|
key_len NULL
|
||||||
|
ref NULL
|
||||||
|
rows 2
|
||||||
|
Extra Using filesort
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a), GROUP_CONCAT(b) FROM t1 GROUP BY a;
|
||||||
|
SUBSTRING(a,1,10) LENGTH(a) GROUP_CONCAT(b)
|
||||||
|
1111111111 1300 one,two
|
||||||
|
EXPLAIN
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
|
||||||
|
id 1
|
||||||
|
select_type SIMPLE
|
||||||
|
table t1
|
||||||
|
type ALL
|
||||||
|
possible_keys NULL
|
||||||
|
key NULL
|
||||||
|
key_len NULL
|
||||||
|
ref NULL
|
||||||
|
rows 2
|
||||||
|
Extra Using temporary; Using filesort
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
|
||||||
|
SUBSTRING(a,1,10) LENGTH(a)
|
||||||
|
1111111111 1300
|
||||||
|
DROP TABLE t1;
|
||||||
# End of 5.1 tests
|
# End of 5.1 tests
|
||||||
#
|
#
|
||||||
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
|
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
|
||||||
|
|
|
||||||
|
|
@ -1222,6 +1222,20 @@ DROP TABLE t1, t2;
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
--echo # Bug#55188: GROUP BY, GROUP_CONCAT and TEXT - inconsistent results
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a text, b varchar(10));
|
||||||
|
INSERT INTO t1 VALUES (repeat('1', 1300),'one'), (repeat('1', 1300),'two');
|
||||||
|
|
||||||
|
query_vertical EXPLAIN
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a), GROUP_CONCAT(b) FROM t1 GROUP BY a;
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a), GROUP_CONCAT(b) FROM t1 GROUP BY a;
|
||||||
|
query_vertical EXPLAIN
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
|
||||||
|
SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
--echo # End of 5.1 tests
|
--echo # End of 5.1 tests
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2982,6 +2982,7 @@ public:
|
||||||
class Cached_item_str :public Cached_item
|
class Cached_item_str :public Cached_item
|
||||||
{
|
{
|
||||||
Item *item;
|
Item *item;
|
||||||
|
uint32 value_max_length;
|
||||||
String value,tmp_value;
|
String value,tmp_value;
|
||||||
public:
|
public:
|
||||||
Cached_item_str(THD *thd, Item *arg);
|
Cached_item_str(THD *thd, Item *arg);
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,9 @@ Cached_item::~Cached_item() {}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Cached_item_str::Cached_item_str(THD *thd, Item *arg)
|
Cached_item_str::Cached_item_str(THD *thd, Item *arg)
|
||||||
:item(arg), value(min(arg->max_length, thd->variables.max_sort_length))
|
:item(arg),
|
||||||
|
value_max_length(min(arg->max_length, thd->variables.max_sort_length)),
|
||||||
|
value(value_max_length)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
bool Cached_item_str::cmp(void)
|
bool Cached_item_str::cmp(void)
|
||||||
|
|
@ -74,7 +76,7 @@ bool Cached_item_str::cmp(void)
|
||||||
bool tmp;
|
bool tmp;
|
||||||
|
|
||||||
if ((res=item->val_str(&tmp_value)))
|
if ((res=item->val_str(&tmp_value)))
|
||||||
res->length(min(res->length(), value.alloced_length()));
|
res->length(min(res->length(), value_max_length));
|
||||||
if (null_value != item->null_value)
|
if (null_value != item->null_value)
|
||||||
{
|
{
|
||||||
if ((null_value= item->null_value))
|
if ((null_value= item->null_value))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue