Commit 21a2d774 authored by unknown's avatar unknown

auto_value_on_zero bug test


mysql-test/r/auto_increment.result:
  bug test
mysql-test/t/auto_increment.test:
  bug test
sql/sql_base.cc:
  cleanup
parent 5c19e4f0
......@@ -201,12 +201,23 @@ a b
202 5
203 6
204 7
alter table t1 modify b mediumint;
select * from t1 order by b;
a b
1 1
200 2
205 3
201 4
202 5
203 6
204 7
delete from t1 where a=0;
update t1 set a=0 where b=5;
select * from t1 order by b;
a b
1 1
200 2
205 3
201 4
0 5
203 6
......@@ -214,7 +225,7 @@ a b
delete from t1 where a=0;
update t1 set a=NULL where b=6;
Warnings:
Warning 1263 Data truncated; NULL supplied to NOT NULL column 'a' at row 4
Warning 1263 Data truncated; NULL supplied to NOT NULL column 'a' at row 5
update t1 set a=300 where b=7;
SET SQL_MODE='';
insert into t1(a,b)values(NULL,8);
......@@ -228,6 +239,7 @@ select * from t1 order by b;
a b
1 1
200 2
205 3
201 4
0 6
300 7
......@@ -244,6 +256,7 @@ select * from t1 order by b;
a b
1 1
200 2
205 3
201 4
300 7
301 8
......@@ -256,12 +269,13 @@ a b
delete from t1 where a=0;
update t1 set a=NULL where b=13;
Warnings:
Warning 1263 Data truncated; NULL supplied to NOT NULL column 'a' at row 9
Warning 1263 Data truncated; NULL supplied to NOT NULL column 'a' at row 10
update t1 set a=500 where b=14;
select * from t1 order by b;
a b
1 1
200 2
205 3
201 4
300 7
301 8
......
......@@ -138,6 +138,8 @@ insert into t1(b)values(5);
insert into t1(b)values(6);
insert into t1(b)values(7);
select * from t1 order by b;
alter table t1 modify b mediumint;
select * from t1 order by b;
delete from t1 where a=0;
update t1 set a=0 where b=5;
select * from t1 order by b;
......
......@@ -2587,7 +2587,7 @@ fill_record(List<Item> &fields,List<Item> &values, bool ignore_errors)
Field *rfield= field->field;
TABLE *table= rfield->table;
if (rfield == table->next_number_field)
table->auto_increment_field_not_null= true;
table->auto_increment_field_not_null= TRUE;
if ((value->save_in_field(rfield, 0) < 0) && !ignore_errors)
DBUG_RETURN(1);
}
......@@ -2608,7 +2608,7 @@ fill_record(Field **ptr,List<Item> &values, bool ignore_errors)
value=v++;
TABLE *table= field->table;
if (field == table->next_number_field)
table->auto_increment_field_not_null= true;
table->auto_increment_field_not_null= TRUE;
if ((value->save_in_field(field, 0) < 0) && !ignore_errors)
DBUG_RETURN(1);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment