~jlukas79/+junk/mysql-server

« back to all changes in this revision

Viewing changes to mysql-test/suite/falcon_team/t/falcon_bug_22189.test

manual merge 6.0-main --> 6.0-bka-review

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
--source include/have_falcon.inc
2
 
SET @@storage_engine = Falcon;
3
2
#
4
 
# Bug #22189: Duplicate entry '1' for key 'PRIMARY'
 
3
# Bug #22189: Duplicate entry '1' for key 'PRIMARY'.
 
4
#     This test was written with SERIALIZABLE isolation
 
5
#     level in mind. As Falcon will not have SERIALIZABLE in
 
6
#     any near future, we rewrote the test to use REPEATABLE-READ.
5
7
#
6
8
--echo *** Bug #22189 ***
 
9
 
 
10
# ----------------------------------------------------- #
 
11
# --- Initialisation                                --- #
 
12
# ----------------------------------------------------- #
 
13
let $engine = 'Falcon';
 
14
eval SET @@storage_engine = $engine;
 
15
 
7
16
--disable_warnings
8
17
DROP DATABASE IF EXISTS db62;
9
18
--enable_warnings
10
19
 
11
20
--echo # Establish connection conn1 (user = root)
12
21
connect (conn1,localhost,root,,);
13
 
SET @@storage_engine = Falcon;
 
22
eval SET @@storage_engine = $engine;
14
23
 
15
24
--echo # Switch to connection default
16
25
connection default;
17
26
SET @@autocommit = 0;
18
27
CREATE DATABASE db62;
19
28
USE db62;
20
 
DROP TABLE IF EXISTS x1;
21
 
CREATE TABLE x1 (x1 int primary key, x2 int);
22
 
COMMIT;
23
 
INSERT INTO x1 VALUES (0,0),(1,1);
24
 
COMMIT;
25
 
DROP TABLE IF EXISTS x1;
26
 
CREATE TABLE x1 (x1 int primary key, x2 int);
27
 
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 
29
 
 
30
CREATE TABLE x1 (x1 int primary key, x2 int);
 
31
 
 
32
# ----------------------------------------------------- #
 
33
# --- Test                                          --- #
 
34
# ----------------------------------------------------- #
 
35
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
28
36
START TRANSACTION;
29
37
SELECT * FROM x1;
30
38
INSERT INTO x1 VALUES (0,0);
33
41
connection conn1;
34
42
SET @@autocommit = 1;
35
43
USE db62;
36
 
--send INSERT INTO x1 VALUES (1,1)
 
44
INSERT INTO x1 VALUES (1,1);
37
45
 
38
46
--echo # Switch to connection default
39
47
connection default;
 
48
--error ER_DUP_ENTRY
40
49
INSERT INTO x1 VALUES (1,2);
41
50
 
42
51
--echo # Switch to connection conn1
46
55
--echo # Switch to connection default
47
56
connection default;
48
57
ROLLBACK;
 
58
 
 
59
--echo # Switch to connection conn1
 
60
connection conn1;
 
61
--reap
 
62
 
 
63
connection default;
 
64
--error ER_DUP_ENTRY
49
65
UPDATE x1 SET x1 = 1, x2 = 4;
 
66
--sorted_result
50
67
SELECT * FROM x1;
51
68
 
52
69
--echo # Switch to connection conn1
60
77
 
61
78
--echo # Switch to connection conn1
62
79
connection conn1;
 
80
--error ER_DUP_ENTRY
 
81
--reap
 
82
--error ER_DUP_ENTRY
63
83
INSERT INTO x1 VALUES (0,6);
64
84
--error ER_DUP_ENTRY
65
85
INSERT INTO x1 VALUES (0,6);
66
86
 
 
87
# ----------------------------------------------------- #
 
88
# --- Check                                         --- #
 
89
# ----------------------------------------------------- #
67
90
--echo # Switch to connection default
68
91
connection default;
 
92
--sorted_result
69
93
SELECT * FROM x1;
70
94
 
71
 
# Final cleanup
 
95
# ----------------------------------------------------- #
 
96
# --- Final cleanup                                 --- #
 
97
# ----------------------------------------------------- #
72
98
disconnect conn1;
73
 
connection default;
74
99
DROP DATABASE db62;
75
100
USE test;