1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-9428 NO_AUTO_VALUE_ON_ZERO is ignored when a trigger before insert is defined

fix the *other* fill_record() too, arrgh!
This commit is contained in:
Sergei Golubchik
2016-06-28 10:10:49 +02:00
parent 9c38308d8f
commit 6ce20fb2b9
3 changed files with 6 additions and 5 deletions

View File

@ -318,9 +318,8 @@ id
delete from t1;
create trigger t1_bi before insert on t1 for each row begin end;
insert t1 values (0);
select * from t1;
id
0
insert t1 (id) values (0);
ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
drop table t1;
create table t1 (a int not null, b int);
create trigger trgi before update on t1 for each row do 1;

View File

@ -336,7 +336,8 @@ select * from t1;
delete from t1;
create trigger t1_bi before insert on t1 for each row begin end;
insert t1 values (0);
select * from t1;
--error ER_DUP_ENTRY
insert t1 (id) values (0);
drop table t1;
#

View File

@ -8728,7 +8728,8 @@ fill_record(THD *thd, TABLE *table_arg, List<Item> &fields, List<Item> &values,
value=v++;
Field *rfield= field->field;
TABLE* table= rfield->table;
if (rfield == table->next_number_field)
if (table->next_number_field &&
rfield->field_index == table->next_number_field->field_index)
table->auto_increment_field_not_null= TRUE;
if (rfield->vcol_info &&
value->type() != Item::DEFAULT_VALUE_ITEM &&