mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into dl145s.mysql.com:/users/mhansson/mysql/autopush/5.1o-bug24778
This commit is contained in:
commit
8fa4417890
3 changed files with 90 additions and 4 deletions
|
@ -489,3 +489,44 @@ EXPLAIN SELECT MAX(a) FROM t1 FORCE INDEX(a);
|
|||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 system NULL NULL NULL NULL 1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a INTEGER auto_increment PRIMARY KEY,
|
||||
b INTEGER NOT NULL,
|
||||
c INTEGER NOT NULL,
|
||||
d CHAR(64)
|
||||
);
|
||||
CREATE TABLE t2 (
|
||||
a INTEGER auto_increment PRIMARY KEY,
|
||||
b INTEGER NOT NULL,
|
||||
c SMALLINT NOT NULL,
|
||||
d DATETIME NOT NULL,
|
||||
e SMALLINT NOT NULL,
|
||||
f INTEGER NOT NULL,
|
||||
g INTEGER NOT NULL,
|
||||
h SMALLINT NOT NULL,
|
||||
i INTEGER NOT NULL,
|
||||
j INTEGER NOT NULL,
|
||||
UNIQUE INDEX (b),
|
||||
INDEX (b, d, e, f, g, h, i, j, c),
|
||||
INDEX (c)
|
||||
);
|
||||
INSERT INTO t2 VALUES
|
||||
(NULL, 1, 254, '1000-01-01 00:00:00', 257, 0, 0, 0, 0, 0),
|
||||
(NULL, 2, 1, '2004-11-30 12:00:00', 1, 0, 0, 0, 0, 0),
|
||||
(NULL, 3, 1, '2004-11-30 12:00:00', 1, 0, 0, 2, -21600, 0),
|
||||
(NULL, 4, 1, '2004-11-30 12:00:00', 1, 0, 0, 2, -10800, 0),
|
||||
(NULL, 5, 1, '2004-11-30 12:00:00', 1, 0, 0, 5, -10800, 0),
|
||||
(NULL, 6, 1, '2004-11-30 12:00:00', 102, 0, 0, 0, 0, 0),
|
||||
(NULL, 7, 1, '2004-11-30 12:00:00', 105, 2, 0, 0, 0, 0),
|
||||
(NULL, 8, 1, '2004-11-30 12:00:00', 105, 10, 0, 0, 0, 0);
|
||||
INSERT INTO t1 (b, c, d) VALUES
|
||||
(3388000, -553000, NULL),
|
||||
(3388000, -553000, NULL);
|
||||
SELECT *
|
||||
FROM t2 c JOIN t1 pa ON c.b = pa.a
|
||||
WHERE c.c = 1
|
||||
ORDER BY c.b, c.d
|
||||
;
|
||||
a b c d e f g h i j a b c d
|
||||
2 2 1 2004-11-30 12:00:00 1 0 0 0 0 0 2 3388000 -553000 NULL
|
||||
DROP TABLE t1, t2;
|
||||
|
|
|
@ -453,3 +453,51 @@ ALTER TABLE t1 DISABLE KEYS;
|
|||
EXPLAIN SELECT MAX(a) FROM t1 FORCE INDEX(a);
|
||||
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #24778: Innodb: No result when using ORDER BY
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a INTEGER auto_increment PRIMARY KEY,
|
||||
b INTEGER NOT NULL,
|
||||
c INTEGER NOT NULL,
|
||||
d CHAR(64)
|
||||
);
|
||||
|
||||
CREATE TABLE t2 (
|
||||
a INTEGER auto_increment PRIMARY KEY,
|
||||
b INTEGER NOT NULL,
|
||||
c SMALLINT NOT NULL,
|
||||
d DATETIME NOT NULL,
|
||||
e SMALLINT NOT NULL,
|
||||
f INTEGER NOT NULL,
|
||||
g INTEGER NOT NULL,
|
||||
h SMALLINT NOT NULL,
|
||||
i INTEGER NOT NULL,
|
||||
j INTEGER NOT NULL,
|
||||
UNIQUE INDEX (b),
|
||||
INDEX (b, d, e, f, g, h, i, j, c),
|
||||
INDEX (c)
|
||||
);
|
||||
|
||||
INSERT INTO t2 VALUES
|
||||
(NULL, 1, 254, '1000-01-01 00:00:00', 257, 0, 0, 0, 0, 0),
|
||||
(NULL, 2, 1, '2004-11-30 12:00:00', 1, 0, 0, 0, 0, 0),
|
||||
(NULL, 3, 1, '2004-11-30 12:00:00', 1, 0, 0, 2, -21600, 0),
|
||||
(NULL, 4, 1, '2004-11-30 12:00:00', 1, 0, 0, 2, -10800, 0),
|
||||
(NULL, 5, 1, '2004-11-30 12:00:00', 1, 0, 0, 5, -10800, 0),
|
||||
(NULL, 6, 1, '2004-11-30 12:00:00', 102, 0, 0, 0, 0, 0),
|
||||
(NULL, 7, 1, '2004-11-30 12:00:00', 105, 2, 0, 0, 0, 0),
|
||||
(NULL, 8, 1, '2004-11-30 12:00:00', 105, 10, 0, 0, 0, 0);
|
||||
|
||||
INSERT INTO t1 (b, c, d) VALUES
|
||||
(3388000, -553000, NULL),
|
||||
(3388000, -553000, NULL);
|
||||
|
||||
SELECT *
|
||||
FROM t2 c JOIN t1 pa ON c.b = pa.a
|
||||
WHERE c.c = 1
|
||||
ORDER BY c.b, c.d
|
||||
;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
|
|
@ -6106,10 +6106,7 @@ make_join_readinfo(JOIN *join, ulonglong options)
|
|||
*/
|
||||
if (!ordered_set &&
|
||||
(table == join->sort_by_table &&
|
||||
(!join->order || join->skip_sort_order ||
|
||||
test_if_skip_sort_order(tab, join->order, join->select_limit,
|
||||
1, &table->keys_in_use_for_order_by))
|
||||
) ||
|
||||
(!join->order || join->skip_sort_order)) ||
|
||||
(join->sort_by_table == (TABLE *) 1 && i != join->const_tables))
|
||||
ordered_set= 1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue