mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
Automerge.
This commit is contained in:
commit
389c68a8d4
3 changed files with 38 additions and 5 deletions
|
@ -4856,4 +4856,19 @@ a b c
|
||||||
SELECT * FROM t1 WHERE 102 < c;
|
SELECT * FROM t1 WHERE 102 < c;
|
||||||
a b c
|
a b c
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# Bug #54459: Assertion failed: param.sort_length,
|
||||||
|
# file .\filesort.cc, line 149 (part II)
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a ENUM('') NOT NULL);
|
||||||
|
INSERT INTO t1 VALUES (), (), ();
|
||||||
|
EXPLAIN SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
|
||||||
|
SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
DROP TABLE t1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
|
|
@ -4117,4 +4117,14 @@ SELECT * FROM t1 WHERE 102 < c;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug #54459: Assertion failed: param.sort_length,
|
||||||
|
--echo # file .\filesort.cc, line 149 (part II)
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t1(a ENUM('') NOT NULL);
|
||||||
|
INSERT INTO t1 VALUES (), (), ();
|
||||||
|
EXPLAIN SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
|
||||||
|
SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
|
|
@ -586,13 +586,21 @@ JOIN::prepare(Item ***rref_pointer_array,
|
||||||
{
|
{
|
||||||
Item *item= *ord->item;
|
Item *item= *ord->item;
|
||||||
/*
|
/*
|
||||||
Disregard sort order if there's only "{VAR}CHAR(0) NOT NULL" fields
|
Disregard sort order if there's only
|
||||||
there. Such fields don't contain any data to sort.
|
zero length NOT NULL fields (e.g. {VAR}CHAR(0) NOT NULL") or
|
||||||
|
zero length NOT NULL string functions there.
|
||||||
|
Such tuples don't contain any data to sort.
|
||||||
*/
|
*/
|
||||||
if (!real_order &&
|
if (!real_order &&
|
||||||
(item->type() != Item::FIELD_ITEM ||
|
/* Not a zero length NOT NULL field */
|
||||||
((Item_field *) item)->field->maybe_null() ||
|
((item->type() != Item::FIELD_ITEM ||
|
||||||
((Item_field *) item)->field->sort_length()))
|
((Item_field *) item)->field->maybe_null() ||
|
||||||
|
((Item_field *) item)->field->sort_length()) &&
|
||||||
|
/* AND not a zero length NOT NULL string function. */
|
||||||
|
(item->type() != Item::FUNC_ITEM ||
|
||||||
|
item->maybe_null ||
|
||||||
|
item->result_type() != STRING_RESULT ||
|
||||||
|
item->max_length)))
|
||||||
real_order= TRUE;
|
real_order= TRUE;
|
||||||
|
|
||||||
if (item->with_sum_func && item->type() != Item::SUM_FUNC_ITEM)
|
if (item->with_sum_func && item->type() != Item::SUM_FUNC_ITEM)
|
||||||
|
|
Loading…
Add table
Reference in a new issue