Skip to content

Commit 04e8791

Browse files
committed
wl#9048: in suite/gcol/ add "ORDER BY" needed to make results deterministic for NDB.
1 parent 88738f6 commit 04e8791

9 files changed

+210
-210
lines changed

mysql-test/suite/gcol/inc/gcol_column_def_options.inc

+9-9
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ SELECT vgc1 FROM t1;
502502
# Change expression of a stored generated column, with index
503503
ALTER TABLE t1 MODIFY COLUMN sgc1 INTEGER AS (col2 / col3) STORED;
504504
SELECT * FROM t1;
505-
SELECT sgc1 FROM t1;
505+
SELECT sgc1 FROM t1 order by sgc1;
506506

507507
if ($support_virtual_index)
508508
{
@@ -528,12 +528,12 @@ ALTER TABLE t1 MODIFY COLUMN vgc1 INTEGER AS (col2 / col3) VIRTUAL;
528528
ALTER TABLE t1 MODIFY COLUMN sgc1 INTEGER AS (col2 / col3) STORED;
529529

530530
ALTER TABLE t1 MODIFY COLUMN vgc1 INTEGER AS (col2 * col3) VIRTUAL;
531-
SELECT * FROM t1;
532-
SELECT vgc1 FROM t1;
531+
SELECT * FROM t1 order by col1;
532+
SELECT vgc1 FROM t1 order by col1;
533533

534534
ALTER TABLE t1 MODIFY COLUMN sgc1 INTEGER AS (col2 * col3) STORED;
535-
SELECT * FROM t1;
536-
SELECT sgc1 FROM t1;
535+
SELECT * FROM t1 order by col1;
536+
SELECT sgc1 FROM t1 order by sgc1;
537537

538538
# Change virtual generated column to become stored
539539
--error ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN
@@ -545,11 +545,11 @@ ALTER TABLE t1 MODIFY COLUMN sgc1 INTEGER AS (col2 / col3) VIRTUAL;
545545

546546
# Change base column to become stored generated column:
547547
ALTER TABLE t1 MODIFY COLUMN col4 INTEGER AS (col1 + col2 + col3) STORED;
548-
SELECT * FROM t1;
548+
SELECT * FROM t1 order by col1;
549549

550550
# Change stored generated column to become base column:
551551
ALTER TABLE t1 MODIFY COLUMN col4 INTEGER;
552-
SELECT * FROM t1;
552+
SELECT * FROM t1 order by col1;
553553

554554
DROP TABLE t1;
555555

@@ -570,12 +570,12 @@ CREATE TABLE t1 (
570570
);
571571
INSERT INTO t1(a, b) values(1, 'bbbb'), (2, 'cc');
572572
SHOW CREATE TABLE t1;
573-
SELECT * FROM t1;
573+
SELECT * FROM t1 order by a;
574574

575575
SET sql_mode= '';
576576
FLUSH TABLE t1;
577577
SHOW CREATE TABLE t1;
578-
SELECT * FROM t1;
578+
SELECT * FROM t1 order by a;
579579
DELETE FROM t1 where a= 2;
580580

581581
SET sql_mode= @sql_mode_save;

mysql-test/suite/gcol/inc/gcol_ins_upd.inc

+37-37
Original file line numberDiff line numberDiff line change
@@ -56,29 +56,29 @@ select * from t1;
5656

5757
--echo # INSERT INTO tbl_name (<non_gcol_list>) VALUES...
5858
insert into t1 (a) values (1), (2);
59-
select * from t1;
59+
select * from t1 order by a;
6060
delete from t1;
6161
select * from t1;
6262

6363
--echo # INSERT INTO tbl_name (<normal+gcols>) VALUES... DEFAULT is specified
6464
--echo # against gcols
6565
insert into t1 (a,b) values (1,default), (2,default);
66-
select * from t1;
66+
select * from t1 order by a;
6767
delete from t1;
6868
select * from t1;
6969

7070
--echo # INSERT INTO tbl_name (<normal+gcols>) VALUES... NULL is specified against gcols
7171
--error ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN
7272
insert into t1 (a,b) values (1,null), (2,null);
73-
select * from t1;
73+
select * from t1 order by a;
7474
delete from t1;
7575
select * from t1;
7676

7777
--echo # INSERT INTO tbl_name (<normal+gcols>) VALUES... a non-NULL value is specified
7878
--echo # against gcols
7979
--error ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN
8080
insert into t1 (a,b) values (1,3), (2,4);
81-
select * from t1;
81+
select * from t1 order by a;
8282
delete from t1;
8383
select * from t1;
8484
drop table t1;
@@ -89,7 +89,7 @@ eval $create2;
8989
insert into t1 values (1,default,default);
9090
insert into t1 values (1,default,default)
9191
on duplicate key update a=2, b=default;
92-
select a,b,c from t1;
92+
select a,b,c from t1 order by a;
9393
delete from t1 where b in (1,2);
9494
select * from t1;
9595
drop table t1;
@@ -100,15 +100,15 @@ eval $create3;
100100
insert into t1 values (1,default,default);
101101
insert into t1 values (1,default,default)
102102
on duplicate key update a=2, b=default;
103-
select a,b,c from t1;
103+
select a,b,c from t1 order by a;
104104

105105
--echo # CREATE new_table ... LIKE old_table
106106
--echo # INSERT INTO new_table SELECT * from old_table
107107
create table t2 like t1;
108108
--error ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN
109109
insert into t2 select * from t1;
110110
insert into t2(a) select a from t1;
111-
select * from t1;
111+
select * from t2 order by a;
112112
drop table t2;
113113

114114
--echo # CREATE new_table ... LIKE old_table INSERT INTO new_table (<non-gcols>, <gcols>)
@@ -119,7 +119,7 @@ create table t2 like t1;
119119
--error ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN
120120
insert into t2 (a,b) select a,b from t1;
121121
insert into t2 (a) select a from t1;
122-
select * from t2;
122+
select * from t2 order by a;
123123
drop table t2;
124124
drop table t1;
125125

@@ -130,44 +130,44 @@ drop table t1;
130130
--echo # UPDATE tbl_name SET non-gcol=expr WHERE non-gcol=expr
131131
eval $create1;
132132
insert into t1 (a) values (1), (2);
133-
select * from t1;
133+
select * from t1 order by a;
134134
update t1 set a=3 where a=2;
135-
select * from t1;
135+
select * from t1 order by a;
136136
delete from t1;
137137
select * from t1;
138138

139139
--echo # UPDATE tbl_name SET gcol=expr WHERE non-gcol=expr
140140
insert into t1 (a) values (1), (2);
141-
select * from t1;
141+
select * from t1 order by a;
142142
--error ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN
143143
update t1 set c=3 where a=2;
144-
select * from t1;
144+
select * from t1 order by a;
145145
delete from t1;
146146
select * from t1;
147147

148148
--echo # UPDATE tbl_name SET non-gcol=expr WHERE gcol=expr
149149
insert into t1 (a) values (1), (2);
150-
select * from t1;
150+
select * from t1 order by a;
151151
update t1 set a=3 where b=-2;
152-
select * from t1;
152+
select * from t1 order by a;
153153
delete from t1;
154154
select * from t1;
155155

156156
--echo # UPDATE tbl_name SET gcol=expr WHERE gcol=expr
157157
insert into t1 (a) values (1), (2);
158-
select * from t1;
158+
select * from t1 order by a;
159159
--error ER_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN
160160
update t1 set c=3 where b=-2;
161-
select * from t1;
161+
select * from t1 order by a;
162162
delete from t1;
163-
select * from t1;
163+
select * from t1 order by a;
164164
drop table t1;
165165

166166
--echo # INDEX created on gcol
167167
--echo # UPDATE tbl_name SET non-gcol=expr WHERE gcol=const
168168
eval $create3;
169169
insert into t1 (a) values (1), (2);
170-
select * from t1;
170+
select * from t1 order by a;
171171
update t1 set a=3 where c=-2;
172172
select * from t1;
173173
delete from t1;
@@ -177,61 +177,61 @@ select * from t1;
177177
--echo # INDEX created on gcol
178178
--echo # UPDATE tbl_name SET non-gcol=expr WHERE gcol=between const1 and const2
179179
insert into t1 (a) values (1), (2);
180-
select * from t1;
180+
select * from t1 order by a;
181181
update t1 set a=3 where c between -3 and -2;
182-
select * from t1;
182+
select * from t1 order by a;
183183
delete from t1;
184184
select * from t1;
185185

186186
--echo # No INDEX created on gcol
187187
--echo # UPDATE tbl_name SET non-gcol=expr WHERE gcol=between const1 and const2
188188
insert into t1 (a) values (1), (2);
189-
select * from t1;
189+
select * from t1 order by a;
190190
update t1 set a=3 where b between -3 and -2;
191-
select * from t1;
191+
select * from t1 order by a;
192192
delete from t1;
193193
select * from t1;
194194

195195
--echo # INDEX created on gcol
196196
--echo # UPDATE tbl_name SET non-gcol=expr
197197
--echo # WHERE gcol=between const1 and const2 ORDER BY gcol
198198
insert into t1 (a) values (1), (2), (3), (4), (5);
199-
select * from t1;
199+
select * from t1 order by a;
200200
update t1 set a=6 where c between -1 and 0
201201
order by c;
202-
select * from t1;
202+
select * from t1 order by a;
203203
delete from t1 where c between -6 and 0;
204-
select * from t1;
204+
select * from t1 order by a;
205205

206206
--echo # INDEX created on gcol
207207
--echo # UPDATE tbl_name SET non-gcol=expr
208208
--echo # WHERE gcol=between const1 and const2 ORDER BY gcol LIMIT 2
209209
insert into t1 (a) values (1), (2), (3), (4), (5);
210-
select * from t1;
210+
select * from t1 order by a;
211211
update t1 set a=6 where c between -1 and 0
212212
order by c limit 2;
213-
select * from t1;
213+
select * from t1 order by a;
214214
delete from t1 where c between -2 and 0 order by c;
215-
select * from t1;
215+
select * from t1 order by a;
216216
delete from t1;
217217

218218
--echo # INDEX created on gcol
219219
--echo # UPDATE tbl_name SET non-gcol=expr
220220
--echo # WHERE indexed gcol=between const1 and const2 and non-indexed gcol=const3
221221
insert into t1 (a) values (1), (2), (3), (4), (5);
222-
select * from t1;
222+
select * from t1 order by a;
223223
update t1 set a=6 where (c between -2 and 0) and (b=-1);
224-
select * from t1;
224+
select * from t1 order by a;
225225
delete from t1;
226226

227227
--echo # INDEX created on gcol
228228
--echo # UPDATE tbl_name SET non-gcol=expr
229229
--echo # WHERE indexed gcol=between const1 and const2 and non-indexed gcol=const3
230230
--echo # ORDER BY indexed gcol
231231
insert into t1 (a) values (1), (2), (3), (4), (5);
232-
select * from t1;
232+
select * from t1 order by a;
233233
update t1 set a=6 where (c between -2 and 0) and (b=-1) order by c;
234-
select * from t1;
234+
select * from t1 order by a;
235235
delete from t1;
236236
drop table t1;
237237

@@ -244,9 +244,9 @@ if ($innodb_engine)
244244
create table t1 (a int primary key, b int generated always as (a % 10) stored);
245245
insert into t2 values (1, 'value1'), (2,'value2'), (3,'value3');
246246
insert into t1 (a) values (1),(2),(3);
247-
select * from t1;
248-
select * from t2;
249-
select t1.a, t1.b, t2.name from t1,t2 where t1.b=t2.a;
247+
select * from t1 order by a;
248+
select * from t2 order by a;
249+
select t1.a, t1.b, t2.name from t1,t2 where t1.b=t2.a order by t1.a;
250250

251251
--echo # - ON UPDATE RESTRICT
252252
alter table t1 add foreign key (b) references t2(a) on update restrict;
@@ -284,9 +284,9 @@ if ($innodb_engine)
284284
--echo # REPLACE tbl_name (non-gcols) VALUES (non-gcols);
285285
eval $create4;
286286
insert into t1 (a,d) values (1,'a'), (2,'b');
287-
select * from t1;
287+
select * from t1 order by a;
288288
replace t1 (a,d) values (1,'c');
289-
select * from t1;
289+
select * from t1 order by a;
290290
delete from t1;
291291
select * from t1;
292292

0 commit comments

Comments
 (0)