mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
merge from 5.5 main
This commit is contained in:
@ -455,8 +455,9 @@ sub main {
|
||||
#
|
||||
read_plugin_defs("include/plugin.defs");
|
||||
|
||||
# Also read from any plugin local plugin.defs
|
||||
for (glob "$basedir/plugin/*/tests/mtr/plugin.defs") {
|
||||
# Also read from any plugin local or suite specific plugin.defs
|
||||
for (glob "$basedir/plugin/*/tests/mtr/plugin.defs".
|
||||
" suite/*/plugin.defs") {
|
||||
read_plugin_defs($_);
|
||||
}
|
||||
|
||||
|
@ -29,4 +29,14 @@ SET lc_messages=cs_CZ;
|
||||
SET NAMES UTF8;
|
||||
USE nonexistant;
|
||||
ERROR 42000: Nezn-Bámá databáze 'nonexistant'
|
||||
End of 5.4 tests
|
||||
#
|
||||
# Bug#12736295: Buffer overflow for variable converted_err
|
||||
# with non-latin1 server error message
|
||||
#
|
||||
# Connection con1
|
||||
SET lc_messages=ru_RU;
|
||||
SET NAMES latin1;
|
||||
SELECT '01234567890123456789012345678901234\';
|
||||
ERROR 42000: \0423 \0432\0430\0441 \043E\0448\0438\0431\043A\0430 \0432 \0437\0430\043F\0440\043E\0441\0435. \0418\0437\0443\0447\0438\0442\0435 \0434\043E\043A\0443\043C\0435\043D\0442\0430\0446\0438\044E \043F\043E \0438\0441\043F\043E\043B\044C\0437\0443\0435\043C\043E\0439 \0432\0435\0440\0441\0438\0438 MySQL \043D\0430 \043F\0440\0435\0434\043C\0435\0442 \043A\043E\0440\0440\0435\043A\0442\043D\043E\0433\043E \0441\0438\043D\0442\0430\043A\0441\0438\0441\0430 \043E\043A\043E\043B\043E ''012345678901234567890123456
|
||||
# Connection default
|
||||
End of 5.5 tests
|
||||
|
@ -2415,5 +2415,25 @@ HEX(s1)
|
||||
00000061
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #12319710 : INVALID MEMORY READ AND/OR CRASH IN
|
||||
# MY_UCA_CHARCMP WITH UTF32
|
||||
#
|
||||
SET collation_connection=utf32_unicode_ci;
|
||||
CREATE TABLE t1 (a TEXT CHARACTER SET utf32 COLLATE utf32_turkish_ci NOT NULL);
|
||||
INSERT INTO t1 VALUES ('a'), ('b');
|
||||
CREATE TABLE t2 (b VARBINARY(5) NOT NULL);
|
||||
#insert chars outside of BMP
|
||||
INSERT INTO t2 VALUEs (0x082837),(0x082837);
|
||||
#test for read-out-of-bounds with non-BMP chars as a LIKE pattern
|
||||
SELECT * FROM t1,t2 WHERE a LIKE b;
|
||||
a b
|
||||
#test the original statement
|
||||
SELECT 1 FROM t1 AS t1_0 NATURAL LEFT OUTER JOIN t2 AS t2_0
|
||||
RIGHT JOIN t1 AS t1_1 ON t1_0.a LIKE t2_0.b;
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
@ -1665,6 +1665,13 @@ a 1
|
||||
3 1
|
||||
2 1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#11765255 58201:
|
||||
# VALGRIND/CRASH WHEN ORDERING BY MULTIPLE AGGREGATE FUNCTIONS
|
||||
#
|
||||
select 1 order by max(1) + min(1);
|
||||
1
|
||||
1
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug #38745: MySQL 5.1 optimizer uses filesort for ORDER BY
|
||||
|
@ -44,7 +44,7 @@ ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
|
||||
## test correct default plugin
|
||||
select USER(),CURRENT_USER();
|
||||
USER() CURRENT_USER()
|
||||
plug@localhost plug@%
|
||||
plug@localhost plug_dest@%
|
||||
## test no_auto_create_user sql mode with plugin users
|
||||
SET @@sql_mode=no_auto_create_user;
|
||||
GRANT INSERT ON TEST.* TO grant_user IDENTIFIED WITH 'test_plugin_server';
|
||||
@ -462,4 +462,24 @@ CREATE USER bug12610784@localhost;
|
||||
SET PASSWORD FOR bug12610784@localhost = PASSWORD('secret');
|
||||
ERROR 28000: Access denied for user 'bug12610784'@'localhost' (using password: NO)
|
||||
DROP USER bug12610784@localhost;
|
||||
#
|
||||
# Bug #12818542: PAM: ADDING PASSWORD FOR AN ACCOUNT DISABLES PAM
|
||||
# AUTHENTICATION SETTINGS
|
||||
#
|
||||
CREATE USER bug12818542@localhost
|
||||
IDENTIFIED WITH 'test_plugin_server' AS 'bug12818542_dest';
|
||||
CREATE USER bug12818542_dest@localhost
|
||||
IDENTIFIED BY 'bug12818542_dest_passwd';
|
||||
GRANT PROXY ON bug12818542_dest@localhost TO bug12818542@localhost;
|
||||
SELECT USER(),CURRENT_USER();
|
||||
USER() CURRENT_USER()
|
||||
bug12818542@localhost bug12818542_dest@localhost
|
||||
SET PASSWORD = PASSWORD('bruhaha');
|
||||
Warnings:
|
||||
Note 1699 SET PASSWORD has no significance for users authenticating via plugins
|
||||
SELECT USER(),CURRENT_USER();
|
||||
USER() CURRENT_USER()
|
||||
bug12818542@localhost bug12818542_dest@localhost
|
||||
DROP USER bug12818542@localhost;
|
||||
DROP USER bug12818542_dest@localhost;
|
||||
End of 5.5 tests
|
||||
|
@ -1717,6 +1717,22 @@ ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function
|
||||
DROP PROCEDURE p1;
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#12428824 - PARSER STACK OVERFLOW AND CRASH IN SP_ADD_USED_ROUTINE
|
||||
# WITH OBSCURE QUERY
|
||||
#
|
||||
SELECT very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
CALL very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
SELECT very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_func();
|
||||
ERROR 42000: Incorrect database name 'very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222'
|
||||
CALL very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_proc();
|
||||
ERROR 42000: Incorrect database name 'very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222'
|
||||
SELECT db_name.very_long_fn_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
CALL db_name.very_long_pr_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#23032: Handlers declared in a SP do not handle warnings generated in sub-SP
|
||||
|
@ -7162,6 +7162,21 @@ SET @@GLOBAL.init_connect= @old_init_connect;
|
||||
DROP PROCEDURE p2;
|
||||
DROP PROCEDURE p5;
|
||||
#
|
||||
# Bug#11840395 (formerly known as bug#60347):
|
||||
# The string "versiondata" seems
|
||||
# to be 'leaking' into the schema name space
|
||||
#
|
||||
DROP DATABASE IF EXISTS mixedCaseDbName;
|
||||
CREATE DATABASE mixedCaseDbName;
|
||||
CREATE PROCEDURE mixedCaseDbName.tryMyProc() begin end|
|
||||
CREATE FUNCTION mixedCaseDbName.tryMyFunc() returns text begin return 'IT WORKS'; end
|
||||
|
|
||||
call mixedCaseDbName.tryMyProc();
|
||||
select mixedCaseDbName.tryMyFunc();
|
||||
mixedCaseDbName.tryMyFunc()
|
||||
IT WORKS
|
||||
DROP DATABASE mixedCaseDbName;
|
||||
#
|
||||
# Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b INT, KEY(b));
|
||||
|
@ -431,4 +431,19 @@ SELECT f1 FROM t1;
|
||||
f1
|
||||
-1.79769313486231e308
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#12406055 BUFFER OVERFLOW OF VARIABLE 'BUFF' IN STRING::SET_REAL
|
||||
#
|
||||
# Ignoring output from misc. float operations
|
||||
select format(-1.7976931348623157E+307,256) as foo;
|
||||
select least(-1.1111111111111111111111111,
|
||||
- group_concat(1.7976931348623157E+308)) as foo;
|
||||
select concat((truncate((-1.7976931348623157E+307),(0x1e))),
|
||||
(99999999999999999999999999999999999999999999999999999999999999999)) into @a;
|
||||
End of 5.0 tests
|
||||
#
|
||||
# Bug#12368853 FORMAT() CRASHES WITH LARGE NUMBERS AFTER TRUNCATE...
|
||||
#
|
||||
select format(truncate('1.7976931348623157E+308',-12),1,'fr_BE') as foo;
|
||||
foo
|
||||
0
|
||||
|
@ -1643,6 +1643,63 @@ b
|
||||
1
|
||||
2
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Bug#11765255 58201:
|
||||
# VALGRIND/CRASH WHEN ORDERING BY MULTIPLE AGGREGATE FUNCTIONS
|
||||
#
|
||||
select 1 as foo
|
||||
union
|
||||
select 2
|
||||
union
|
||||
select 3
|
||||
union
|
||||
select 4
|
||||
order by max(42) + max(1) + max(1) + max(1) + max(1) + max(1)
|
||||
;
|
||||
foo
|
||||
1
|
||||
prepare stmt1 from 'select 1 as foo
|
||||
union
|
||||
select 2
|
||||
union
|
||||
select 3
|
||||
union
|
||||
select 4
|
||||
order by max(42) + max(1) + max(1) + max(1) + max(1) + max(1)
|
||||
';
|
||||
execute stmt1;
|
||||
foo
|
||||
1
|
||||
execute stmt1;
|
||||
foo
|
||||
1
|
||||
select 1 as foo
|
||||
union
|
||||
select 2
|
||||
union
|
||||
select 3
|
||||
union
|
||||
(select 4)
|
||||
order by max(42) + max(1) + max(1) + max(1) + max(1) + max(1)
|
||||
;
|
||||
foo
|
||||
1
|
||||
prepare stmt1 from 'select 1 as foo
|
||||
union
|
||||
select 2
|
||||
union
|
||||
select 3
|
||||
union
|
||||
(select 4)
|
||||
order by max(42) + max(1) + max(1) + max(1) + max(1) + max(1)
|
||||
';
|
||||
execute stmt1;
|
||||
foo
|
||||
1
|
||||
execute stmt1;
|
||||
foo
|
||||
1
|
||||
deallocate prepare stmt1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#57986 ORDER BY clause is not used after a UNION,
|
||||
|
@ -39,6 +39,81 @@ DELETE FROM t1_purge;
|
||||
DELETE FROM t2_purge;
|
||||
DELETE FROM t3_purge;
|
||||
DELETE FROM t4_purge;
|
||||
SET @r=REPEAT('a',500);
|
||||
CREATE TABLE t12637786(a INT,
|
||||
v1 VARCHAR(500), v2 VARCHAR(500), v3 VARCHAR(500),
|
||||
v4 VARCHAR(500), v5 VARCHAR(500), v6 VARCHAR(500),
|
||||
v7 VARCHAR(500), v8 VARCHAR(500), v9 VARCHAR(500),
|
||||
v10 VARCHAR(500), v11 VARCHAR(500), v12 VARCHAR(500),
|
||||
v13 VARCHAR(500), v14 VARCHAR(500), v15 VARCHAR(500),
|
||||
v16 VARCHAR(500), v17 VARCHAR(500), v18 VARCHAR(500)
|
||||
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
CREATE INDEX idx1 ON t12637786(a,v1);
|
||||
INSERT INTO t12637786 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
||||
UPDATE t12637786 SET a=1000;
|
||||
DELETE FROM t12637786;
|
||||
create table t12963823(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
|
||||
i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
|
||||
engine=innodb row_format=dynamic;
|
||||
SET @r = repeat('a', 767);
|
||||
insert into t12963823 values (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
|
||||
create index ndx_a on t12963823 (a(500));
|
||||
create index ndx_b on t12963823 (b(500));
|
||||
create index ndx_c on t12963823 (c(500));
|
||||
create index ndx_d on t12963823 (d(500));
|
||||
create index ndx_e on t12963823 (e(500));
|
||||
create index ndx_f on t12963823 (f(500));
|
||||
create index ndx_k on t12963823 (k(500));
|
||||
create index ndx_l on t12963823 (l(500));
|
||||
SET @r = repeat('b', 500);
|
||||
update t12963823 set a=@r,b=@r,c=@r,d=@r;
|
||||
update t12963823 set e=@r,f=@r,g=@r,h=@r;
|
||||
update t12963823 set i=@r,j=@r,k=@r,l=@r;
|
||||
update t12963823 set m=@r,n=@r,o=@r,p=@r;
|
||||
alter table t12963823 drop index ndx_a;
|
||||
alter table t12963823 drop index ndx_b;
|
||||
create index ndx_g on t12963823 (g(500));
|
||||
create index ndx_h on t12963823 (h(500));
|
||||
create index ndx_i on t12963823 (i(500));
|
||||
create index ndx_j on t12963823 (j(500));
|
||||
create index ndx_m on t12963823 (m(500));
|
||||
create index ndx_n on t12963823 (n(500));
|
||||
create index ndx_o on t12963823 (o(500));
|
||||
create index ndx_p on t12963823 (p(500));
|
||||
show create table t12963823;
|
||||
Table Create Table
|
||||
t12963823 CREATE TABLE `t12963823` (
|
||||
`a` blob,
|
||||
`b` blob,
|
||||
`c` blob,
|
||||
`d` blob,
|
||||
`e` blob,
|
||||
`f` blob,
|
||||
`g` blob,
|
||||
`h` blob,
|
||||
`i` blob,
|
||||
`j` blob,
|
||||
`k` blob,
|
||||
`l` blob,
|
||||
`m` blob,
|
||||
`n` blob,
|
||||
`o` blob,
|
||||
`p` blob,
|
||||
KEY `ndx_c` (`c`(500)),
|
||||
KEY `ndx_d` (`d`(500)),
|
||||
KEY `ndx_e` (`e`(500)),
|
||||
KEY `ndx_f` (`f`(500)),
|
||||
KEY `ndx_k` (`k`(500)),
|
||||
KEY `ndx_l` (`l`(500)),
|
||||
KEY `ndx_g` (`g`(500)),
|
||||
KEY `ndx_h` (`h`(500)),
|
||||
KEY `ndx_i` (`i`(500)),
|
||||
KEY `ndx_j` (`j`(500)),
|
||||
KEY `ndx_m` (`m`(500)),
|
||||
KEY `ndx_n` (`n`(500)),
|
||||
KEY `ndx_o` (`o`(500)),
|
||||
KEY `ndx_p` (`p`(500))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
|
||||
set global innodb_file_per_table=0;
|
||||
set global innodb_file_format=Antelope;
|
||||
create table t1(a int not null, b int, c char(10) not null, d varchar(20)) engine = innodb;
|
||||
@ -961,20 +1036,6 @@ ERROR HY000: Too big row
|
||||
alter table t1 row_format=compact;
|
||||
create index t1u on t1 (u(767));
|
||||
drop table t1;
|
||||
SET @r=REPEAT('a',500);
|
||||
CREATE TABLE t1(a INT,
|
||||
v1 VARCHAR(500), v2 VARCHAR(500), v3 VARCHAR(500),
|
||||
v4 VARCHAR(500), v5 VARCHAR(500), v6 VARCHAR(500),
|
||||
v7 VARCHAR(500), v8 VARCHAR(500), v9 VARCHAR(500),
|
||||
v10 VARCHAR(500), v11 VARCHAR(500), v12 VARCHAR(500),
|
||||
v13 VARCHAR(500), v14 VARCHAR(500), v15 VARCHAR(500),
|
||||
v16 VARCHAR(500), v17 VARCHAR(500), v18 VARCHAR(500)
|
||||
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
CREATE INDEX idx1 ON t1(a,v1);
|
||||
INSERT INTO t1 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
||||
UPDATE t1 SET a=1000;
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE bug12547647(
|
||||
a INT NOT NULL, b BLOB NOT NULL, c TEXT,
|
||||
PRIMARY KEY (b(10), a), INDEX (c(767)), INDEX(b(767))
|
||||
@ -1155,3 +1216,5 @@ SELECT SLEEP(10);
|
||||
SLEEP(10)
|
||||
0
|
||||
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
|
||||
DROP TABLE t12637786;
|
||||
DROP TABLE t12963823;
|
||||
|
@ -9,7 +9,7 @@ let $format=`select @@innodb_file_format`;
|
||||
set global innodb_file_per_table=on;
|
||||
set global innodb_file_format='Barracuda';
|
||||
|
||||
# Test an assertion failure on purge.
|
||||
# Bug #12429576 - Test an assertion failure on purge.
|
||||
CREATE TABLE t1_purge (
|
||||
A INT,
|
||||
B BLOB, C BLOB, D BLOB, E BLOB,
|
||||
@ -59,6 +59,68 @@ DELETE FROM t1_purge;
|
||||
DELETE FROM t2_purge;
|
||||
DELETE FROM t3_purge;
|
||||
DELETE FROM t4_purge;
|
||||
# Instead of doing a --sleep 10, wait until the rest of the tests in
|
||||
# this file complete before dropping the tables. By then, the purge thread
|
||||
# will have delt with the updates above.
|
||||
|
||||
# Bug#12637786 - Bad assert by purge thread for records with external data
|
||||
# used in secondary indexes.
|
||||
SET @r=REPEAT('a',500);
|
||||
CREATE TABLE t12637786(a INT,
|
||||
v1 VARCHAR(500), v2 VARCHAR(500), v3 VARCHAR(500),
|
||||
v4 VARCHAR(500), v5 VARCHAR(500), v6 VARCHAR(500),
|
||||
v7 VARCHAR(500), v8 VARCHAR(500), v9 VARCHAR(500),
|
||||
v10 VARCHAR(500), v11 VARCHAR(500), v12 VARCHAR(500),
|
||||
v13 VARCHAR(500), v14 VARCHAR(500), v15 VARCHAR(500),
|
||||
v16 VARCHAR(500), v17 VARCHAR(500), v18 VARCHAR(500)
|
||||
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
CREATE INDEX idx1 ON t12637786(a,v1);
|
||||
INSERT INTO t12637786 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
||||
UPDATE t12637786 SET a=1000;
|
||||
DELETE FROM t12637786;
|
||||
# We need to activate the purge thread at this point to make sure it does not
|
||||
# assert and is able to clean up the old versions of secondary index entries.
|
||||
# But instead of doing a --sleep 10, wait until the rest of the tests in
|
||||
# this file complete before dropping the table. By then, the purge thread
|
||||
# will have delt with the updates above.
|
||||
|
||||
# Bug#12963823 - Test that the purge thread does not crash when
|
||||
# the number of indexes has changed since the UNDO record was logged.
|
||||
create table t12963823(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
|
||||
i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob)
|
||||
engine=innodb row_format=dynamic;
|
||||
SET @r = repeat('a', 767);
|
||||
insert into t12963823 values (@r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r, @r,@r,@r,@r);
|
||||
create index ndx_a on t12963823 (a(500));
|
||||
create index ndx_b on t12963823 (b(500));
|
||||
create index ndx_c on t12963823 (c(500));
|
||||
create index ndx_d on t12963823 (d(500));
|
||||
create index ndx_e on t12963823 (e(500));
|
||||
create index ndx_f on t12963823 (f(500));
|
||||
create index ndx_k on t12963823 (k(500));
|
||||
create index ndx_l on t12963823 (l(500));
|
||||
|
||||
SET @r = repeat('b', 500);
|
||||
update t12963823 set a=@r,b=@r,c=@r,d=@r;
|
||||
update t12963823 set e=@r,f=@r,g=@r,h=@r;
|
||||
update t12963823 set i=@r,j=@r,k=@r,l=@r;
|
||||
update t12963823 set m=@r,n=@r,o=@r,p=@r;
|
||||
alter table t12963823 drop index ndx_a;
|
||||
alter table t12963823 drop index ndx_b;
|
||||
create index ndx_g on t12963823 (g(500));
|
||||
create index ndx_h on t12963823 (h(500));
|
||||
create index ndx_i on t12963823 (i(500));
|
||||
create index ndx_j on t12963823 (j(500));
|
||||
create index ndx_m on t12963823 (m(500));
|
||||
create index ndx_n on t12963823 (n(500));
|
||||
create index ndx_o on t12963823 (o(500));
|
||||
create index ndx_p on t12963823 (p(500));
|
||||
show create table t12963823;
|
||||
# We need to activate the purge thread at this point to see if it crashes
|
||||
# but instead of doing a --sleep 10, wait until the rest of the tests in
|
||||
# this file complete before dropping the table. By then, the purge thread
|
||||
# will have delt with the updates above.
|
||||
|
||||
|
||||
eval set global innodb_file_per_table=$per_table;
|
||||
eval set global innodb_file_format=$format;
|
||||
@ -459,24 +521,6 @@ create index t1u on t1 (u(767));
|
||||
|
||||
drop table t1;
|
||||
|
||||
# Bug#12637786
|
||||
SET @r=REPEAT('a',500);
|
||||
CREATE TABLE t1(a INT,
|
||||
v1 VARCHAR(500), v2 VARCHAR(500), v3 VARCHAR(500),
|
||||
v4 VARCHAR(500), v5 VARCHAR(500), v6 VARCHAR(500),
|
||||
v7 VARCHAR(500), v8 VARCHAR(500), v9 VARCHAR(500),
|
||||
v10 VARCHAR(500), v11 VARCHAR(500), v12 VARCHAR(500),
|
||||
v13 VARCHAR(500), v14 VARCHAR(500), v15 VARCHAR(500),
|
||||
v16 VARCHAR(500), v17 VARCHAR(500), v18 VARCHAR(500)
|
||||
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
||||
CREATE INDEX idx1 ON t1(a,v1);
|
||||
INSERT INTO t1 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r);
|
||||
UPDATE t1 SET a=1000;
|
||||
DELETE FROM t1;
|
||||
# Let the purge thread clean up this file.
|
||||
-- sleep 10
|
||||
DROP TABLE t1;
|
||||
|
||||
# Bug#12547647 UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
|
||||
CREATE TABLE bug12547647(
|
||||
a INT NOT NULL, b BLOB NOT NULL, c TEXT,
|
||||
@ -636,6 +680,8 @@ DROP TABLE t1;
|
||||
#this delay is needed because 45225_2 is disabled, to allow the purge to run
|
||||
SELECT SLEEP(10);
|
||||
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
|
||||
DROP TABLE t12637786;
|
||||
DROP TABLE t12963823;
|
||||
|
||||
#
|
||||
# restore environment to the state it was before this test execution
|
||||
|
@ -11,5 +11,7 @@ There should be *no* long test name listed below:
|
||||
select variable_name as `There should be *no* variables listed below:` from t2
|
||||
left join t1 on variable_name=test_name where test_name is null;
|
||||
There should be *no* variables listed below:
|
||||
INNODB_LARGE_PREFIX
|
||||
INNODB_LARGE_PREFIX
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
|
@ -44,4 +44,19 @@ USE nonexistant;
|
||||
disconnect con1;
|
||||
connection default;
|
||||
|
||||
--echo End of 5.4 tests
|
||||
--echo #
|
||||
--echo # Bug#12736295: Buffer overflow for variable converted_err
|
||||
--echo # with non-latin1 server error message
|
||||
--echo #
|
||||
|
||||
connect (con1,localhost,root,,test);
|
||||
--echo # Connection con1
|
||||
SET lc_messages=ru_RU;
|
||||
SET NAMES latin1;
|
||||
--error ER_PARSE_ERROR
|
||||
--query SELECT '01234567890123456789012345678901234\'
|
||||
disconnect con1;
|
||||
--echo # Connection default
|
||||
connection default;
|
||||
|
||||
--echo End of 5.5 tests
|
||||
|
@ -293,6 +293,27 @@ SET collation_connection=utf32_czech_ci;
|
||||
--source include/ctype_czech.inc
|
||||
--source include/ctype_like_ignorable.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug #12319710 : INVALID MEMORY READ AND/OR CRASH IN
|
||||
--echo # MY_UCA_CHARCMP WITH UTF32
|
||||
--echo #
|
||||
|
||||
SET collation_connection=utf32_unicode_ci;
|
||||
CREATE TABLE t1 (a TEXT CHARACTER SET utf32 COLLATE utf32_turkish_ci NOT NULL);
|
||||
INSERT INTO t1 VALUES ('a'), ('b');
|
||||
CREATE TABLE t2 (b VARBINARY(5) NOT NULL);
|
||||
|
||||
--echo #insert chars outside of BMP
|
||||
INSERT INTO t2 VALUEs (0x082837),(0x082837);
|
||||
|
||||
--echo #test for read-out-of-bounds with non-BMP chars as a LIKE pattern
|
||||
SELECT * FROM t1,t2 WHERE a LIKE b;
|
||||
|
||||
--echo #test the original statement
|
||||
SELECT 1 FROM t1 AS t1_0 NATURAL LEFT OUTER JOIN t2 AS t2_0
|
||||
RIGHT JOIN t1 AS t1_1 ON t1_0.a LIKE t2_0.b;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.5 tests
|
||||
|
@ -223,6 +223,7 @@ let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN -n --datadir=/data_not_there/ --basedir=$MY
|
||||
--echo # Attempt to use bad paths - basedir
|
||||
--echo #
|
||||
let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN -n --datadir=$MYSQLD_DATADIR --basedir=/basedir_not_there/ --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR;
|
||||
replace_result "/basedir_not_there//" "/basedir_not_there/";
|
||||
--error 1,2,256
|
||||
--exec $MYSQL_PLUGIN_CMD DISABLE daemon_example 2>&1
|
||||
|
||||
|
@ -1509,6 +1509,13 @@ SELECT DISTINCT a,1 FROM t1 WHERE a <> 1 ORDER BY a DESC;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#11765255 58201:
|
||||
--echo # VALGRIND/CRASH WHEN ORDERING BY MULTIPLE AGGREGATE FUNCTIONS
|
||||
--echo #
|
||||
|
||||
select 1 order by max(1) + min(1);
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
|
||||
|
@ -540,4 +540,35 @@ connection default;
|
||||
disconnect b12610784;
|
||||
DROP USER bug12610784@localhost;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #12818542: PAM: ADDING PASSWORD FOR AN ACCOUNT DISABLES PAM
|
||||
--echo # AUTHENTICATION SETTINGS
|
||||
--echo #
|
||||
|
||||
CREATE USER bug12818542@localhost
|
||||
IDENTIFIED WITH 'test_plugin_server' AS 'bug12818542_dest';
|
||||
CREATE USER bug12818542_dest@localhost
|
||||
IDENTIFIED BY 'bug12818542_dest_passwd';
|
||||
GRANT PROXY ON bug12818542_dest@localhost TO bug12818542@localhost;
|
||||
|
||||
connect(bug12818542_con,localhost,bug12818542,bug12818542_dest);
|
||||
connection bug12818542_con;
|
||||
SELECT USER(),CURRENT_USER();
|
||||
|
||||
SET PASSWORD = PASSWORD('bruhaha');
|
||||
|
||||
connection default;
|
||||
disconnect bug12818542_con;
|
||||
|
||||
connect(bug12818542_con2,localhost,bug12818542,bug12818542_dest);
|
||||
connection bug12818542_con2;
|
||||
SELECT USER(),CURRENT_USER();
|
||||
|
||||
connection default;
|
||||
disconnect bug12818542_con2;
|
||||
|
||||
DROP USER bug12818542@localhost;
|
||||
DROP USER bug12818542_dest@localhost;
|
||||
|
||||
--echo End of 5.5 tests
|
||||
|
@ -2541,6 +2541,28 @@ DROP PROCEDURE p1;
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#12428824 - PARSER STACK OVERFLOW AND CRASH IN SP_ADD_USED_ROUTINE
|
||||
--echo # WITH OBSCURE QUERY
|
||||
--echo #
|
||||
|
||||
--error ER_TOO_LONG_IDENT
|
||||
SELECT very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999();
|
||||
|
||||
--error ER_TOO_LONG_IDENT
|
||||
CALL very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999();
|
||||
|
||||
--error ER_WRONG_DB_NAME
|
||||
SELECT very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_func();
|
||||
|
||||
--error ER_WRONG_DB_NAME
|
||||
CALL very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_proc();
|
||||
|
||||
--error ER_TOO_LONG_IDENT
|
||||
SELECT db_name.very_long_fn_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999();
|
||||
|
||||
--error ER_TOO_LONG_IDENT
|
||||
CALL db_name.very_long_pr_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999();
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--echo #
|
||||
|
@ -8376,6 +8376,26 @@ SET @@GLOBAL.init_connect= @old_init_connect;
|
||||
DROP PROCEDURE p2;
|
||||
DROP PROCEDURE p5;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#11840395 (formerly known as bug#60347):
|
||||
--echo # The string "versiondata" seems
|
||||
--echo # to be 'leaking' into the schema name space
|
||||
--echo #
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mixedCaseDbName;
|
||||
--enable_warnings
|
||||
CREATE DATABASE mixedCaseDbName;
|
||||
DELIMITER |;
|
||||
CREATE PROCEDURE mixedCaseDbName.tryMyProc() begin end|
|
||||
CREATE FUNCTION mixedCaseDbName.tryMyFunc() returns text begin return 'IT WORKS'; end
|
||||
|
|
||||
DELIMITER ;|
|
||||
call mixedCaseDbName.tryMyProc();
|
||||
select mixedCaseDbName.tryMyFunc();
|
||||
DROP DATABASE mixedCaseDbName;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C
|
||||
--echo #
|
||||
|
@ -307,4 +307,27 @@ INSERT INTO t1 VALUES(-1.79769313486231e+308);
|
||||
SELECT f1 FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#12406055 BUFFER OVERFLOW OF VARIABLE 'BUFF' IN STRING::SET_REAL
|
||||
--echo #
|
||||
|
||||
--echo # Ignoring output from misc. float operations
|
||||
--disable_result_log
|
||||
|
||||
let $nine_65=
|
||||
99999999999999999999999999999999999999999999999999999999999999999;
|
||||
|
||||
select format(-1.7976931348623157E+307,256) as foo;
|
||||
select least(-1.1111111111111111111111111,
|
||||
- group_concat(1.7976931348623157E+308)) as foo;
|
||||
eval select concat((truncate((-1.7976931348623157E+307),(0x1e))),
|
||||
($nine_65)) into @a;
|
||||
--enable_result_log
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
--echo #
|
||||
--echo # Bug#12368853 FORMAT() CRASHES WITH LARGE NUMBERS AFTER TRUNCATE...
|
||||
--echo #
|
||||
|
||||
select format(truncate('1.7976931348623157E+308',-12),1,'fr_BE') as foo;
|
||||
|
@ -1116,6 +1116,47 @@ SELECT * FROM t2 UNION SELECT * FROM t2
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#11765255 58201:
|
||||
--echo # VALGRIND/CRASH WHEN ORDERING BY MULTIPLE AGGREGATE FUNCTIONS
|
||||
--echo #
|
||||
|
||||
let $my_stmt=
|
||||
select 1 as foo
|
||||
union
|
||||
select 2
|
||||
union
|
||||
select 3
|
||||
union
|
||||
select 4
|
||||
order by max(42) + max(1) + max(1) + max(1) + max(1) + max(1)
|
||||
;
|
||||
|
||||
eval $my_stmt;
|
||||
|
||||
eval prepare stmt1 from '$my_stmt';
|
||||
execute stmt1;
|
||||
execute stmt1;
|
||||
|
||||
let $my_stmt=
|
||||
select 1 as foo
|
||||
union
|
||||
select 2
|
||||
union
|
||||
select 3
|
||||
union
|
||||
(select 4)
|
||||
order by max(42) + max(1) + max(1) + max(1) + max(1) + max(1)
|
||||
;
|
||||
|
||||
eval $my_stmt;
|
||||
|
||||
eval prepare stmt1 from '$my_stmt';
|
||||
execute stmt1;
|
||||
execute stmt1;
|
||||
|
||||
deallocate prepare stmt1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--echo #
|
||||
|
Reference in New Issue
Block a user