1
0
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:
Davi Arnaut
2009-08-11 11:29:07 -03:00
16 changed files with 1616 additions and 33 deletions

View File

@ -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');

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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
}