mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Switched to writing out table maps for tables that are locked when the first row in a statement is seen. mysql-test/include/master-slave.inc: Moved code to reset master and slave into separate file. mysql-test/r/binlog_row_blackhole.result: Result change mysql-test/r/binlog_row_mix_innodb_myisam.result: Result change mysql-test/r/ndb_binlog_ignore_db.result: Result change mysql-test/r/rpl_ndb_charset.result: Result change mysql-test/r/rpl_row_basic_11bugs.result: Result change mysql-test/r/rpl_row_charset.result: Result change mysql-test/r/rpl_row_create_table.result: Result change mysql-test/t/rpl_row_basic_11bugs.test: Added test to check that no events are generated when no rows are changed. mysql-test/t/rpl_row_create_table.test: Master log position changed sql/handler.cc: Adding function write_locked_table_maps() that will write table maps for all tables locked for write. Using "table->in_use" instead of "current_thd" since tables are now locked when the function is called. Removing old code to write table map. sql/log_event.cc: Added assertion sql/sql_class.cc: Removing code to write "dummy termination event". sql/sql_class.h: Adding getter for binlog_table_maps. sql/sql_insert.cc: Setting thd->lock before calling write_record for the execution of CREATE-SELECT and INSERT-SELECT since they keep multiple locks in the air at the same time. mysql-test/include/master-slave-reset.inc: New BitKeeper file ``mysql-test/include/master-slave-reset.inc''
		
			
				
	
	
		
			202 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			202 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
stop slave;
 | 
						||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 | 
						||
reset master;
 | 
						||
reset slave;
 | 
						||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 | 
						||
start slave;
 | 
						||
set timestamp=1000000000;
 | 
						||
drop database if exists mysqltest2;
 | 
						||
drop database if exists mysqltest3;
 | 
						||
create database mysqltest2 character set latin2;
 | 
						||
set @@character_set_server=latin5;
 | 
						||
create database mysqltest3;
 | 
						||
 | 
						||
--- --master--
 | 
						||
show create database mysqltest2;
 | 
						||
Database	Create Database
 | 
						||
mysqltest2	CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
 | 
						||
show create database mysqltest3;
 | 
						||
Database	Create Database
 | 
						||
mysqltest3	CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
 | 
						||
 | 
						||
--- --slave--
 | 
						||
show create database mysqltest2;
 | 
						||
Database	Create Database
 | 
						||
mysqltest2	CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
 | 
						||
show create database mysqltest3;
 | 
						||
Database	Create Database
 | 
						||
mysqltest3	CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
 | 
						||
set @@collation_server=armscii8_bin;
 | 
						||
drop database mysqltest3;
 | 
						||
create database mysqltest3;
 | 
						||
 | 
						||
--- --master--
 | 
						||
show create database mysqltest3;
 | 
						||
Database	Create Database
 | 
						||
mysqltest3	CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
 | 
						||
 | 
						||
--- --slave--
 | 
						||
show create database mysqltest3;
 | 
						||
Database	Create Database
 | 
						||
mysqltest3	CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
 | 
						||
use mysqltest2;
 | 
						||
create table t1 (a int auto_increment primary key, b varchar(100));
 | 
						||
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
 | 
						||
insert into t1 (b) values(@@character_set_server);
 | 
						||
insert into t1 (b) values(@@collation_server);
 | 
						||
insert into t1 (b) values(@@character_set_client);
 | 
						||
insert into t1 (b) values(@@character_set_connection);
 | 
						||
insert into t1 (b) values(@@collation_connection);
 | 
						||
 | 
						||
--- --master--
 | 
						||
select * from t1 order by a;
 | 
						||
a	b
 | 
						||
1	armscii8
 | 
						||
2	armscii8_bin
 | 
						||
3	cp850
 | 
						||
4	latin2
 | 
						||
5	latin2_croatian_ci
 | 
						||
 | 
						||
--- --slave--
 | 
						||
select * from mysqltest2.t1 order by a;
 | 
						||
a	b
 | 
						||
1	armscii8
 | 
						||
2	armscii8_bin
 | 
						||
3	cp850
 | 
						||
4	latin2
 | 
						||
5	latin2_croatian_ci
 | 
						||
select "--- --muller--" as "";
 | 
						||
 | 
						||
--- --muller--
 | 
						||
set character_set_client=latin1, collation_connection=latin1_german1_ci;
 | 
						||
truncate table t1;
 | 
						||
insert into t1 (b) values(@@collation_connection);
 | 
						||
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
 | 
						||
set collation_connection=latin1_german2_ci;
 | 
						||
insert into t1 (b) values(@@collation_connection);
 | 
						||
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
 | 
						||
 | 
						||
--- --master--
 | 
						||
select * from t1 order by a;
 | 
						||
a	b
 | 
						||
1	latin1_german1_ci
 | 
						||
2	Muffler
 | 
						||
3	latin1_german2_ci
 | 
						||
