mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Merge mysql-5.5-bugteam --> local bugfixing branch
This commit is contained in:
@@ -24,8 +24,6 @@ main.wait_timeout @solaris # Bug#51244 2010-04-26 alik wait_timeou
|
||||
rpl.rpl_heartbeat_basic # BUG#54820 2010-06-26 alik rpl.rpl_heartbeat_basic fails sporadically again
|
||||
rpl.rpl_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails sporadically
|
||||
rpl.rpl_innodb_bug28430* # Bug#46029
|
||||
rpl.rpl_innodb_bug30888* @solaris # Bug#47646 2009-09-25 alik rpl.rpl_innodb_bug30888 fails sporadically on Solaris
|
||||
rpl.rpl_killed_ddl @windows # Bug#47638 2010-01-20 alik The rpl_killed_ddl test fails on Windows
|
||||
|
||||
sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
|
||||
sys_vars.slow_query_log_func @solaris # Bug#54819 2010-06-26 alik sys_vars.slow_query_log_func fails sporadically on Solaris 10
|
||||
|
||||
@@ -4463,7 +4463,13 @@ sub mysqld_arguments ($$$) {
|
||||
my $mysqld= shift;
|
||||
my $extra_opts= shift;
|
||||
|
||||
mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
|
||||
my @defaults = grep(/^--defaults-file=/, @$extra_opts);
|
||||
if (@defaults > 0) {
|
||||
mtr_add_arg($args, pop(@defaults))
|
||||
}
|
||||
else {
|
||||
mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
|
||||
}
|
||||
|
||||
# When mysqld is run by a root user(euid is 0), it will fail
|
||||
# to start unless we specify what user to run as, see BUG#30630
|
||||
@@ -4499,6 +4505,9 @@ sub mysqld_arguments ($$$) {
|
||||
my $found_skip_core= 0;
|
||||
foreach my $arg ( @$extra_opts )
|
||||
{
|
||||
# Skip --defaults-file option since it's handled above.
|
||||
next if $arg =~ /^--defaults-file/;
|
||||
|
||||
# Allow --skip-core-file to be set in <testname>-[master|slave].opt file
|
||||
if ($arg eq "--skip-core-file")
|
||||
{
|
||||
@@ -5317,8 +5326,7 @@ sub gdb_arguments {
|
||||
"break mysql_parse\n" .
|
||||
"commands 1\n" .
|
||||
"disable 1\n" .
|
||||
"end\n" .
|
||||
"run");
|
||||
"end\n");
|
||||
}
|
||||
|
||||
if ( $opt_manual_gdb )
|
||||
|
||||
@@ -21,7 +21,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
||||
@@ -15,7 +15,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
@@ -49,7 +49,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
@@ -91,7 +91,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
||||
@@ -1425,7 +1425,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) NOT NULL DEFAULT ''
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
||||
@@ -1507,7 +1507,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) CHARACTER SET cp1251 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
||||
@@ -1835,7 +1835,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
||||
@@ -2667,7 +2667,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) CHARACTER SET ucs2 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
||||
@@ -3511,7 +3511,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
||||
@@ -134,3 +134,15 @@ INSERT INTO t1 VALUES ('abc\0\0');
|
||||
INSERT INTO t1 VALUES ('abc\0\0');
|
||||
ERROR 23000: Duplicate entry 'abc\x00\x00' for key 'PRIMARY'
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57882: Item_func_conv_charset::val_str(String*):
|
||||
# Assertion `fixed == 1' failed
|
||||
#
|
||||
SELECT (CONVERT('0' USING latin1) IN (CHAR(COT('v') USING utf8),''));
|
||||
ERROR 22003: DOUBLE value is out of range in 'cot('v')'
|
||||
SET NAMES utf8 COLLATE utf8_latvian_ci ;
|
||||
SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,null);
|
||||
ERROR 22003: BIGINT value is out of range in '(-(73) * -(2465717823867977728))'
|
||||
#
|
||||
# End Bug#57882
|
||||
#
|
||||
|
||||
@@ -1315,6 +1315,20 @@ SELECT 1 FROM t1 ORDER BY @x:=makedate(a,a);
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #52160: crash and inconsistent results when grouping
|
||||
# by a function and column
|
||||
#
|
||||
CREATE TABLE t1(a CHAR(10) NOT NULL);
|
||||
INSERT INTO t1 VALUES (''),('');
|
||||
SELECT COUNT(*) FROM t1 GROUP BY TIME_TO_SEC(a);
|
||||
COUNT(*)
|
||||
2
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: ''
|
||||
Warning 1292 Truncated incorrect time value: ''
|
||||
Warning 1292 Truncated incorrect time value: ''
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#57039: constant subtime expression returns incorrect result.
|
||||
|
||||
@@ -88,7 +88,7 @@ host
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
||||
@@ -45,3 +45,227 @@ p1
|
||||
max=1
|
||||
drop procedure p1;
|
||||
drop table t1;
|
||||
CREATE TABLE slow (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO slow(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO slow(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO slow(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO slow(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM slow ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM slow ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM slow ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM slow ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE slow;
|
||||
CREATE TABLE general (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO general(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO general(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO general(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO general(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM general ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM general ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM general ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM general ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE general;
|
||||
CREATE TABLE master_heartbeat_period (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO master_heartbeat_period(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO master_heartbeat_period(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM master_heartbeat_period ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM master_heartbeat_period ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE master_heartbeat_period;
|
||||
CREATE TABLE ignore_server_ids (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO ignore_server_ids(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO ignore_server_ids(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM ignore_server_ids ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM ignore_server_ids ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE ignore_server_ids;
|
||||
CREATE TABLE t1 (slow INT, general INT, ignore_server_ids INT, master_heartbeat_period INT);
|
||||
INSERT INTO t1 VALUES (1,2,3,4);
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE slow INT;
|
||||
DECLARE general INT;
|
||||
DECLARE ignore_server_ids INT;
|
||||
DECLARE master_heartbeat_period INT;
|
||||
SELECT max(t1.slow) INTO slow FROM t1;
|
||||
SELECT max(t1.general) INTO general FROM t1;
|
||||
SELECT max(t1.ignore_server_ids) INTO ignore_server_ids FROM t1;
|
||||
SELECT max(t1.master_heartbeat_period) INTO master_heartbeat_period FROM t1;
|
||||
SELECT slow, general, ignore_server_ids, master_heartbeat_period;
|
||||
END|
|
||||
CREATE PROCEDURE p2()
|
||||
BEGIN
|
||||
DECLARE n INT DEFAULT 2;
|
||||
general: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE general;
|
||||
SET n = 2;
|
||||
slow: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE slow;
|
||||
SET n = 2;
|
||||
ignore_server_ids: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE ignore_server_ids;
|
||||
SET n = 2;
|
||||
master_heartbeat_period: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE master_heartbeat_period;
|
||||
END|
|
||||
CALL p1();
|
||||
slow general ignore_server_ids master_heartbeat_period
|
||||
1 2 3 4
|
||||
call p2();
|
||||
DROP PROCEDURE p1;
|
||||
DROP PROCEDURE p2;
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -896,6 +896,16 @@ TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - KEY', f1,f2,f3,SLEEP(1.1) FROM t1
|
||||
TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - PK', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f1=2
|
||||
DROP TABLE t1;
|
||||
TRUNCATE TABLE mysql.slow_log;
|
||||
use mysql;
|
||||
drop table if exists renamed_general_log;
|
||||
drop table if exists renamed_slow_log;
|
||||
RENAME TABLE general_log TO renamed_general_log;
|
||||
ERROR HY000: Cannot rename 'general_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'general_log'
|
||||
RENAME TABLE slow_log TO renamed_slow_log;
|
||||
ERROR HY000: Cannot rename 'slow_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'slow_log'
|
||||
use test;
|
||||
flush tables with read lock;
|
||||
unlock tables;
|
||||
SET @@session.long_query_time= @old_long_query_time;
|
||||
SET @@global.log_output= @old_log_output;
|
||||
SET @@global.slow_query_log= @old_slow_query_log;
|
||||
|
||||
@@ -27,7 +27,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.renamed_general_log OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
|
||||
@@ -15,7 +15,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@@ -44,7 +44,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@@ -73,7 +73,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@@ -104,7 +104,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@@ -139,7 +139,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@@ -177,7 +177,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
|
||||
@@ -17,7 +17,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
|
||||
@@ -879,3 +879,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
End of 5.0 tests
|
||||
End of 5.1 tests
|
||||
# Expect deprecation warning.
|
||||
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
|
||||
# Expect deprecation warning again.
|
||||
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
|
||||
|
||||
@@ -18,7 +18,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support analyze
|
||||
@@ -46,7 +46,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support optimize
|
||||
@@ -72,7 +72,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support analyze
|
||||
@@ -98,7 +98,7 @@ mysql.ndb_binlog_index Table is already up to date
|
||||
mysql.plugin Table is already up to date
|
||||
mysql.proc Table is already up to date
|
||||
mysql.procs_priv Table is already up to date
|
||||
mysql.proxy_priv Table is already up to date
|
||||
mysql.proxies_priv Table is already up to date
|
||||
mysql.servers Table is already up to date
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support optimize
|
||||
|
||||
@@ -19,6 +19,7 @@ The following options may be given as the first argument:
|
||||
--auto-increment-offset[=#]
|
||||
Offset added to Auto-increment columns. Used when
|
||||
auto-increment-increment != 1
|
||||
--autocommit Set default value for autocommit (0 or 1)
|
||||
--automatic-sp-privileges
|
||||
Creating and dropping stored procedures alters ACLs
|
||||
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
|
||||
|
||||
@@ -19,6 +19,7 @@ The following options may be given as the first argument:
|
||||
--auto-increment-offset[=#]
|
||||
Offset added to Auto-increment columns. Used when
|
||||
auto-increment-increment != 1
|
||||
--autocommit Set default value for autocommit (0 or 1)
|
||||
--automatic-sp-privileges
|
||||
Creating and dropping stored procedures alters ACLs
|
||||
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
|
||||
|
||||
@@ -11,6 +11,26 @@ test_plugin_server plug_dest
|
||||
## test plugin auth
|
||||
ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
|
||||
GRANT PROXY ON plug_dest TO plug;
|
||||
test proxies_priv columns
|
||||
SELECT * FROM mysql.proxies_priv;
|
||||
Host User Proxied_host Proxied_user With_grant Grantor Timestamp
|
||||
xx root 1 xx
|
||||
xx root 1 xx
|
||||
xx plug % plug_dest 0 root@localhost xx
|
||||
test mysql.proxies_priv;
|
||||
SHOW CREATE TABLE mysql.proxies_priv;
|
||||
Table Create Table
|
||||
proxies_priv CREATE TABLE `proxies_priv` (
|
||||
`Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`Proxied_host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`Proxied_user` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`With_grant` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
|
||||
KEY `Grantor` (`Grantor`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User proxy privileges'
|
||||
select USER(),CURRENT_USER();
|
||||
USER() CURRENT_USER()
|
||||
plug@localhost plug_dest@%
|
||||
@@ -146,8 +166,8 @@ Grants for test_drop@localhost
|
||||
GRANT USAGE ON *.* TO 'test_drop'@'localhost'
|
||||
GRANT PROXY ON 'future_user'@'%' TO 'test_drop'@'localhost'
|
||||
DROP USER test_drop@localhost;
|
||||
SELECT * FROM mysql.proxy_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
||||
Host User Proxied_Host Proxied_User With_Grant
|
||||
SELECT * FROM mysql.proxies_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
||||
Host User Proxied_host Proxied_user With_grant Grantor Timestamp
|
||||
DROP USER proxy_admin;
|
||||
DROP USER grant_plug,grant_plug_dest,grant_plug_dest2;
|
||||
## END GRANT PROXY tests
|
||||
|
||||
@@ -3005,6 +3005,44 @@ EXECUTE stmt;
|
||||
1
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#54494 crash with explain extended and prepared statements
|
||||
#
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
PREPARE stmt FROM 'EXPLAIN EXTENDED SELECT 1 FROM t1 RIGHT JOIN t1 t2 ON 1';
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from `test`.`t1` `t2` left join `test`.`t1` on(1) where 1
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 2 100.00
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from `test`.`t1` `t2` left join `test`.`t1` on(1) where 1
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#54488 crash when using explain and prepared statements with subqueries
|
||||
#
|
||||
CREATE TABLE t1(f1 INT);
|
||||
INSERT INTO t1 VALUES (1),(1);
|
||||
PREPARE stmt FROM 'EXPLAIN SELECT 1 FROM t1 WHERE (SELECT (SELECT 1 FROM t1 GROUP BY f1))';
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
|
||||
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
EXECUTE stmt;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
|
||||
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
End of 5.1 tests.
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
||||
@@ -975,4 +975,14 @@ SELECT LENGTH(c) FROM t2;
|
||||
LENGTH(c)
|
||||
65535
|
||||
DROP TABLE t1, t2;
|
||||
# Bug #52160: crash and inconsistent results when grouping
|
||||
# by a function and column
|
||||
CREATE FUNCTION f1() RETURNS TINYBLOB RETURN 1;
|
||||
CREATE TABLE t1(a CHAR(1));
|
||||
INSERT INTO t1 VALUES ('0'), ('0');
|
||||
SELECT COUNT(*) FROM t1 GROUP BY f1(), a;
|
||||
COUNT(*)
|
||||
2
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
||||
95
mysql-test/std_data/bug57108.cnf
Normal file
95
mysql-test/std_data/bug57108.cnf
Normal file
@@ -0,0 +1,95 @@
|
||||
[mysqld]
|
||||
open-files-limit=1024
|
||||
character-set-server=latin1
|
||||
connect-timeout=4711
|
||||
log-bin-trust-function-creators=1
|
||||
key_buffer_size=1M
|
||||
sort_buffer=256K
|
||||
max_heap_table_size=1M
|
||||
loose-innodb_data_file_path=ibdata1:10M:autoextend
|
||||
loose-innodb_buffer_pool_size=8M
|
||||
loose-innodb_write_io_threads=2
|
||||
loose-innodb_read_io_threads=2
|
||||
loose-innodb_log_buffer_size=1M
|
||||
loose-innodb_log_file_size=5M
|
||||
loose-innodb_additional_mem_pool_size=1M
|
||||
loose-innodb_log_files_in_group=2
|
||||
slave-net-timeout=120
|
||||
log-bin=mysqld-bin
|
||||
loose-enable-performance-schema
|
||||
loose-performance-schema-max-mutex-instances=10000
|
||||
loose-performance-schema-max-rwlock-instances=10000
|
||||
loose-performance-schema-max-table-instances=500
|
||||
loose-performance-schema-max-table-handles=1000
|
||||
binlog-direct-non-transactional-updates
|
||||
|
||||
[mysql]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysqlshow]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysqlimport]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysqlcheck]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysql_upgrade]
|
||||
default-character-set=latin1
|
||||
tmpdir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp
|
||||
|
||||
[mysqld.1]
|
||||
#!run-master-sh
|
||||
log-bin=master-bin
|
||||
loose-enable-performance-schema
|
||||
basedir=/home/bzr/bugs/b57108-5.5-bugteam
|
||||
tmpdir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1
|
||||
character-sets-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/charsets
|
||||
lc-messages-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/
|
||||
datadir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/data
|
||||
pid-file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/run/mysqld.1.pid
|
||||
#host=localhost
|
||||
port=13000
|
||||
socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
#log-error=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/log/mysqld.1.err
|
||||
general_log=1
|
||||
general_log_file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/mysqld.log
|
||||
slow_query_log=1
|
||||
slow_query_log_file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/mysqld-slow.log
|
||||
#user=root
|
||||
#password=
|
||||
server-id=1
|
||||
secure-file-priv=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var
|
||||
ssl-ca=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/cacert.pem
|
||||
ssl-cert=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/server-cert.pem
|
||||
ssl-key=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/server-key.pem
|
||||
|
||||
[mysqlbinlog]
|
||||
disable-force-if-open
|
||||
character-sets-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/charsets
|
||||
|
||||
[ENV]
|
||||
MASTER_MYPORT=13000
|
||||
MASTER_MYSOCK=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
|
||||
[client]
|
||||
password=
|
||||
user=root
|
||||
port=13000
|
||||
host=localhost
|
||||
socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
|
||||
[mysqltest]
|
||||
ssl-ca=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/cacert.pem
|
||||
ssl-cert=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/client-cert.pem
|
||||
ssl-key=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/client-key.pem
|
||||
skip-ssl=1
|
||||
|
||||
[client.1]
|
||||
password=
|
||||
user=root
|
||||
port=13000
|
||||
host=localhost
|
||||
socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
|
||||
5
mysql-test/suite/bugs/r/bug57108.result
Normal file
5
mysql-test/suite/bugs/r/bug57108.result
Normal file
@@ -0,0 +1,5 @@
|
||||
INSTALL PLUGIN example SONAME 'ha_example.so';
|
||||
SELECT @@global.connect_timeout AS connect_timeout, @@global.local_infile AS local_infile;
|
||||
connect_timeout 4711
|
||||
local_infile 1
|
||||
UNINSTALL PLUGIN example;
|
||||
2
mysql-test/suite/bugs/t/bug57108-master.opt
Normal file
2
mysql-test/suite/bugs/t/bug57108-master.opt
Normal file
@@ -0,0 +1,2 @@
|
||||
--defaults-file=std_data/bug57108.cnf
|
||||
$EXAMPLE_PLUGIN_OPT
|
||||
12
mysql-test/suite/bugs/t/bug57108.test
Normal file
12
mysql-test/suite/bugs/t/bug57108.test
Normal file
@@ -0,0 +1,12 @@
|
||||
--source include/not_windows_embedded.inc
|
||||
--source include/have_example_plugin.inc
|
||||
|
||||
# Test that we can install a plugin despite the fact that we have
|
||||
# switched directory after starting the server and am using a relative
|
||||
# --defaults-file.
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
|
||||
--query_vertical SELECT @@global.connect_timeout AS connect_timeout, @@global.local_infile AS local_infile
|
||||
|
||||
UNINSTALL PLUGIN example;
|
||||
@@ -134,11 +134,13 @@ def mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_general_
|
||||
def mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
|
||||
def mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
|
||||
def mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxy_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxy_priv Proxied_Host 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxy_priv Proxied_User 4 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxy_priv User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxy_priv With_Grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
|
||||
def mysql proxies_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
|
||||
def mysql proxies_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxies_priv Proxied_host 3 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
|
||||
def mysql proxies_priv User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
|
||||
def mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
|
||||
def mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
|
||||
def mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
|
||||
@@ -425,11 +427,13 @@ NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
|
||||
3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77)
|
||||
3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant')
|
||||
NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
|
||||
3.0000 mysql proxy_priv Host char 60 180 utf8 utf8_bin char(60)
|
||||
3.0000 mysql proxy_priv User char 16 48 utf8 utf8_bin char(16)
|
||||
3.0000 mysql proxy_priv Proxied_Host char 16 48 utf8 utf8_bin char(16)
|
||||
3.0000 mysql proxy_priv Proxied_User char 60 180 utf8 utf8_bin char(60)
|
||||
NULL mysql proxy_priv With_Grant tinyint NULL NULL NULL NULL tinyint(1)
|
||||
3.0000 mysql proxies_priv Host char 60 180 utf8 utf8_bin char(60)
|
||||
3.0000 mysql proxies_priv User char 16 48 utf8 utf8_bin char(16)
|
||||
3.0000 mysql proxies_priv Proxied_host char 60 180 utf8 utf8_bin char(60)
|
||||
3.0000 mysql proxies_priv Proxied_user char 16 48 utf8 utf8_bin char(16)
|
||||
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
|
||||
3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
|
||||
NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
|
||||
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
|
||||
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
|
||||
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
|
||||
|
||||
@@ -106,10 +106,10 @@ def mysql PRIMARY def mysql procs_priv Db
|
||||
def mysql PRIMARY def mysql procs_priv User
|
||||
def mysql PRIMARY def mysql procs_priv Routine_name
|
||||
def mysql PRIMARY def mysql procs_priv Routine_type
|
||||
def mysql PRIMARY def mysql proxy_priv Host
|
||||
def mysql PRIMARY def mysql proxy_priv User
|
||||
def mysql PRIMARY def mysql proxy_priv Proxied_Host
|
||||
def mysql PRIMARY def mysql proxy_priv Proxied_User
|
||||
def mysql PRIMARY def mysql proxies_priv Host
|
||||
def mysql PRIMARY def mysql proxies_priv User
|
||||
def mysql PRIMARY def mysql proxies_priv Proxied_host
|
||||
def mysql PRIMARY def mysql proxies_priv Proxied_user
|
||||
def mysql PRIMARY def mysql servers Server_name
|
||||
def mysql PRIMARY def mysql tables_priv Host
|
||||
def mysql PRIMARY def mysql tables_priv Db
|
||||
|
||||
@@ -118,10 +118,11 @@ def mysql procs_priv mysql PRIMARY
|
||||
def mysql procs_priv mysql PRIMARY
|
||||
def mysql procs_priv mysql PRIMARY
|
||||
def mysql procs_priv mysql Grantor
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql Grantor
|
||||
def mysql servers mysql PRIMARY
|
||||
def mysql tables_priv mysql PRIMARY
|
||||
def mysql tables_priv mysql PRIMARY
|
||||
|
||||
@@ -40,10 +40,11 @@ def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
|
||||
def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
|
||||
def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
|
||||
def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 3 Proxied_Host A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 4 Proxied_User A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
|
||||
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
|
||||
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
|
||||
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
|
||||
|
||||
@@ -73,7 +73,7 @@ def mysql PRIMARY mysql ndb_binlog_index
|
||||
def mysql PRIMARY mysql plugin
|
||||
def mysql PRIMARY mysql proc
|
||||
def mysql PRIMARY mysql procs_priv
|
||||
def mysql PRIMARY mysql proxy_priv
|
||||
def mysql PRIMARY mysql proxies_priv
|
||||
def mysql PRIMARY mysql servers
|
||||
def mysql PRIMARY mysql tables_priv
|
||||
def mysql PRIMARY mysql time_zone
|
||||
|
||||
@@ -23,7 +23,7 @@ def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
|
||||
def mysql PRIMARY mysql plugin PRIMARY KEY
|
||||
def mysql PRIMARY mysql proc PRIMARY KEY
|
||||
def mysql PRIMARY mysql procs_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql proxy_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql proxies_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql servers PRIMARY KEY
|
||||
def mysql PRIMARY mysql tables_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql time_zone PRIMARY KEY
|
||||
|
||||
@@ -336,7 +336,7 @@ user_comment Procedure privileges
|
||||
Separator -----------------------------------------------------
|
||||
TABLE_CATALOG def
|
||||
TABLE_SCHEMA mysql
|
||||
TABLE_NAME proxy_priv
|
||||
TABLE_NAME proxies_priv
|
||||
TABLE_TYPE BASE TABLE
|
||||
ENGINE MyISAM
|
||||
VERSION 10
|
||||
|
||||
10
mysql-test/suite/innodb/r/innodb_bug57255.result
Normal file
10
mysql-test/suite/innodb/r/innodb_bug57255.result
Normal file
@@ -0,0 +1,10 @@
|
||||
create table A(id int not null primary key) engine=innodb;
|
||||
create table B(id int not null auto_increment primary key, f1 int not null, foreign key(f1) references A(id) on delete cascade) engine=innodb;
|
||||
create table C(id int not null auto_increment primary key, f1 int not null, foreign key(f1) references B(id) on delete cascade) engine=innodb;
|
||||
insert into A values(1), (2);
|
||||
DELETE FROM A where id = 1;
|
||||
DELETE FROM C where f1 = 2;
|
||||
DELETE FROM A where id = 1;
|
||||
DROP TABLE C;
|
||||
DROP TABLE B;
|
||||
DROP TABLE A;
|
||||
36
mysql-test/suite/innodb/t/innodb_bug57255.test
Normal file
36
mysql-test/suite/innodb/t/innodb_bug57255.test
Normal file
@@ -0,0 +1,36 @@
|
||||
# Test Bug #57255. Cascade deletes that affect different rows should not
|
||||
# result in DB_FOREIGN_EXCEED_MAX_CASCADE error
|
||||
|
||||
--source include/have_innodb.inc
|
||||
|
||||
create table A(id int not null primary key) engine=innodb;
|
||||
|
||||
create table B(id int not null auto_increment primary key, f1 int not null, foreign key(f1) references A(id) on delete cascade) engine=innodb;
|
||||
|
||||
create table C(id int not null auto_increment primary key, f1 int not null, foreign key(f1) references B(id) on delete cascade) engine=innodb;
|
||||
|
||||
insert into A values(1), (2);
|
||||
|
||||
--disable_query_log
|
||||
let $i=257;
|
||||
while ($i)
|
||||
{
|
||||
insert into B(f1) values(1);
|
||||
dec $i;
|
||||
}
|
||||
let $i=486;
|
||||
while ($i)
|
||||
{
|
||||
insert into C(f1) values(2);
|
||||
dec $i;
|
||||
}
|
||||
--enable_query_log
|
||||
|
||||
# Following Deletes should not report error
|
||||
DELETE FROM A where id = 1;
|
||||
DELETE FROM C where f1 = 2;
|
||||
DELETE FROM A where id = 1;
|
||||
|
||||
DROP TABLE C;
|
||||
DROP TABLE B;
|
||||
DROP TABLE A;
|
||||
@@ -2,5 +2,5 @@ call mtr.add_suppression(
|
||||
"Column count of mysql.setup_instruments is wrong. "
|
||||
"Expected 4, found 3. The table is probably corrupted");
|
||||
select * from performance_schema.setup_instruments limit 1;
|
||||
ERROR HY000: Native table 'performance_schema'.'SETUP_INSTRUMENTS' has the wrong structure
|
||||
ERROR HY000: Native table 'performance_schema'.'setup_instruments' has the wrong structure
|
||||
select * from performance_schema.setup_consumers limit 1;
|
||||
|
||||
29
mysql-test/suite/sys_vars/inc/autocommit_func2.inc
Normal file
29
mysql-test/suite/sys_vars/inc/autocommit_func2.inc
Normal file
@@ -0,0 +1,29 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
CREATE TABLE t1
|
||||
(
|
||||
id INT NOT NULL auto_increment,
|
||||
PRIMARY KEY (id),
|
||||
name varchar(30)
|
||||
) ENGINE = INNODB;
|
||||
|
||||
SELECT @@global.autocommit;
|
||||
SELECT @@autocommit;
|
||||
INSERT into t1(name) values('Record_1');
|
||||
INSERT into t1(name) values('Record_2');
|
||||
SELECT * from t1;
|
||||
ROLLBACK;
|
||||
SELECT * from t1;
|
||||
|
||||
set @@global.autocommit = 1-@@global.autocommit;
|
||||
set @@autocommit = 1-@@autocommit;
|
||||
SELECT @@global.autocommit;
|
||||
SELECT @@autocommit;
|
||||
INSERT into t1(name) values('Record_1');
|
||||
INSERT into t1(name) values('Record_2');
|
||||
SELECT * from t1;
|
||||
ROLLBACK;
|
||||
SELECT * from t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
set @@global.autocommit = 1-@@global.autocommit;
|
||||
46
mysql-test/suite/sys_vars/r/autocommit_func2.result
Normal file
46
mysql-test/suite/sys_vars/r/autocommit_func2.result
Normal file
@@ -0,0 +1,46 @@
|
||||
CREATE TABLE t1
|
||||
(
|
||||
id INT NOT NULL auto_increment,
|
||||
PRIMARY KEY (id),
|
||||
name varchar(30)
|
||||
) ENGINE = INNODB;
|
||||
SELECT @@global.autocommit;
|
||||
@@global.autocommit
|
||||
1
|
||||
SELECT @@autocommit;
|
||||
@@autocommit
|
||||
1
|
||||
INSERT into t1(name) values('Record_1');
|
||||
INSERT into t1(name) values('Record_2');
|
||||
SELECT * from t1;
|
||||
id name
|
||||
1 Record_1
|
||||
2 Record_2
|
||||
ROLLBACK;
|
||||
SELECT * from t1;
|
||||
id name
|
||||
1 Record_1
|
||||
2 Record_2
|
||||
set @@global.autocommit = 1-@@global.autocommit;
|
||||
set @@autocommit = 1-@@autocommit;
|
||||
SELECT @@global.autocommit;
|
||||
@@global.autocommit
|
||||
0
|
||||
SELECT @@autocommit;
|
||||
@@autocommit
|
||||
0
|
||||
INSERT into t1(name) values('Record_1');
|
||||
INSERT into t1(name) values('Record_2');
|
||||
SELECT * from t1;
|
||||
id name
|
||||
1 Record_1
|
||||
2 Record_2
|
||||
3 Record_1
|
||||
4 Record_2
|
||||
ROLLBACK;
|
||||
SELECT * from t1;
|
||||
id name
|
||||
1 Record_1
|
||||
2 Record_2
|
||||
DROP TABLE t1;
|
||||
set @@global.autocommit = 1-@@global.autocommit;
|
||||
42
mysql-test/suite/sys_vars/r/autocommit_func3.result
Normal file
42
mysql-test/suite/sys_vars/r/autocommit_func3.result
Normal file
@@ -0,0 +1,42 @@
|
||||
CREATE TABLE t1
|
||||
(
|
||||
id INT NOT NULL auto_increment,
|
||||
PRIMARY KEY (id),
|
||||
name varchar(30)
|
||||
) ENGINE = INNODB;
|
||||
SELECT @@global.autocommit;
|
||||
@@global.autocommit
|
||||
0
|
||||
SELECT @@autocommit;
|
||||
@@autocommit
|
||||
0
|
||||
INSERT into t1(name) values('Record_1');
|
||||
INSERT into t1(name) values('Record_2');
|
||||
SELECT * from t1;
|
||||
id name
|
||||
1 Record_1
|
||||
2 Record_2
|
||||
ROLLBACK;
|
||||
SELECT * from t1;
|
||||
id name
|
||||
set @@global.autocommit = 1-@@global.autocommit;
|
||||
set @@autocommit = 1-@@autocommit;
|
||||
SELECT @@global.autocommit;
|
||||
@@global.autocommit
|
||||
1
|
||||
SELECT @@autocommit;
|
||||
@@autocommit
|
||||
1
|
||||
INSERT into t1(name) values('Record_1');
|
||||
INSERT into t1(name) values('Record_2');
|
||||
SELECT * from t1;
|
||||
id name
|
||||
3 Record_1
|
||||
4 Record_2
|
||||
ROLLBACK;
|
||||
SELECT * from t1;
|
||||
id name
|
||||
3 Record_1
|
||||
4 Record_2
|
||||
DROP TABLE t1;
|
||||
set @@global.autocommit = 1-@@global.autocommit;
|
||||
1
mysql-test/suite/sys_vars/t/autocommit_func2-master.opt
Normal file
1
mysql-test/suite/sys_vars/t/autocommit_func2-master.opt
Normal file
@@ -0,0 +1 @@
|
||||
--autocommit=1
|
||||
1
mysql-test/suite/sys_vars/t/autocommit_func2.test
Normal file
1
mysql-test/suite/sys_vars/t/autocommit_func2.test
Normal file
@@ -0,0 +1 @@
|
||||
--source suite/sys_vars/inc/autocommit_func2.inc
|
||||
1
mysql-test/suite/sys_vars/t/autocommit_func3-master.opt
Normal file
1
mysql-test/suite/sys_vars/t/autocommit_func3-master.opt
Normal file
@@ -0,0 +1 @@
|
||||
--autocommit=0
|
||||
1
mysql-test/suite/sys_vars/t/autocommit_func3.test
Normal file
1
mysql-test/suite/sys_vars/t/autocommit_func3.test
Normal file
@@ -0,0 +1 @@
|
||||
--source suite/sys_vars/inc/autocommit_func2.inc
|
||||
@@ -155,3 +155,19 @@ INSERT INTO t1 VALUES ('abc\0\0');
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO t1 VALUES ('abc\0\0');
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#57882: Item_func_conv_charset::val_str(String*):
|
||||
--echo # Assertion `fixed == 1' failed
|
||||
--echo #
|
||||
|
||||
--error ER_DATA_OUT_OF_RANGE
|
||||
SELECT (CONVERT('0' USING latin1) IN (CHAR(COT('v') USING utf8),''));
|
||||
|
||||
SET NAMES utf8 COLLATE utf8_latvian_ci ;
|
||||
--error ER_DATA_OUT_OF_RANGE
|
||||
SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,null);
|
||||
|
||||
--echo #
|
||||
--echo # End Bug#57882
|
||||
--echo #
|
||||
|
||||
@@ -832,6 +832,16 @@ INSERT INTO t1 VALUES (0),(9.216e-096);
|
||||
SELECT 1 FROM t1 ORDER BY @x:=makedate(a,a);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #52160: crash and inconsistent results when grouping
|
||||
--echo # by a function and column
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1(a CHAR(10) NOT NULL);
|
||||
INSERT INTO t1 VALUES (''),('');
|
||||
SELECT COUNT(*) FROM t1 GROUP BY TIME_TO_SEC(a);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
--echo #
|
||||
|
||||
@@ -62,5 +62,103 @@ call p1();
|
||||
drop procedure p1;
|
||||
drop table t1;
|
||||
|
||||
|
||||
# End of 5.0 tests
|
||||
|
||||
#
|
||||
# BUG#57899: Certain reserved words should not be reserved
|
||||
#
|
||||
|
||||
#
|
||||
# We are looking for SYNTAX ERRORS here, so no need to
|
||||
# log the queries
|
||||
#
|
||||
|
||||
CREATE TABLE slow (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO slow(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO slow(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO slow(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO slow(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM slow ORDER BY slow;
|
||||
SELECT slow, general, master_heartbeat_period FROM slow ORDER BY slow;
|
||||
SELECT slow, master_heartbeat_period FROM slow ORDER BY slow;
|
||||
SELECT slow FROM slow ORDER BY slow;
|
||||
DROP TABLE slow;
|
||||
CREATE TABLE general (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO general(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO general(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO general(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO general(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM general ORDER BY slow;
|
||||
SELECT slow, general, master_heartbeat_period FROM general ORDER BY slow;
|
||||
SELECT slow, master_heartbeat_period FROM general ORDER BY slow;
|
||||
SELECT slow FROM general ORDER BY slow;
|
||||
DROP TABLE general;
|
||||
CREATE TABLE master_heartbeat_period (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO master_heartbeat_period(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO master_heartbeat_period(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM master_heartbeat_period ORDER BY slow;
|
||||
SELECT slow, general, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
|
||||
SELECT slow, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
|
||||
SELECT slow FROM master_heartbeat_period ORDER BY slow;
|
||||
DROP TABLE master_heartbeat_period;
|
||||
CREATE TABLE ignore_server_ids (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO ignore_server_ids(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO ignore_server_ids(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM ignore_server_ids ORDER BY slow;
|
||||
SELECT slow, general, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
|
||||
SELECT slow, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
|
||||
SELECT slow FROM ignore_server_ids ORDER BY slow;
|
||||
DROP TABLE ignore_server_ids;
|
||||
|
||||
CREATE TABLE t1 (slow INT, general INT, ignore_server_ids INT, master_heartbeat_period INT);
|
||||
INSERT INTO t1 VALUES (1,2,3,4);
|
||||
DELIMITER |;
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE slow INT;
|
||||
DECLARE general INT;
|
||||
DECLARE ignore_server_ids INT;
|
||||
DECLARE master_heartbeat_period INT;
|
||||
|
||||
SELECT max(t1.slow) INTO slow FROM t1;
|
||||
SELECT max(t1.general) INTO general FROM t1;
|
||||
SELECT max(t1.ignore_server_ids) INTO ignore_server_ids FROM t1;
|
||||
SELECT max(t1.master_heartbeat_period) INTO master_heartbeat_period FROM t1;
|
||||
|
||||
SELECT slow, general, ignore_server_ids, master_heartbeat_period;
|
||||
END|
|
||||
|
||||
CREATE PROCEDURE p2()
|
||||
BEGIN
|
||||
|
||||
DECLARE n INT DEFAULT 2;
|
||||
general: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE general;
|
||||
|
||||
SET n = 2;
|
||||
slow: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE slow;
|
||||
|
||||
SET n = 2;
|
||||
ignore_server_ids: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE ignore_server_ids;
|
||||
|
||||
SET n = 2;
|
||||
master_heartbeat_period: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE master_heartbeat_period;
|
||||
|
||||
END|
|
||||
DELIMITER ;|
|
||||
CALL p1();
|
||||
call p2();
|
||||
DROP PROCEDURE p1;
|
||||
DROP PROCEDURE p2;
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -1034,6 +1034,25 @@ DROP TABLE t1;
|
||||
|
||||
TRUNCATE TABLE mysql.slow_log;
|
||||
|
||||
#
|
||||
# Bug #47924 main.log_tables times out sporadically
|
||||
#
|
||||
|
||||
use mysql;
|
||||
# Should result in error
|
||||
--disable_warnings
|
||||
drop table if exists renamed_general_log;
|
||||
drop table if exists renamed_slow_log;
|
||||
--enable_warnings
|
||||
--error ER_CANT_RENAME_LOG_TABLE
|
||||
RENAME TABLE general_log TO renamed_general_log;
|
||||
--error ER_CANT_RENAME_LOG_TABLE
|
||||
RENAME TABLE slow_log TO renamed_slow_log;
|
||||
|
||||
use test;
|
||||
flush tables with read lock;
|
||||
unlock tables;
|
||||
|
||||
SET @@session.long_query_time= @old_long_query_time;
|
||||
|
||||
SET @@global.log_output= @old_log_output;
|
||||
|
||||
@@ -487,3 +487,18 @@ diff_files $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn $MYSQLTEST_VARDIR/tmp/mysqlbin
|
||||
# Cleanup for this part of test
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn.empty;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn;
|
||||
|
||||
#
|
||||
# WL#5625: Deprecate mysqlbinlog options --base64-output=always and --base64-output
|
||||
#
|
||||
|
||||
--echo # Expect deprecation warning.
|
||||
--exec $MYSQL_BINLOG --base64-output=always std_data/master-bin.000001 > /dev/null 2> $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
|
||||
|
||||
--echo # Expect deprecation warning again.
|
||||
--exec $MYSQL_BINLOG --base64-output std_data/master-bin.000001 > /dev/null 2> $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
|
||||
|
||||
# Clean up this part of the test.
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
|
||||
|
||||
@@ -16,6 +16,11 @@ connect(plug_con,localhost,plug,plug_dest);
|
||||
--enable_query_log
|
||||
|
||||
GRANT PROXY ON plug_dest TO plug;
|
||||
--echo test proxies_priv columns
|
||||
--replace_column 1 xx 7 xx
|
||||
SELECT * FROM mysql.proxies_priv;
|
||||
--echo test mysql.proxies_priv;
|
||||
SHOW CREATE TABLE mysql.proxies_priv;
|
||||
|
||||
connect(plug_con,localhost,plug,plug_dest);
|
||||
|
||||
@@ -226,7 +231,7 @@ CREATE USER test_drop@localhost;
|
||||
GRANT PROXY ON future_user TO test_drop@localhost;
|
||||
SHOW GRANTS FOR test_drop@localhost;
|
||||
DROP USER test_drop@localhost;
|
||||
SELECT * FROM mysql.proxy_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
||||
SELECT * FROM mysql.proxies_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
||||
|
||||
DROP USER proxy_admin;
|
||||
|
||||
|
||||
@@ -3079,7 +3079,27 @@ EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
###########################################################################
|
||||
--echo #
|
||||
--echo # Bug#54494 crash with explain extended and prepared statements
|
||||
--echo #
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
PREPARE stmt FROM 'EXPLAIN EXTENDED SELECT 1 FROM t1 RIGHT JOIN t1 t2 ON 1';
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#54488 crash when using explain and prepared statements with subqueries
|
||||
--echo #
|
||||
CREATE TABLE t1(f1 INT);
|
||||
INSERT INTO t1 VALUES (1),(1);
|
||||
PREPARE stmt FROM 'EXPLAIN SELECT 1 FROM t1 WHERE (SELECT (SELECT 1 FROM t1 GROUP BY f1))';
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo
|
||||
--echo End of 5.1 tests.
|
||||
|
||||
@@ -72,7 +72,7 @@ CREATE TABLE time_zone_leap_second ( Transition_time bigint signed NOT NULL,
|
||||
-- disable_query_log
|
||||
|
||||
# Drop all tables created by this test
|
||||
DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxy_priv;
|
||||
DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxies_priv;
|
||||
|
||||
-- enable_query_log
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ INSERT INTO servers VALUES ('test','localhost','test','root','', 0,'','mysql','r
|
||||
-- disable_query_log
|
||||
|
||||
# Drop all tables created by this test
|
||||
DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxy_priv;
|
||||
DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxies_priv;
|
||||
|
||||
-- enable_query_log
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL,
|
||||
-- disable_query_log
|
||||
|
||||
# Drop all tables created by this test
|
||||
DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxy_priv;
|
||||
DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxies_priv;
|
||||
|
||||
-- enable_query_log
|
||||
|
||||
|
||||
@@ -617,4 +617,17 @@ SELECT LENGTH(c) FROM t2;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo # Bug #52160: crash and inconsistent results when grouping
|
||||
--echo # by a function and column
|
||||
|
||||
CREATE FUNCTION f1() RETURNS TINYBLOB RETURN 1;
|
||||
|
||||
CREATE TABLE t1(a CHAR(1));
|
||||
INSERT INTO t1 VALUES ('0'), ('0');
|
||||
|
||||
SELECT COUNT(*) FROM t1 GROUP BY f1(), a;
|
||||
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
Reference in New Issue
Block a user