mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Additional merge to lp:maria/10.0
This commit is contained in:
@ -127,7 +127,7 @@ drop table t1;
|
||||
SET @OLD_SQL_MODE=@@SQL_MODE;
|
||||
SET SQL_MODE='IGNORE_BAD_TABLE_OPTIONS';
|
||||
#illegal value fixed
|
||||
CREATE TABLE t1 (a int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS;
|
||||
CREATE TABLE t1 (a int, b int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS;
|
||||
Warnings:
|
||||
Warning 1912 Incorrect value '10000000000000000000' for option 'ULL'
|
||||
Warning 1912 Incorrect value 'ttt' for option 'one_or_two'
|
||||
@ -135,7 +135,8 @@ Warning 1912 Incorrect value 'SSS' for option 'YESNO'
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ULL`=10000000000000000000 `one_or_two`='ttt' `YESNO`=SSS `VAROPT`='5'
|
||||
#alter table
|
||||
alter table t1 ULL=10000000;
|
||||
@ -144,7 +145,8 @@ Note 1105 EXAMPLE DEBUG: ULL 4294967290 -> 10000000
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `one_or_two`='ttt' `YESNO`=SSS `VAROPT`='5' `ULL`=10000000
|
||||
alter table t1 change a a int complex='c,c,c';
|
||||
Warnings:
|
||||
@ -152,15 +154,15 @@ Note 1105 EXAMPLE DEBUG: Field `a` COMPLEX '(null)' -> 'c,c,c'
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL `complex`='c,c,c'
|
||||
`a` int(11) DEFAULT NULL `complex`='c,c,c',
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `one_or_two`='ttt' `YESNO`=SSS `VAROPT`='5' `ULL`=10000000
|
||||
alter table t1 one_or_two=two;
|
||||
Warnings:
|
||||
Note 1105 EXAMPLE DEBUG: Field `a` COMPLEX 'c,c,c' -> 'c,c,c'
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL `complex`='c,c,c'
|
||||
`a` int(11) DEFAULT NULL `complex`='c,c,c',
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `YESNO`=SSS `VAROPT`='5' `ULL`=10000000 `one_or_two`=two
|
||||
drop table t1;
|
||||
#illegal value error
|
||||
@ -204,8 +206,6 @@ t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `varopt`=15
|
||||
alter table t1 varopt=default;
|
||||
Warnings:
|
||||
Note 1105 EXAMPLE DEBUG: Field `a` COMPLEX '(null)' -> '(null)'
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
|
BIN
mysql-test/std_data/mariadb-5.5-binlog.000001
Normal file
BIN
mysql-test/std_data/mariadb-5.5-binlog.000001
Normal file
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
grant '' to foo@localhost;
|
||||
ERROR OP000: Invalid role specification ``.
|
||||
create user ''@localhost;
|
||||
create role r1;
|
||||
grant r1 to ''@localhost;
|
@ -1,3 +1,9 @@
|
||||
#
|
||||
# MDEV-5668 Assertion `granted_role->is_role()' fails on granting role with empty name
|
||||
#
|
||||
--error ER_INVALID_ROLE
|
||||
grant '' to foo@localhost;
|
||||
|
||||
#
|
||||
# MDEV-5238 Server crashes in find_role_grant_pair on SHOW GRANTS for an anonymous user
|
||||
#
|
@ -62,6 +62,32 @@ slave-relay-bin.000007 # Query # # # Dummy ev
|
||||
slave-relay-bin.000007 # Table_map # # table_id: # (test.t1)
|
||||
slave-relay-bin.000007 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
slave-relay-bin.000007 # Query # # COMMIT
|
||||
*** MDEV-5754: MySQL 5.5 slaves cannot replicate from MariaDB 10.0 ***
|
||||
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
|
||||
INSERT INTO t2 VALUES (1);
|
||||
SET debug_sync='now WAIT_FOR master_queued1';
|
||||
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
|
||||
INSERT INTO t2 VALUES (2);
|
||||
SET debug_sync='now WAIT_FOR master_queued2';
|
||||
SET debug_sync='now SIGNAL master_cont1';
|
||||
SET debug_sync='RESET';
|
||||
SET debug_sync='RESET';
|
||||
SET debug_sync='RESET';
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
|
||||
master-bin.000003 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000003 # Xid # # COMMIT /* XID */
|
||||
master-bin.000003 # Gtid # # BEGIN GTID #-#-# cid=#
|
||||
master-bin.000003 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F
|
||||
master-bin.000003 # Xid # # COMMIT /* XID */
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
a
|
||||
1
|
||||
2
|
||||
# Test that slave which cannot tolerate holes in binlog stream but
|
||||
# knows the event does not get dummy event
|
||||
include/stop_slave.inc
|
||||
@ -95,5 +121,5 @@ select @@global.replicate_annotate_row_events;
|
||||
set @@global.debug_dbug= @old_slave_dbug;
|
||||
Clean up.
|
||||
set @@global.binlog_checksum = @old_master_binlog_checksum;
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t1, t2;
|
||||
include/rpl_end.inc
|
||||
|
27
mysql-test/suite/rpl/r/rpl_old_master.result
Normal file
27
mysql-test/suite/rpl/r/rpl_old_master.result
Normal file
@ -0,0 +1,27 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
include/stop_slave.inc
|
||||
include/rpl_stop_server.inc [server_number=1]
|
||||
include/rpl_start_server.inc [server_number=1]
|
||||
SET @old_parallel= @@GLOBAL.slave_parallel_threads;
|
||||
SET GLOBAL slave_parallel_threads=10;
|
||||
CHANGE MASTER TO master_host='127.0.0.1', master_port=SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
|
||||
include/start_slave.inc
|
||||
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t2 VALUES (1);
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
3 4
|
||||
4 8
|
||||
5 16
|
||||
SELECT * FROM t2;
|
||||
a
|
||||
1
|
||||
include/stop_slave.inc
|
||||
SET GLOBAL slave_parallel_threads=@old_parallel;
|
||||
DROP TABLE t1;
|
||||
include/start_slave.inc
|
||||
DROP TABLE t2;
|
||||
include/rpl_end.inc
|
@ -1,6 +1,8 @@
|
||||
--source include/master-slave.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/have_binlog_format_row.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
connection master;
|
||||
|
||||
@ -71,6 +73,52 @@ let $binlog_start= 0;
|
||||
let $binlog_limit=7,5;
|
||||
--source include/show_relaylog_events.inc
|
||||
|
||||
|
||||
--echo *** MDEV-5754: MySQL 5.5 slaves cannot replicate from MariaDB 10.0 ***
|
||||
|
||||
# The problem was that for a group commit, we get commit id into the
|
||||
# GTID event, and there was a bug in the code that replaces GTID with
|
||||
# dummy that failed when commit id was present.
|
||||
#
|
||||
# So setup a group commit in InnoDB.
|
||||
|
||||
--connection master
|
||||
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
|
||||
--connect (con1,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
|
||||
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued1 WAIT_FOR master_cont1';
|
||||
send INSERT INTO t2 VALUES (1);
|
||||
|
||||
--connection master
|
||||
SET debug_sync='now WAIT_FOR master_queued1';
|
||||
|
||||
--connect (con2,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
|
||||
SET debug_sync='commit_after_release_LOCK_prepare_ordered SIGNAL master_queued2';
|
||||
send INSERT INTO t2 VALUES (2);
|
||||
|
||||
--connection master
|
||||
SET debug_sync='now WAIT_FOR master_queued2';
|
||||
SET debug_sync='now SIGNAL master_cont1';
|
||||
|
||||
--connection con1
|
||||
REAP;
|
||||
SET debug_sync='RESET';
|
||||
--connection con2
|
||||
REAP;
|
||||
SET debug_sync='RESET';
|
||||
--connection master
|
||||
SET debug_sync='RESET';
|
||||
let $binlog_limit= 0, 8;
|
||||
--source include/show_binlog_events.inc
|
||||
--save_master_pos
|
||||
|
||||
--connection slave
|
||||
--sync_with_master
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
|
||||
|
||||
--echo # Test that slave which cannot tolerate holes in binlog stream but
|
||||
--echo # knows the event does not get dummy event
|
||||
|
||||
@ -106,6 +154,6 @@ set @@global.debug_dbug= @old_slave_dbug;
|
||||
--echo Clean up.
|
||||
connection master;
|
||||
set @@global.binlog_checksum = @old_master_binlog_checksum;
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t1, t2;
|
||||
sync_slave_with_master;
|
||||
--source include/rpl_end.inc
|
||||
|
49
mysql-test/suite/rpl/t/rpl_old_master.test
Normal file
49
mysql-test/suite/rpl/t/rpl_old_master.test
Normal file
@ -0,0 +1,49 @@
|
||||
# Test replicating off old master.
|
||||
# We simulate old master by copying in pre-generated binlog files from earlier
|
||||
# server versions.
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
--connection slave
|
||||
--source include/stop_slave.inc
|
||||
|
||||
--connection master
|
||||
--let $datadir= `SELECT @@datadir`
|
||||
|
||||
--let $rpl_server_number= 1
|
||||
--source include/rpl_stop_server.inc
|
||||
|
||||
--remove_file $datadir/master-bin.000001
|
||||
--copy_file $MYSQL_TEST_DIR/std_data/mariadb-5.5-binlog.000001 $datadir/master-bin.000001
|
||||
|
||||
--let $rpl_server_number= 1
|
||||
--source include/rpl_start_server.inc
|
||||
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
--connection slave
|
||||
SET @old_parallel= @@GLOBAL.slave_parallel_threads;
|
||||
SET GLOBAL slave_parallel_threads=10;
|
||||
--replace_result $SERVER_MYPORT_1 SERVER_MYPORT_1
|
||||
eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1, master_user='root', master_log_file='master-bin.000001', master_log_pos=4;
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection master
|
||||
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t2 VALUES (1);
|
||||
--save_master_pos
|
||||
|
||||
--connection slave
|
||||
--sync_with_master
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT * FROM t2;
|
||||
|
||||
--source include/stop_slave.inc
|
||||
SET GLOBAL slave_parallel_threads=@old_parallel;
|
||||
DROP TABLE t1;
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection master
|
||||
DROP TABLE t2;
|
||||
--source include/rpl_end.inc
|
@ -121,7 +121,7 @@ SET @OLD_SQL_MODE=@@SQL_MODE;
|
||||
SET SQL_MODE='IGNORE_BAD_TABLE_OPTIONS';
|
||||
|
||||
--echo #illegal value fixed
|
||||
CREATE TABLE t1 (a int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS;
|
||||
CREATE TABLE t1 (a int, b int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS;
|
||||
show create table t1;
|
||||
|
||||
--echo #alter table
|
||||
|
Reference in New Issue
Block a user