4	M<>ller
 | 
						||
 | 
						||
--- --slave--
 | 
						||
select * from mysqltest2.t1 order by a;
 | 
						||
a	b
 | 
						||
1	latin1_german1_ci
 | 
						||
2	Muffler
 | 
						||
3	latin1_german2_ci
 | 
						||
4	M<>ller
 | 
						||
select "--- --INSERT--" as "";
 | 
						||
 | 
						||
--- --INSERT--
 | 
						||
set @a= _cp850 'M<>ller' collate cp850_general_ci;
 | 
						||
truncate table t1;
 | 
						||
insert into t1 (b) values(collation(@a));
 | 
						||
 | 
						||
--- --master--
 | 
						||
select * from t1 order by a;
 | 
						||
a	b
 | 
						||
1	cp850_general_ci
 | 
						||
 | 
						||
--- --slave--
 | 
						||
select * from mysqltest2.t1 order by a;
 | 
						||
a	b
 | 
						||
1	cp850_general_ci
 | 
						||
drop database mysqltest2;
 | 
						||
drop database mysqltest3;
 | 
						||
show binlog events from 102;
 | 
						||
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 | 
						||
master-bin.000001	#	Query	1	#	drop database if exists mysqltest2
 | 
						||
master-bin.000001	#	Query	1	#	drop database if exists mysqltest3
 | 
						||
master-bin.000001	#	Query	1	#	create database mysqltest2 character set latin2
 | 
						||
master-bin.000001	#	Query	1	#	create database mysqltest3
 | 
						||
master-bin.000001	#	Query	1	#	drop database mysqltest3
 | 
						||
master-bin.000001	#	Query	1	#	create database mysqltest3
 | 
						||
master-bin.000001	#	Query	1	#	use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Query	1	#	use `mysqltest2`; truncate table t1
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Query	1	#	use `mysqltest2`; truncate table t1
 | 
						||
master-bin.000001	#	Table_map	1	#	table_id: # (mysqltest2.t1)
 | 
						||
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 | 
						||
master-bin.000001	#	Query	1	#	drop database mysqltest2
 | 
						||
master-bin.000001	#	Query	1	#	drop database mysqltest3
 | 
						||
select "--- --global--" as "";
 | 
						||
 | 
						||
--- --global--
 | 
						||
set global character_set_server=latin2;
 | 
						||
set global character_set_server=latin1;
 | 
						||
set global character_set_server=latin2;
 | 
						||
set global character_set_server=latin1;
 | 
						||
select "--- --oneshot--" as "";
 | 
						||
 | 
						||
--- --oneshot--
 | 
						||
set one_shot @@character_set_server=latin5;
 | 
						||
set @@max_join_size=1000;
 | 
						||
select @@character_set_server;
 | 
						||
@@character_set_server
 | 
						||
latin5
 | 
						||
select @@character_set_server;
 | 
						||
@@character_set_server
 | 
						||
latin1
 | 
						||
set @@character_set_server=latin5;
 | 
						||
select @@character_set_server;
 | 
						||
@@character_set_server
 | 
						||
latin5
 | 
						||
select @@character_set_server;
 | 
						||
@@character_set_server
 | 
						||
latin5
 | 
						||
set one_shot max_join_size=10;
 | 
						||
ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
 | 
						||
set character_set_client=9999999;
 | 
						||
ERROR 42000: Unknown character set: '9999999'
 | 
						||
set collation_server=9999998;
 | 
						||
ERROR HY000: Unknown collation: '9999998'
 | 
						||
select "--- --3943--" as "";
 | 
						||
 | 
						||
--- --3943--
 | 
						||
use test;
 | 
						||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
 | 
						||
SET CHARACTER_SET_CLIENT=koi8r,
 | 
						||
CHARACTER_SET_CONNECTION=cp1251, 
 | 
						||
CHARACTER_SET_RESULTS=koi8r;
 | 
						||
INSERT INTO t1 (c1, c2) VALUES ('<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
 | 
						||
select hex(c1), hex(c2) from t1;
 | 
						||
hex(c1)	hex(c2)
 | 
						||
CDF32C20E7E020F0FBE1E0EBEAF3	CDF32C20E7E020F0FBE1E0EBEAF3
 | 
						||
select hex(c1), hex(c2) from t1;
 | 
						||
hex(c1)	hex(c2)
 | 
						||
CDF32C20E7E020F0FBE1E0EBEAF3	CDF32C20E7E020F0FBE1E0EBEAF3
 | 
						||
drop table t1;
 | 
						||
select "--- --6676--" as "";
 | 
						||
 | 
						||
--- --6676--
 | 
						||
create table `t1` (
 | 
						||
`pk` varchar(10) not null default '', 
 | 
						||
primary key (`pk`)
 | 
						||
) engine=myisam default charset=latin1;
 | 
						||
set @p=_latin1 'test';
 | 
						||
update t1 set pk='test' where pk=@p;
 | 
						||
drop table t1;
 |