MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rpl_mixing_engines.inc
1 # ==== Purpose ====
2 #
3 # This is an auxiliary file used by rpl_mixing_engines.test. It
4 # executes SQL statements according to a format string, as specified in
5 # rpl_mixing_engines.test. In addition, it accepts the special format
6 # strings 'configure' and 'clean', used before and after everything else.
7 #
8 # ==== Usage ====
9 #
10 # --let $commands= command1 command2 ...
11 # --let $database_name= name
12 # [--let $verbose= 1]
13 # --source include/rpl_mixing_engines.inc
14 #
15 # Parameters:
16 #
17 # $commands
18 # Space-separated list of commands. See rpl_mixing_engines.test
19 # for a list of all commands.
20 #
21 # $database_name
22 # Name of database to use. If $commands is 'configure' or
23 # 'clean', and the database name is not 'test', then the
24 # database is created or dropped, respectively.
25 #
26 # $verbose
27 # By default, show_binlog_events.inc is sourced after all
28 # commands have been processed, showing the result of all
29 # commands. If this flag is set, then show_binlog_events.inc is
30 # also sourced once after each command, showing only the result
31 # of that command.
32 
33 --echo rpl_mixing_engines.inc [commands=$commands]
34 
35 --let $rme_initial_commands= $commands
36 
37 if ($commands == 'configure')
38 {
39  connection master;
40 
41  --disable_query_log
42  if ($database_name != 'test')
43  {
44  --eval CREATE DATABASE $database_name
45  }
46  --eval use $database_name
47  --enable_query_log
48 
49  eval CREATE TABLE nt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
50  eval CREATE TABLE nt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
51  eval CREATE TABLE nt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
52  eval CREATE TABLE nt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
53  eval CREATE TABLE nt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
54  eval CREATE TABLE nt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = MyISAM;
55  eval CREATE TABLE tt_1 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = $engine_type;
56  eval CREATE TABLE tt_2 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = $engine_type;
57  eval CREATE TABLE tt_3 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = $engine_type;
58  eval CREATE TABLE tt_4 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = $engine_type;
59  eval CREATE TABLE tt_5 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = $engine_type;
60  eval CREATE TABLE tt_6 (trans_id INT, stmt_id INT, info VARCHAR(64), PRIMARY KEY(trans_id, stmt_id)) ENGINE = $engine_type;
61 
62  INSERT INTO nt_1(trans_id, stmt_id) VALUES(1,1);
63  INSERT INTO nt_2(trans_id, stmt_id) VALUES(1,1);
64  INSERT INTO nt_3(trans_id, stmt_id) VALUES(1,1);
65  INSERT INTO nt_4(trans_id, stmt_id) VALUES(1,1);
66  INSERT INTO nt_5(trans_id, stmt_id) VALUES(1,1);
67  INSERT INTO nt_6(trans_id, stmt_id) VALUES(1,1);
68 
69  INSERT INTO tt_1(trans_id, stmt_id) VALUES(1,1);
70  INSERT INTO tt_2(trans_id, stmt_id) VALUES(1,1);
71  INSERT INTO tt_3(trans_id, stmt_id) VALUES(1,1);
72  INSERT INTO tt_4(trans_id, stmt_id) VALUES(1,1);
73  INSERT INTO tt_5(trans_id, stmt_id) VALUES(1,1);
74  INSERT INTO tt_6(trans_id, stmt_id) VALUES(1,1);
75 
76  DELIMITER |;
77 
78  CREATE PROCEDURE pc_i_tt_5_suc (IN p_trans_id INTEGER, IN p_stmt_id INTEGER)
79  BEGIN
80  DECLARE in_stmt_id INTEGER;
81  SELECT max(stmt_id) INTO in_stmt_id FROM tt_5 WHERE trans_id= p_trans_id;
82  SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
83  INSERT INTO tt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
84  INSERT INTO tt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
85  END|
86 
87  CREATE PROCEDURE pc_i_nt_5_suc (IN p_trans_id INTEGER, IN p_stmt_id INTEGER)
88  BEGIN
89  DECLARE in_stmt_id INTEGER;
90  SELECT max(stmt_id) INTO in_stmt_id FROM nt_5 WHERE trans_id= p_trans_id;
91  SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
92  INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
93  INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
94  END|
95 
96  CREATE FUNCTION fc_i_tt_5_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
97  BEGIN
98  DECLARE in_stmt_id INTEGER;
99  SELECT max(stmt_id) INTO in_stmt_id FROM tt_5 WHERE trans_id= p_trans_id;
100  SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
101  INSERT INTO tt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
102  INSERT INTO tt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
103  RETURN "fc_i_tt_5_suc";
104  END|
105 
106  CREATE FUNCTION fc_i_nt_5_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
107  BEGIN
108  DECLARE in_stmt_id INTEGER;
109  SELECT max(stmt_id) INTO in_stmt_id FROM nt_5 WHERE trans_id= p_trans_id;
110  SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
111  INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
112  INSERT INTO nt_5(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id + 1);
113  RETURN "fc_i_nt_5_suc";
114  END|
115 
116  CREATE FUNCTION fc_i_nt_3_tt_3_suc (p_trans_id INTEGER, p_stmt_id INTEGER) RETURNS VARCHAR(64)
117  BEGIN
118  DECLARE in_stmt_id INTEGER;
119  SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= p_trans_id;
120  SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
121  INSERT INTO nt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
122 
123  SELECT max(stmt_id) INTO in_stmt_id FROM tt_3 WHERE trans_id= p_trans_id;
124  SELECT COALESCE(greatest(in_stmt_id + 1, p_stmt_id), 1) INTO in_stmt_id;
125  INSERT INTO tt_3(trans_id, stmt_id) VALUES (p_trans_id, in_stmt_id);
126  RETURN "fc_i_nt_3_tt_3_suc";
127  END|
128 
129  CREATE TRIGGER tr_i_tt_3_to_nt_3 AFTER INSERT ON tt_3 FOR EACH ROW
130  BEGIN
131  DECLARE in_stmt_id INTEGER;
132  SELECT max(stmt_id) INTO in_stmt_id FROM nt_3 WHERE trans_id= NEW.trans_id;
133  SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
134  INSERT INTO nt_3(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
135  INSERT INTO nt_3(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
136  END|
137 
138  CREATE TRIGGER tr_i_nt_4_to_tt_4 AFTER INSERT ON nt_4 FOR EACH ROW
139  BEGIN
140  DECLARE in_stmt_id INTEGER;
141  SELECT max(stmt_id) INTO in_stmt_id FROM tt_4 WHERE trans_id= NEW.trans_id;
142  SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
143  INSERT INTO tt_4(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
144  INSERT INTO tt_4(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
145  END|
146 
147  CREATE TRIGGER tr_i_tt_5_to_tt_6 AFTER INSERT ON tt_5 FOR EACH ROW
148  BEGIN
149  DECLARE in_stmt_id INTEGER;
150  SELECT max(stmt_id) INTO in_stmt_id FROM tt_6 WHERE trans_id= NEW.trans_id;
151  SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id, 1), 1) INTO in_stmt_id;
152  INSERT INTO tt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
153  INSERT INTO tt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
154  END|
155 
156  CREATE TRIGGER tr_i_nt_5_to_nt_6 AFTER INSERT ON nt_5 FOR EACH ROW
157  BEGIN
158  DECLARE in_stmt_id INTEGER;
159  SELECT max(stmt_id) INTO in_stmt_id FROM nt_6 WHERE trans_id= NEW.trans_id;
160  SELECT COALESCE(greatest(in_stmt_id + 1, NEW.stmt_id), 1) INTO in_stmt_id;
161  INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id);
162  INSERT INTO nt_6(trans_id, stmt_id) VALUES (NEW.trans_id, in_stmt_id + 1);
163  END|
164 
165  DELIMITER ;|
166 
167  let $pos_trans_command= query_get_value("SHOW MASTER STATUS", Position, 1);
168 
169  let $trans_id= 7;
170  let $tb_id= 1;
171  let $stmt_id= 1;
172  --let $commands=
173  let $sn= 0;
174 }
175 
176 if ($commands == 'clean')
177 {
178  connection master;
179 
180  --disable_query_log
181  --eval use $database_name
182  --enable_query_log
183 
184  DROP TABLE tt_1;
185  DROP TABLE tt_2;
186  DROP TABLE tt_3;
187  DROP TABLE tt_4;
188  DROP TABLE tt_5;
189  DROP TABLE tt_6;
190 
191  DROP TABLE nt_1;
192  DROP TABLE nt_2;
193  DROP TABLE nt_3;
194  DROP TABLE nt_4;
195  DROP TABLE nt_5;
196  DROP TABLE nt_6;
197 
198  DROP PROCEDURE pc_i_tt_5_suc;
199  DROP PROCEDURE pc_i_nt_5_suc;
200  DROP FUNCTION fc_i_tt_5_suc;
201  DROP FUNCTION fc_i_nt_5_suc;
202  DROP FUNCTION fc_i_nt_3_tt_3_suc;
203 
204  --disable_query_log
205  if ($database_name != 'test')
206  {
207  --eval DROP DATABASE $database_name
208  }
209  --enable_query_log
210 
211  sync_slave_with_master;
212 
213  --let $commands=
214 }
215 
216 while ($commands != '')
217 {
218  --disable_query_log
219  --eval use $database_name
220  --enable_query_log
221 
222  --disable_query_log
223  --let $command= `SELECT SUBSTRING_INDEX('$commands', ' ', 1)`
224  if ($verbose)
225  {
226  --echo -b-b-b-b-b-b-b-b-b-b-b- >> $command << -b-b-b-b-b-b-b-b-b-b-b-
227  let $pos_command= query_get_value("SHOW MASTER STATUS", Position, 1);
228  }
229  --enable_query_log
230  if ($command == 'B')
231  {
232  eval BEGIN;
233  }
234  if ($command == 'T')
235  {
236  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
237  eval INSERT INTO tt_1(trans_id, stmt_id) VALUES ($trans_id, $stmt_id);
238  inc $stmt_id;
239  }
240  if ($command == 'T-trig')
241  {
242  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
243  eval INSERT INTO tt_5(trans_id, stmt_id) VALUES ($trans_id, $stmt_id);
244  inc $stmt_id;
245  }
246  if ($command == 'T-func')
247  {
248  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
249  eval SELECT fc_i_tt_5_suc ($trans_id, $stmt_id);
250  inc $stmt_id;
251  }
252  if ($command == 'T-proc')
253  {
254  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
255  eval CALL pc_i_tt_5_suc ($trans_id, $stmt_id);
256  inc $stmt_id;
257  }
258  if ($command == 'eT')
259  {
260  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
261  let $old_trans_id= `SELECT max(trans_id) from tt_1`;
262  let $old_stmt_id= `SELECT max(stmt_id) from tt_1 where trans_id= $old_trans_id`;
263  --error ER_DUP_ENTRY, ER_DUP_KEY
264  eval INSERT INTO tt_1(trans_id, stmt_id) VALUES ($old_trans_id, $old_stmt_id);
265  inc $stmt_id;
266  }
267  if ($command == 'Te')
268  {
269  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
270  let $old_trans_id= `SELECT max(trans_id) from tt_1`;
271  let $old_stmt_id= `SELECT max(stmt_id) from tt_1 where trans_id= $old_trans_id`;
272  --error ER_DUP_ENTRY, ER_DUP_KEY
273  eval INSERT INTO tt_1(trans_id, stmt_id) VALUES ($trans_id, $stmt_id), ($old_trans_id, $old_stmt_id);
274  inc $stmt_id;
275  }
276  if ($command == 'Te-trig')
277  {
278  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
279  let $old_trans_id= `SELECT max(trans_id) from tt_5`;
280  let $old_stmt_id= `SELECT max(stmt_id) from tt_5 where trans_id= $old_trans_id`;
281  --error ER_DUP_ENTRY, ER_DUP_KEY
282  eval INSERT INTO tt_5(trans_id, stmt_id) VALUES ($trans_id, $stmt_id), ($old_trans_id, $old_stmt_id);
283  inc $stmt_id;
284  }
285  if ($command == 'Te-func')
286  {
287  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
288  let $old_trans_id= `SELECT max(trans_id) from tt_1`;
289  let $old_stmt_id= `SELECT max(stmt_id) from tt_1 where trans_id= $old_trans_id`;
290  --error ER_DUP_ENTRY, ER_DUP_KEY
291  eval INSERT INTO tt_1(trans_id, stmt_id, info) VALUES ($trans_id, $stmt_id, ''), ($old_trans_id, $old_stmt_id, fc_i_tt_5_suc ($trans_id, $stmt_id));
292  inc $stmt_id;
293  }
294  if ($command == 'N')
295  {
296  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
297  eval INSERT INTO nt_1(trans_id, stmt_id) VALUES ($trans_id, $stmt_id);
298  inc $stmt_id;
299  }
300  if ($command == 'N-trig')
301  {
302  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
303  eval INSERT INTO nt_5(trans_id, stmt_id) VALUES ($trans_id, $stmt_id);
304  inc $stmt_id;
305  }
306  if ($command == 'N-func')
307  {
308  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
309  eval SELECT fc_i_nt_5_suc ($trans_id, $stmt_id);
310  inc $stmt_id;
311  }
312  if ($command == 'N-proc')
313  {
314  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
315  eval CALL pc_i_nt_5_suc ($trans_id, $stmt_id);
316  inc $stmt_id;
317  }
318  if ($command == 'eN')
319  {
320  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
321  let $old_trans_id= `SELECT max(trans_id) from nt_1`;
322  let $old_stmt_id= `SELECT max(stmt_id) from nt_1 where trans_id= $old_trans_id`;
323  --error ER_DUP_ENTRY, ER_DUP_KEY
324  eval INSERT INTO nt_1(trans_id, stmt_id) VALUES ($old_trans_id, $old_stmt_id);
325  inc $stmt_id;
326  }
327  if ($command == 'Ne')
328  {
329  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
330  let $old_trans_id= `SELECT max(trans_id) from nt_1`;
331  let $old_stmt_id= `SELECT max(stmt_id) from nt_1 where trans_id= $old_trans_id`;
332  --error ER_DUP_ENTRY, ER_DUP_KEY
333  eval INSERT INTO nt_1(trans_id, stmt_id) VALUES ($trans_id, $stmt_id), ($old_trans_id, $old_stmt_id);
334  inc $stmt_id;
335  }
336  if ($command == 'Ne-trig')
337  {
338  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
339  let $old_trans_id= `SELECT max(trans_id) from nt_5`;
340  let $old_stmt_id= `SELECT max(stmt_id) from nt_5 where trans_id= $old_trans_id`;
341  --error ER_DUP_ENTRY, ER_DUP_KEY
342  eval INSERT INTO nt_5(trans_id, stmt_id) VALUES ($trans_id, $stmt_id), ($old_trans_id, $old_stmt_id);
343  inc $stmt_id;
344  }
345  if ($command == 'Ne-func')
346  {
347  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
348  let $old_trans_id= `SELECT max(trans_id) from nt_1`;
349  let $old_stmt_id= `SELECT max(stmt_id) from nt_1 where trans_id= $old_trans_id`;
350  --error ER_DUP_ENTRY, ER_DUP_KEY
351  eval INSERT INTO nt_1(trans_id, stmt_id, info) VALUES ($trans_id, $stmt_id, ''), ($old_trans_id, $old_stmt_id, fc_i_nt_5_suc ($trans_id, $stmt_id));
352  inc $stmt_id;
353  }
354  if ($command == 'tN')
355  {
356  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
357  eval INSERT INTO nt_1(trans_id, stmt_id, info) SELECT $trans_id, $stmt_id, COUNT(*) FROM tt_1;
358  inc $stmt_id;
359  }
360  if ($command == 'tNe')
361  {
362  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
363  let $old_trans_id= `SELECT max(trans_id) from nt_1`;
364  let $old_stmt_id= `SELECT max(stmt_id) from nt_1 where trans_id= $old_trans_id`;
365  --error ER_DUP_ENTRY, ER_DUP_KEY
366  eval INSERT INTO nt_1(trans_id, stmt_id, info) SELECT $trans_id, $stmt_id, COUNT(*) FROM tt_1 UNION SELECT $old_trans_id, $old_stmt_id, COUNT(*) FROM tt_1;
367  inc $stmt_id;
368  }
369  if ($command == 'nT')
370  {
371  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
372  eval INSERT INTO tt_1(trans_id, stmt_id, info) SELECT $trans_id, $stmt_id, COUNT(*) FROM nt_1;
373  inc $stmt_id;
374  }
375  if ($command == 'nTe')
376  {
377  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
378  let $old_trans_id= `SELECT max(trans_id) from tt_1`;
379  let $old_stmt_id= `SELECT max(stmt_id) from tt_1 where trans_id= $old_trans_id`;
380  --error ER_DUP_ENTRY, ER_DUP_KEY
381  eval INSERT INTO tt_1(trans_id, stmt_id, info) SELECT $trans_id, $stmt_id, COUNT(*) FROM nt_1 UNION SELECT $old_trans_id, $old_stmt_id, COUNT(*) FROM nt_1;
382  inc $stmt_id;
383  }
384  if ($command == 'NT')
385  {
386  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
387  eval UPDATE nt_3, tt_3 SET nt_3.info= "new text $trans_id --> $stmt_id", tt_3.info= "new text $trans_id --> $stmt_id" where nt_3.trans_id = tt_3.trans_id and tt_3.trans_id = 1;
388  inc $stmt_id;
389  }
390  if ($command == 'NT-trig')
391  {
392  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
393  eval INSERT INTO nt_4(trans_id, stmt_id) VALUES ($trans_id, $stmt_id);
394  inc $stmt_id;
395  }
396  if ($command == 'NT-func')
397  {
398  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
399  eval INSERT INTO nt_5(trans_id, stmt_id, info) VALUES ($trans_id, $stmt_id, fc_i_tt_5_suc($trans_id, $stmt_id));
400  inc $stmt_id;
401  }
402  if ($command == 'NeT-trig')
403  {
404  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
405  let $old_trans_id= `SELECT max(trans_id) from nt_4`;
406  let $old_stmt_id= `SELECT max(stmt_id) from nt_4 where trans_id= $old_trans_id`;
407  --error ER_DUP_ENTRY, ER_DUP_KEY
408  eval INSERT INTO nt_4(trans_id, stmt_id) VALUES ($trans_id, $stmt_id), ($old_trans_id, $old_stmt_id);
409  inc $stmt_id;
410  }
411  if ($command == 'NeT-func')
412  {
413  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
414  let $old_trans_id= `SELECT max(trans_id) from nt_5`;
415  let $old_stmt_id= `SELECT max(stmt_id) from nt_5 where trans_id= $old_trans_id`;
416  --error ER_DUP_ENTRY, ER_DUP_KEY
417  eval INSERT INTO nt_5(trans_id, stmt_id, info) VALUES ($trans_id, $stmt_id, ''), ($old_trans_id, $old_stmt_id, fc_i_tt_5_suc ($trans_id, $stmt_id));
418  inc $stmt_id;
419  }
420  if ($command == 'TN')
421  {
422  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
423  eval UPDATE tt_4, nt_4 SET tt_4.info= "new text $trans_id --> $stmt_id", nt_4.info= "new text $trans_id --> $stmt_id" where nt_4.trans_id = tt_4.trans_id and tt_4.trans_id = 1;
424  inc $stmt_id;
425  }
426  if ($command == 'TN-trig')
427  {
428  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
429  eval INSERT INTO tt_3(trans_id, stmt_id) VALUES ($trans_id, $stmt_id);
430  inc $stmt_id;
431  }
432  if ($command == 'TN-func')
433  {
434  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
435  eval INSERT INTO tt_5(trans_id, stmt_id, info) VALUES ($trans_id, $stmt_id, fc_i_nt_5_suc($trans_id, $stmt_id));
436  inc $stmt_id;
437  }
438  if ($command == 'TeN-trig')
439  {
440  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
441  let $old_trans_id= `SELECT max(trans_id) from tt_3`;
442  let $old_stmt_id= `SELECT max(stmt_id) from tt_3 where trans_id= $old_trans_id`;
443  --error ER_DUP_ENTRY, ER_DUP_KEY
444  eval INSERT INTO tt_3(trans_id, stmt_id) VALUES ($trans_id, $stmt_id), ($old_trans_id, $old_stmt_id);
445  inc $stmt_id;
446  }
447  if ($command == 'TeN-func')
448  {
449  #--echo DEBUG-- (trans_id, stmt_id) --> ($trans_id, $stmt_id)
450  let $old_trans_id= `SELECT max(trans_id) from tt_5`;
451  let $old_stmt_id= `SELECT max(stmt_id) from tt_5 where trans_id= $old_trans_id`;
452  --error ER_DUP_ENTRY, ER_DUP_KEY
453  eval INSERT INTO tt_5(trans_id, stmt_id, info) VALUES ($trans_id, $stmt_id, ''), ($old_trans_id, $old_stmt_id, fc_i_nt_5_suc ($trans_id, $stmt_id));
454  inc $stmt_id;
455  }
456  if ($command == 'set-T')
457  {
458  --eval SET @var= fc_i_tt_5_suc($trans_id, $stmt_id)
459  inc $stmt_id;
460  }
461  if ($command == 'set-N')
462  {
463  --eval SET @var= fc_i_nt_5_suc($trans_id, $stmt_id)
464  inc $stmt_id;
465  }
466  if ($command == 'set-NT')
467  {
468  --eval SET @var= fc_i_nt_3_tt_3_suc($trans_id, $stmt_id)
469  inc $stmt_id;
470  }
471  if ($command == 'CS-T->T')
472  {
473  --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=$engine_type SELECT * FROM tt_1;
474  }
475  if ($command == 'CS-N->N')
476  {
477  --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;
478  }
479  if ($command == 'CS-T->N')
480  {
481  --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=$engine_type SELECT * FROM nt_1;
482  }
483  if ($command == 'CS-N->T')
484  {
485  --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;
486  }
487  if ($command == 'CSe-T->T')
488  {
489  --error ER_DUP_ENTRY, ER_DUP_KEY
490  --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=$engine_type SELECT stmt_id FROM tt_1;
491  }
492  if ($command == 'CSe-N->N')
493  {
494  --error ER_DUP_ENTRY, ER_DUP_KEY
495  --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;
496  }
497  if ($command == 'CSe-T->N')
498  {
499  --error ER_DUP_ENTRY, ER_DUP_KEY
500  --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=$engine_type SELECT stmt_id FROM nt_1;
501  }
502  if ($command == 'CSe-N->T')
503  {
504  --error ER_DUP_ENTRY, ER_DUP_KEY
505  --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;
506  }
507  if ($command == 'CT')
508  {
509  --eval CREATE TEMPORARY TABLE tt_xx_$tb_id (a int) engine=$engine_type;
510  }
511  if ($command == 'IS-T<-N')
512  {
513  --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;
514  }
515  if ($command == 'ISe-T<-N')
516  {
517  --error ER_DUP_ENTRY, ER_DUP_KEY
518  --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;
519  }
520  if ($command == 'IS-N<-T')
521  {
522  --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;
523  }
524  if ($command == 'ISe-N<-T')
525  {
526  --error ER_DUP_ENTRY, ER_DUP_KEY
527  --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;
528  }
529  if ($command == 'IS-T<-T')
530  {
531  --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;
532  }
533  if ($command == 'ISe-T<-T')
534  {
535  --error ER_DUP_ENTRY, ER_DUP_KEY
536  --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;
537  }
538  if ($command == 'IS-N<-N')
539  {
540  --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;
541  }
542  if ($command == 'ISe-N<-N')
543  {
544  --error ER_DUP_ENTRY, ER_DUP_KEY
545  --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;
546  }
547  if ($command == 'trunc-CS-T')
548  {
549  eval TRUNCATE TABLE tt_xx_$tb_id;
550  }
551  if ($command == 'trunc-CS-N')
552  {
553  eval TRUNCATE TABLE nt_xx_$tb_id;
554  }
555  if ($command == 'trunc-CT')
556  {
557  eval TRUNCATE TABLE tt_xx_$tb_id;
558  }
559  if ($command == 'drop-CS')
560  {
561  --disable_warnings
562  eval DROP TABLE IF EXISTS tt_xx_$tb_id, nt_xx_$tb_id;
563  inc $tb_id;
564  --enable_warnings
565  }
566  if ($command == 'drop-CT')
567  {
568  --disable_warnings
569  eval DROP TEMPORARY TABLE IF EXISTS tt_xx_$tb_id;
570  inc $tb_id;
571  --enable_warnings
572  }
573  if ($command == 'C')
574  {
575  --error 0, ER_GET_ERRMSG
576  eval COMMIT;
577  }
578  if ($command == 'R')
579  {
580  --replace_column 2 #
581  --error 0, ER_GET_ERRMSG
582  eval ROLLBACK;
583  }
584  if ($command == 'Sn')
585  {
586  eval SAVEPOINT S_$sn;
587  --inc $sn
588  }
589  if ($command == 'Rn')
590  {
591  if ($sn)
592  {
593  --dec $sn
594  }
595  --replace_column 2 #
596  eval ROLLBACK TO S_$sn;
597  }
598  if ($command == 'Cn')
599  {
600  if ($sn)
601  {
602  --dec $sn
603  }
604  eval RELEASE SAVEPOINT S_$sn;
605  }
606  --disable_query_log
607  --let $commands= `SELECT LTRIM(SUBSTRING('$commands', LENGTH('$command') + 1))`
608  inc $stmt_id;
609 
610  let $binlog_start= $pos_command;
611  if ($verbose)
612  {
613  # Use other connection because include/show_binlog_events.inc
614  # executes SELECT UUID(), which switches to row-logging when
615  # binlog_format=mixed, if there are open temporary tables. This is
616  # due to BUG#13692513.
617  --connection server_1
618  --source include/show_binlog_events.inc
619  --connection master
620  --echo -e-e-e-e-e-e-e-e-e-e-e- >> $command << -e-e-e-e-e-e-e-e-e-e-e-
621  }
622  if ($commands == '')
623  {
624  let $binlog_start= $pos_trans_command;
625  --echo -b-b-b-b-b-b-b-b-b-b-b- >> $rme_initial_commands << -b-b-b-b-b-b-b-b-b-b-b-
626  --connection server_1
627  --source include/show_binlog_events.inc
628  --connection master
629  --echo -e-e-e-e-e-e-e-e-e-e-e- >> $rme_initial_commands << -e-e-e-e-e-e-e-e-e-e-e-
630  --echo
631  let $pos_trans_command= query_get_value("SHOW MASTER STATUS", Position, 1);
632  let $stmt_id= 1;
633  inc $trans_id;
634  }
635 }
636 
637 --let $commands= $rme_initial_commands