1SET TIMESTAMP=10000;
2create table t2 (c char(30)) charset=ucs2;
3set @v=convert('abc' using ucs2);
4reset master;
5insert into t2 values (@v);
6include/show_binlog_events.inc
7Log_name	Pos	Event_type	Server_id	End_log_pos	Info
8master-bin.000001	#	Gtid	#	#	BEGIN GTID #-#-#
9master-bin.000001	#	User var	#	#	@`v`=_ucs2 X'006100620063' COLLATE ucs2_general_ci
10master-bin.000001	#	Query	#	#	use `test`; insert into t2 values (@v)
11master-bin.000001	#	Query	#	#	COMMIT
12flush logs;
13/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
14/*!40019 SET @@session.max_insert_delayed_threads=0*/;
15/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
16DELIMITER /*!*/;
17ROLLBACK/*!*/;
18START TRANSACTION
19/*!*/;
20SET @`v`:=_ucs2 X'006100620063' COLLATE `ucs2_general_ci`/*!*/;
21use `test`/*!*/;
22SET TIMESTAMP=10000/*!*/;
23SET @@session.pseudo_thread_id=999999999/*!*/;
24SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
25SET @@session.sql_mode=1411383296/*!*/;
26SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
27/*!\C latin1 *//*!*/;
28SET @@session.character_set_client=X,@@session.collation_connection=X,@@session.collation_server=X/*!*/;
29SET @@session.lc_time_names=0/*!*/;
30SET @@session.collation_database=DEFAULT/*!*/;
31insert into t2 values (@v)
32/*!*/;
33SET TIMESTAMP=10000/*!*/;
34COMMIT
35/*!*/;
36DELIMITER ;
37# End of log file
38ROLLBACK /* added by mysqlbinlog */;
39/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
40/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
41drop table t2;
42#
43# Start of 10.2 tests
44#
45#
46# MDEV-10866 Extend PREPARE and EXECUTE IMMEDIATE to understand expressions
47#
48SET TIMESTAMP=UNIX_TIMESTAMP('1970-01-01 06:46:40');
49FLUSH LOGS;
50SET NAMES utf8;
51CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8);
52EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (''ä(i1)'')';
53EXECUTE IMMEDIATE CONVERT('INSERT INTO t1 VALUES (''ä(i2)'')' USING ucs2);
54SET @stmt=CONVERT('INSERT INTO t1 VALUES (''ä(i3)'')' USING ucs2);
55EXECUTE IMMEDIATE @stmt;
56PREPARE stmt FROM 'INSERT INTO t1 VALUES (''ä(p1)'')';
57EXECUTE stmt;
58PREPARE stmt FROM CONVERT('INSERT INTO t1 VALUES (''ä(p2)'')' USING ucs2);
59EXECUTE stmt;
60SET @stmt=CONVERT('INSERT INTO t1 VALUES (''ä(p3)'')' USING ucs2);
61PREPARE stmt FROM @stmt;
62EXECUTE stmt;
63DEALLOCATE PREPARE stmt;
64SELECT * FROM t1;
65a
66ä(i1)
67ä(i2)
68ä(i3)
69ä(p1)
70ä(p2)
71ä(p3)
72DROP TABLE t1;
73FLUSH LOGS;
74/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
75/*!40019 SET @@session.max_insert_delayed_threads=0*/;
76/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
77DELIMITER /*!*/;
78# at #
79#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Start: binlog v 4, server v #.##.## created YYMMDD HH:MM:SS
80# at #
81#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Gtid list [#-#-#]
82# at #
83#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Binlog checkpoint master-bin.000002
84# at #
85#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Binlog checkpoint master-bin.000003
86# at #
87#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-# ddl
88/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
89/*!100001 SET @@session.gtid_domain_id=#*//*!*/;
90/*!100001 SET @@session.server_id=#*//*!*/;
91/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
92# at #
93#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
94use `test`/*!*/;
95SET TIMESTAMP=XXX/*!*/;
96SET @@session.pseudo_thread_id=#/*!*/;
97SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
98SET @@session.sql_mode=1411383296/*!*/;
99SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
100/*!\C utf8 *//*!*/;
101SET @@session.character_set_client=X,@@session.collation_connection=X,@@session.collation_server=X/*!*/;
102SET @@session.lc_time_names=0/*!*/;
103SET @@session.collation_database=DEFAULT/*!*/;
104CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8)
105/*!*/;
106# at #
107#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-#
108/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
109START TRANSACTION
110/*!*/;
111# at #
112#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
113SET TIMESTAMP=XXX/*!*/;
114INSERT INTO t1 VALUES ('ä(i1)')
115/*!*/;
116# at #
117#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
118SET TIMESTAMP=XXX/*!*/;
119COMMIT
120/*!*/;
121# at #
122#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-#
123/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
124START TRANSACTION
125/*!*/;
126# at #
127#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
128SET TIMESTAMP=XXX/*!*/;
129INSERT INTO t1 VALUES ('ä(i2)')
130/*!*/;
131# at #
132#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
133SET TIMESTAMP=XXX/*!*/;
134COMMIT
135/*!*/;
136# at #
137#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-#
138/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
139START TRANSACTION
140/*!*/;
141# at #
142#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
143SET TIMESTAMP=XXX/*!*/;
144INSERT INTO t1 VALUES ('ä(i3)')
145/*!*/;
146# at #
147#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
148SET TIMESTAMP=XXX/*!*/;
149COMMIT
150/*!*/;
151# at #
152#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-#
153/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
154START TRANSACTION
155/*!*/;
156# at #
157#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
158SET TIMESTAMP=XXX/*!*/;
159INSERT INTO t1 VALUES ('ä(p1)')
160/*!*/;
161# at #
162#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
163SET TIMESTAMP=XXX/*!*/;
164COMMIT
165/*!*/;
166# at #
167#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-#
168/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
169START TRANSACTION
170/*!*/;
171# at #
172#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
173SET TIMESTAMP=XXX/*!*/;
174INSERT INTO t1 VALUES ('ä(p2)')
175/*!*/;
176# at #
177#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
178SET TIMESTAMP=XXX/*!*/;
179COMMIT
180/*!*/;
181# at #
182#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-#
183/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
184START TRANSACTION
185/*!*/;
186# at #
187#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
188SET TIMESTAMP=XXX/*!*/;
189INSERT INTO t1 VALUES ('ä(p3)')
190/*!*/;
191# at #
192#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
193SET TIMESTAMP=XXX/*!*/;
194COMMIT
195/*!*/;
196# at #
197#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	GTID #-#-# ddl
198/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
199# at #
200#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Query	thread_id=#	exec_time=#	error_code=0
201SET TIMESTAMP=XXX/*!*/;
202DROP TABLE `t1` /* generated by server */
203/*!*/;
204# at #
205#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX 	Rotate to master-bin.000004  pos: 4
206DELIMITER ;
207# End of log file
208ROLLBACK /* added by mysqlbinlog */;
209/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
210/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
211SET TIMESTAMP=DEFAULT;
212#
213# End of 10.2 tests
214#
215