Skip to content

Commit c32f7ed

Browse files
committed
MDEV-17377 invalid gap in auto-increment values after LOAD DATA
reset lex->many_values for LOAD DATA, as it's used for auto-inc range size estimation.
1 parent 9ff9d23 commit c32f7ed

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

mysql-test/r/auto_increment_ranges_innodb.result

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,3 +264,17 @@ delete from t1 where a=32767;
264264
insert into t1 values(NULL);
265265
ERROR 22003: Out of range value for column 'a' at row 1
266266
drop table t1;
267+
create table t1 (pk int auto_increment primary key, f varchar(20));
268+
insert t1 (f) values ('a'), ('b'), ('c'), ('d');
269+
select null, f into outfile 'load.data' from t1 limit 1;
270+
load data infile 'load.data' into table t1;
271+
insert t1 (f) values ('<===');
272+
select * from t1;
273+
pk f
274+
1 a
275+
2 b
276+
3 c
277+
4 d
278+
5 a
279+
6 <===
280+
drop table t1;

mysql-test/t/auto_increment_ranges_innodb.test

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,14 @@
55
--source include/have_innodb.inc
66
set default_storage_engine=innodb;
77
--source auto_increment_ranges.inc
8+
9+
#
10+
# MDEV-17377 invalid gap in auto-increment values after LOAD DATA
11+
#
12+
create table t1 (pk int auto_increment primary key, f varchar(20));
13+
insert t1 (f) values ('a'), ('b'), ('c'), ('d');
14+
select null, f into outfile 'load.data' from t1 limit 1;
15+
load data infile 'load.data' into table t1;
16+
insert t1 (f) values ('<===');
17+
select * from t1;
18+
drop table t1;

sql/sql_yacc.yy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12073,6 +12073,7 @@ load:
1207312073
lex->field_list.empty();
1207412074
lex->update_list.empty();
1207512075
lex->value_list.empty();
12076+
lex->many_values.empty();
1207612077
}
1207712078
opt_load_data_charset
1207812079
{ Lex->exchange->cs= $14; }

0 commit comments

Comments
 (0)