~mdcallag/+junk/5.1-map

« back to all changes in this revision

Viewing changes to mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_1.result

  • Committer: msvensson at pilot
  • Date: 2007-04-24 09:11:45 UTC
  • mfrom: (2469.1.106)
  • Revision ID: sp1r-msvensson@pilot.blaudden-20070424091145-10463
Merge pilot.blaudden:/home/msvensson/mysql/my51-m-mysql_upgrade
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
SELECT @@global.innodb_table_locks into @table_locks;
 
2
SET @@global.innodb_table_locks= OFF;
 
3
DROP TABLE IF EXISTS t1, t2;
 
4
DROP VIEW IF EXISTS v1;
 
5
SET autocommit=0;
 
6
SET autocommit=0;
 
7
connection default;
 
8
CREATE TABLE t1 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB;
 
9
CREATE INDEX ixi ON t1 (i);
 
10
CREATE TABLE t2 (k INT NOT NULL PRIMARY KEY, i INT, j INT, l INT) ENGINE=InnoDB;
 
11
CREATE INDEX ixi ON t2 (i);
 
12
CREATE PROCEDURE fill_t1 (IN upb int)
 
13
BEGIN
 
14
DECLARE cnt int DEFAULT 0;
 
15
WHILE cnt < upb DO
 
16
INSERT INTO t1 VALUES (cnt, cnt+100, cnt, cnt+100);
 
17
SET cnt= cnt+1;
 
18
END WHILE; 
 
19
END;
 
20
|
 
21
CREATE FUNCTION half_t1() RETURNS int
 
22
BEGIN
 
23
DECLARE res int DEFAULT 0;
 
24
SELECT MOD(k,2) INTO res FROM t1;
 
25
RETURN  res;
 
26
END;
 
27
|
 
28
CREATE PROCEDURE fill_t2 (IN upb int)
 
29
BEGIN
 
30
DECLARE cnt int DEFAULT 0;
 
31
WHILE cnt < upb DO
 
32
INSERT INTO t2 VALUES (cnt, cnt+100, cnt, cnt+100);
 
33
SET cnt= cnt+1;
 
34
END WHILE; 
 
35
END;
 
36
|
 
37
CREATE FUNCTION half_t2() RETURNS int
 
38
BEGIN
 
39
DECLARE res int DEFAULT 0;
 
40
SELECT MOD(k,2) INTO res FROM t2;
 
41
RETURN  res;
 
42
END;
 
43
|
 
44
CALL fill_t1 (40);
 
45
CALL fill_t2 (40);
 
46
COMMIT;
 
47
SELECT @@global.tx_isolation;
 
48
@@global.tx_isolation
 
49
REPEATABLE-READ
 
50
EXPLAIN SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE;
 
51
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
52
1       SIMPLE  t1      index   PRIMARY ixi     5       NULL    40      Using where; Using index
 
53
1       SIMPLE  t2      eq_ref  PRIMARY PRIMARY 4       test.t1.k       1       
 
54
SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 0 AND t1.k = t2.k LOCK IN SHARE MODE;
 
55
i       i
 
56
100     100
 
57
102     102
 
58
104     104
 
59
106     106
 
60
108     108
 
61
110     110
 
62
112     112
 
63
114     114
 
64
116     116
 
65
118     118
 
66
120     120
 
67
122     122
 
68
124     124
 
69
126     126
 
70
128     128
 
71
130     130
 
72
132     132
 
73
134     134
 
74
136     136
 
75
138     138
 
76
connection root1;
 
77
SELECT t1.i,t2.i FROM t1,t2 WHERE t1.k % 2= 1 AND t1.k = t2.k LOCK IN SHARE MODE;
 
78
i       i
 
79
101     101
 
80
103     103
 
81
105     105
 
82
107     107
 
83
109     109
 
84
111     111
 
85
113     113
 
86
115     115
 
87
117     117
 
88
119     119
 
89
121     121
 
90
123     123
 
91
125     125
 
92
127     127
 
93
129     129
 
94
131     131
 
95
133     133
 
96
135     135
 
97
137     137
 
98
139     139
 
99
UPDATE t1,t2 SET t1.i=1111,t2.i=2222 WHERE t1.k % 2 = 1 AND t1.k = t2.k;
 
100
SELECT * FROM t1 WHERE k < 20 ORDER BY t1.k;
 
101
k       i       j       l
 
102
0       100     0       100
 
103
1       1111    1       101
 
104
2       102     2       102
 
105
3       1111    3       103
 
106
4       104     4       104
 
107
5       1111    5       105
 
108
6       106     6       106
 
109
7       1111    7       107
 
110
8       108     8       108
 
111
9       1111    9       109
 
112
10      110     10      110
 
113
11      1111    11      111
 
114
12      112     12      112
 
115
13      1111    13      113
 
116
14      114     14      114
 
117
15      1111    15      115
 
118
16      116     16      116
 
119
17      1111    17      117
 
120
18      118     18      118
 
121
19      1111    19      119
 
122
SELECT * FROM t2 WHERE k < 20 ORDER BY t2.k;
 
123
k       i       j       l
 
124
0       100     0       100
 
125
1       2222    1       101
 
126
2       102     2       102
 
127
3       2222    3       103
 
128
4       104     4       104
 
129
5       2222    5       105
 
130
6       106     6       106
 
131
7       2222    7       107
 
132
8       108     8       108
 
133
9       2222    9       109
 
134
10      110     10      110
 
135
11      2222    11      111
 
136
12      112     12      112
 
137
13      2222    13      113
 
138
14      114     14      114
 
139
15      2222    15      115
 
140
16      116     16      116
 
141
17      2222    17      117
 
142
18      118     18      118
 
143
19      2222    19      119
 
144
connection default;
 
145
UPDATE t1,t2 SET t1.i=3333,t2.i=4444 WHERE t1.k % 2 = 0 AND t1.k = t2.k;