File: binlog_row_mix_drop_tmp_tbl.result

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (105 lines) | stat: -rw-r--r-- 3,871 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
DROP DATABASE IF EXISTS `drop-temp+table-test`;
RESET MASTER;
CREATE DATABASE `drop-temp+table-test`;
USE `drop-temp+table-test`;
CREATE TEMPORARY TABLE shortn1 (a INT);
CREATE TEMPORARY TABLE `table:name` (a INT);
CREATE TEMPORARY TABLE shortn2 (a INT);
CREATE TEMPORARY TABLE tmp(c1 int);
CREATE TEMPORARY TABLE tmp1(c1 int);
CREATE TEMPORARY TABLE tmp2(c1 int);
CREATE TEMPORARY TABLE tmp3(c1 int);
CREATE TABLE t(c1 int);
DROP TEMPORARY TABLE IF EXISTS tmp;
DROP TEMPORARY TABLE IF EXISTS tmp;
DROP TEMPORARY TABLE IF EXISTS tmp, tmp1;
DROP TEMPORARY TABLE tmp3;
DROP TABLE IF EXISTS tmp2, t;
DROP TABLE IF EXISTS tmp2, t;
SELECT GET_LOCK("a",10);
GET_LOCK("a",10)
1
USE test;
SELECT GET_LOCK("a",10);
GET_LOCK("a",10)
1
include/show_binlog_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
binlog.000001	#	Query	#	#	CREATE DATABASE `drop-temp+table-test`
binlog.000001	#	Query	#	#	use `drop-temp+table-test`; CREATE TABLE t(c1 int)
binlog.000001	#	Query	#	#	use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */
binlog.000001	#	Query	#	#	use `drop-temp+table-test`; DROP TABLE IF EXISTS `tmp2`,`t` /* generated by server */
DROP DATABASE `drop-temp+table-test`;
RESET MASTER;
#
# Bug 83003: Using temporary tables on slaves increases GTID sequence number
#
CREATE TEMPORARY TABLE temp_trx(a INT) ENGINE=InnoDB;
CREATE TEMPORARY TABLE temp_needs_logging_in_stmt(a INT) ENGINE=InnoDB;
SET SESSION sql_log_bin= 0;
CREATE TEMPORARY TABLE temp_binlog_disabled(a INT) ENGINE=InnoDB;
SET SESSION sql_log_bin= 1;
include/show_binlog_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
#
# BUG#21638823: ASSERTION FAILED:
# THD->GET_TRANSACTION()->IS_EMPTY(TRANSACTION_CTX::STMT) || THD
#
# Test case first checks that it is possible to terminate a connection
# with a temporary table (which will implicitly remove the temporary
# table) while in XA_idle. Then checks that an explicit DROP TEMPORARY
# TABLE is rejected with ER_XAER_RMFAIL as required by the XA spec.
#
# Reset master to avoid clutter when dumping binlog
RESET MASTER;
# Create separate connection
# Create temporary table
CREATE TEMPORARY TABLE temp(i int);
INSERT INTO temp VALUES (0), (1), (2), (3);
# Start XA txn and leave it in XA_idle
XA START 'idle_at_disconnect';
XA END 'idle_at_disconnect';
# Terminate connection to verify that the temporary table can be
# removed at disconnect even in XA_idle, and that this does not
# cause problems for replication
# Dump binlog to show that, either the generated DROP comes after tx
# commit (stmt), or there is no trace of the XA txn and
# the temp table (row or mixed)
include/show_binlog_events.inc
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
#
# Start XA txn and leave in XA_idle
XA START 'idle_when_drop_temp';
XA END 'idle_when_drop_temp';
# Verify that explicit DROP TEMPORARY TABLE is rejected in XA_idle
DROP TEMPORARY TABLE IF EXISTS t;
Got one of the listed errors
XA ROLLBACK 'idle_when_drop_temp';
RESET MASTER;
#
# BUG#28642318: POINT IN TIME RECOVERY USING MYSQLBINLOG BROKEN
#               WITH TEMPORARY TABLE -> ERRORS
# Test case for DELETE query.
RESET MASTER;
# Set up.
SET @save_binlog_format= @@session.binlog_format;
SET @@session.binlog_format=STATEMENT;
CREATE TABLE t1 (a INT) ENGINE=INNODB;
SET @@session.binlog_format=STATEMENT;
CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB;
DELETE d1, d2 FROM t1 AS d1, t1 AS d2 WHERE d1.a<>d2.a;
DROP TABLE t1;
# DELETE query fails with table re-open error without patch.
# Clean up.
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t1;
RESET MASTER;
# Test case for DROP query.
CREATE TABLE t1 (a INT) ENGINE=INNODB;
CREATE TEMPORARY TABLE t1 (b BLOB) ENGINE=INNODB;
DROP TABLE t1;
DROP TABLE t1;
# DROP table query fails with unknown table error without patch.
# Clean up
SET @@session.binlog_format= @save_binlog_format;
RESET MASTER;