@@ -1699,7 +1699,7 @@ a ENUM('
1699
1699
show create table t1;
1700
1700
Table Create Table
1701
1701
t1 CREATE TABLE `t1` (
1702
- `a` enum('�','�','�') CHARACTER SET utf8 DEFAULT '�'
1702
+ `a` enum('�','�','�') CHARACTER SET utf8mb3 DEFAULT '�'
1703
1703
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1704
1704
insert into t1 values ('�'), ('�'), ('�');
1705
1705
select a from t1 order by a;
@@ -1932,14 +1932,16 @@ ALTER TABLE t2 ADD PRIMARY KEY(c1);
1932
1932
SELECT t1.* FROM t1 JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1933
1933
c1
1934
1934
a
1935
+ a
1935
1936
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1936
1937
c1
1937
1938
a
1939
+ a
1938
1940
# t2 should NOT be eliminated
1939
1941
EXPLAIN SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1940
1942
id select_type table type possible_keys key key_len ref rows Extra
1941
1943
1 SIMPLE t1 system NULL NULL NULL NULL 1
1942
- 1 SIMPLE t2 range PRIMARY PRIMARY 1 NULL 1 Using where; Using index
1944
+ 1 SIMPLE t2 index PRIMARY PRIMARY 1 NULL 2 Using where; Using index
1943
1945
DROP TABLE IF EXISTS t1,t2;
1944
1946
CREATE TABLE t1 (c1 SET('a') CHARACTER SET latin1 PRIMARY KEY);
1945
1947
INSERT INTO t1 VALUES ('a');
@@ -1957,14 +1959,16 @@ ALTER TABLE t2 ADD PRIMARY KEY(c1);
1957
1959
SELECT t1.* FROM t1 JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1958
1960
c1
1959
1961
a
1962
+ a
1960
1963
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1961
1964
c1
1962
1965
a
1966
+ a
1963
1967
# t2 should NOT be eliminated
1964
1968
EXPLAIN SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1965
1969
id select_type table type possible_keys key key_len ref rows Extra
1966
1970
1 SIMPLE t1 system NULL NULL NULL NULL 1
1967
- 1 SIMPLE t2 range PRIMARY PRIMARY 1 NULL 1 Using where; Using index
1971
+ 1 SIMPLE t2 index PRIMARY PRIMARY 1 NULL 2 Using where; Using index
1968
1972
DROP TABLE IF EXISTS t1,t2;
1969
1973
CREATE TABLE t1 (c1 VARCHAR(10) CHARACTER SET latin1 PRIMARY KEY);
1970
1974
INSERT INTO t1 VALUES ('a');
@@ -1982,14 +1986,16 @@ ALTER TABLE t2 ADD PRIMARY KEY(c1);
1982
1986
SELECT t1.* FROM t1 JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1983
1987
c1
1984
1988
a
1989
+ a
1985
1990
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1986
1991
c1
1987
1992
a
1993
+ a
1988
1994
# t2 should NOT be eliminated
1989
1995
EXPLAIN SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.c1 COLLATE latin1_swedish_ci=t2.c1;
1990
1996
id select_type table type possible_keys key key_len ref rows Extra
1991
1997
1 SIMPLE t1 system NULL NULL NULL NULL 1
1992
- 1 SIMPLE t2 range PRIMARY PRIMARY 1 NULL 1 Using where; Using index
1998
+ 1 SIMPLE t2 index PRIMARY PRIMARY 1 NULL 2 Using where; Using index
1993
1999
DROP TABLE IF EXISTS t1,t2;
1994
2000
#
1995
2001
# MDEV-6991 GROUP_MIN_MAX optimization is erroneously applied in some cases
0 commit comments