mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge from mysql-5.1-bugteam.
This commit is contained in:
@ -165,7 +165,7 @@ CREATE TABLE `good
|
||||
ERROR HY000: Invalid utf8 character string: '<27><><EFBFBD><EFBFBD><EFBFBD>'
|
||||
SET NAMES utf8;
|
||||
CREATE TABLE `good<6F><64><EFBFBD><EFBFBD><EFBFBD>` (a int);
|
||||
ERROR HY000: Invalid utf8 character string: '<27><><EFBFBD><EFBFBD><EFBFBD>` (a int)'
|
||||
ERROR HY000: Invalid utf8 character string: '<27><><EFBFBD><EFBFBD><EFBFBD>'
|
||||
set names latin1;
|
||||
create table t1 (a char(10) character set koi8r, b text character set koi8r);
|
||||
insert into t1 values ('test','test');
|
||||
|
@ -1500,3 +1500,60 @@ id1
|
||||
15
|
||||
16
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b INT NOT NULL,
|
||||
c char(100),
|
||||
KEY (b, c),
|
||||
KEY (b, a, c)
|
||||
)
|
||||
DEFAULT CHARSET = utf8;
|
||||
INSERT INTO t1 VALUES
|
||||
(1, 1, 1),
|
||||
(2, 2, 2),
|
||||
(3, 3, 3),
|
||||
(4, 4, 4),
|
||||
(5, 5, 5),
|
||||
(6, 6, 6),
|
||||
(7, 7, 7),
|
||||
(8, 8, 8),
|
||||
(9, 9, 9);
|
||||
INSERT INTO t1 SELECT a + 10, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 20, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 40, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 80, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 160, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 320, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 640, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 1280, b, c FROM t1 LIMIT 80;
|
||||
EXPLAIN
|
||||
SELECT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 9;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range b,b_2 b 4 NULL 226 Using where
|
||||
SELECT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 9;
|
||||
a
|
||||
2071
|
||||
2061
|
||||
2051
|
||||
2041
|
||||
2031
|
||||
2021
|
||||
2011
|
||||
2001
|
||||
1991
|
||||
EXPLAIN
|
||||
SELECT DISTINCT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 0, 9;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range b,b_2 b 4 NULL 226 Using where; Using temporary
|
||||
SELECT DISTINCT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 0, 9;
|
||||
a
|
||||
2071
|
||||
2061
|
||||
2051
|
||||
2041
|
||||
2031
|
||||
2021
|
||||
2011
|
||||
2001
|
||||
1991
|
||||
DROP TABLE t1;
|
||||
|
@ -1985,4 +1985,23 @@ CREATE TABLE t1(id INT,KEY(id)) ENGINE=MYISAM
|
||||
PARTITION BY HASH(id) PARTITIONS 2;
|
||||
DROP TABLE t1;
|
||||
SET SESSION SQL_MODE=DEFAULT;
|
||||
#
|
||||
# BUG#45816 - assertion failure with index containing double
|
||||
# column on partitioned table
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a INT DEFAULT NULL,
|
||||
b DOUBLE DEFAULT NULL,
|
||||
c INT DEFAULT NULL,
|
||||
KEY idx2(b,a)
|
||||
) PARTITION BY HASH(c) PARTITIONS 3;
|
||||
INSERT INTO t1 VALUES (6,8,9);
|
||||
INSERT INTO t1 VALUES (6,8,10);
|
||||
SELECT 1 FROM t1 JOIN t1 AS t2 USING (a) FOR UPDATE;
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
@ -1361,3 +1361,44 @@ DROP TABLE t1;
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Bug#46454: MySQL wrong index optimisation leads to incorrect result & crashes
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b INT NOT NULL,
|
||||
c char(100),
|
||||
KEY (b, c),
|
||||
KEY (b, a, c)
|
||||
)
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
INSERT INTO t1 VALUES
|
||||
(1, 1, 1),
|
||||
(2, 2, 2),
|
||||
(3, 3, 3),
|
||||
(4, 4, 4),
|
||||
(5, 5, 5),
|
||||
(6, 6, 6),
|
||||
(7, 7, 7),
|
||||
(8, 8, 8),
|
||||
(9, 9, 9);
|
||||
|
||||
INSERT INTO t1 SELECT a + 10, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 20, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 40, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 80, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 160, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 320, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 640, b, c FROM t1;
|
||||
INSERT INTO t1 SELECT a + 1280, b, c FROM t1 LIMIT 80;
|
||||
|
||||
EXPLAIN
|
||||
SELECT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 9;
|
||||
SELECT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 9;
|
||||
|
||||
EXPLAIN
|
||||
SELECT DISTINCT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 0, 9;
|
||||
SELECT DISTINCT a FROM t1 WHERE b = 1 ORDER BY c DESC LIMIT 0, 9;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -1979,4 +1979,23 @@ CREATE TABLE t1(id INT,KEY(id)) ENGINE=MYISAM
|
||||
DROP TABLE t1;
|
||||
SET SESSION SQL_MODE=DEFAULT;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # BUG#45816 - assertion failure with index containing double
|
||||
--echo # column on partitioned table
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (
|
||||
a INT DEFAULT NULL,
|
||||
b DOUBLE DEFAULT NULL,
|
||||
c INT DEFAULT NULL,
|
||||
KEY idx2(b,a)
|
||||
) PARTITION BY HASH(c) PARTITIONS 3;
|
||||
|
||||
INSERT INTO t1 VALUES (6,8,9);
|
||||
INSERT INTO t1 VALUES (6,8,10);
|
||||
|
||||
SELECT 1 FROM t1 JOIN t1 AS t2 USING (a) FOR UPDATE;
|
||||
|
||||
DROP TABLE t1;
|
||||
--echo End of 5.1 tests
|
||||
|
@ -517,3 +517,111 @@
|
||||
fun:dlopen*
|
||||
}
|
||||
|
||||
#
|
||||
# BUG#45630
|
||||
# Suppress valgrind failures within nptl_pthread_exit_hack_handler on Ubuntu 9.04, x86 (but not amd64)
|
||||
#
|
||||
|
||||
{
|
||||
Mem loss within nptl_pthread_exit_hack_handler 1
|
||||
Memcheck:Leak
|
||||
fun:malloc
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/libc-*.so
|
||||
obj:*/ld-*.so
|
||||
fun:__libc_dlopen_mode
|
||||
fun:pthread_cancel_init
|
||||
fun:_Unwind_ForcedUnwind
|
||||
fun:__pthread_unwind
|
||||
fun:pthread_exit
|
||||
fun:nptl_pthread_exit_hack_handler
|
||||
fun:start_thread
|
||||
fun:clone
|
||||
}
|
||||
|
||||
{
|
||||
Mem loss within nptl_pthread_exit_hack_handler 2
|
||||
Memcheck:Leak
|
||||
fun:malloc
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/libc-*.so
|
||||
obj:*/ld-*.so
|
||||
fun:__libc_dlopen_mode
|
||||
fun:pthread_cancel_init
|
||||
fun:_Unwind_ForcedUnwind
|
||||
fun:__pthread_unwind
|
||||
fun:pthread_exit
|
||||
fun:nptl_pthread_exit_hack_handler
|
||||
fun:start_thread
|
||||
fun:clone
|
||||
}
|
||||
|
||||
{
|
||||
Mem loss within nptl_pthread_exit_hack_handler 3
|
||||
Memcheck:Leak
|
||||
fun:calloc
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/libc-*.so
|
||||
obj:*/ld-*.so
|
||||
fun:__libc_dlopen_mode
|
||||
fun:pthread_cancel_init
|
||||
fun:_Unwind_ForcedUnwind
|
||||
fun:__pthread_unwind
|
||||
fun:pthread_exit
|
||||
fun:nptl_pthread_exit_hack_handler
|
||||
fun:start_thread
|
||||
fun:clone
|
||||
}
|
||||
|
||||
{
|
||||
Mem loss within nptl_pthread_exit_hack_handler 4
|
||||
Memcheck:Leak
|
||||
fun:malloc
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/libc-*.so
|
||||
obj:*/ld-*.so
|
||||
fun:__libc_dlopen_mode
|
||||
fun:pthread_cancel_init
|
||||
fun:_Unwind_ForcedUnwind
|
||||
fun:__pthread_unwind
|
||||
fun:pthread_exit
|
||||
fun:nptl_pthread_exit_hack_handler
|
||||
fun:start_thread
|
||||
}
|
||||
|
||||
{
|
||||
Mem loss within nptl_pthread_exit_hack_handler 5
|
||||
Memcheck:Leak
|
||||
fun:calloc
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/ld-*.so
|
||||
obj:*/libc-*.so
|
||||
obj:*/ld-*.so
|
||||
fun:__libc_dlopen_mode
|
||||
fun:pthread_cancel_init
|
||||
fun:_Unwind_ForcedUnwind
|
||||
fun:__pthread_unwind
|
||||
fun:pthread_exit
|
||||
fun:nptl_pthread_exit_hack_handler
|
||||
fun:start_thread
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user