Loading mysql-test/r/auto_increment.result +18 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,24 @@ 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 0 3 201 4 202 5 203 6 204 7 create table t2 (a int); insert t2 values (1),(2); alter table t2 add b int auto_increment primary key; select * from t2; a b 1 1 2 2 drop table t2; delete from t1 where a=0; update t1 set a=0 where b=5; select * from t1 order by b; Loading mysql-test/t/auto_increment.test +7 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,13 @@ 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; create table t2 (a int); insert t2 values (1),(2); alter table t2 add b int auto_increment primary key; select * from t2; drop table t2; delete from t1 where a=0; update t1 set a=0 where b=5; select * from t1 order by b; Loading sql/field.h +1 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ class Field public: static void *operator new(size_t size) {return (void*) sql_alloc((uint) size); } static void operator delete(void *ptr_arg, size_t size) { #ifdef PEDANTIC_SAFEMALLOC #ifdef SAFEMALLOC bfill(ptr_arg, size, 0x8F); #endif } Loading sql/sql_base.cc +2 −2 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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); } Loading sql/sql_list.h +2 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ /* mysql standard class memory allocator */ #ifdef PEDANTIC_SAFEMALLOC #ifdef SAFEMALLOC #define TRASH(XX,YY) bfill((XX), (YY), 0x8F) #else #define TRASH(XX,YY) /* no-op */ Loading Loading
mysql-test/r/auto_increment.result +18 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,24 @@ 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 0 3 201 4 202 5 203 6 204 7 create table t2 (a int); insert t2 values (1),(2); alter table t2 add b int auto_increment primary key; select * from t2; a b 1 1 2 2 drop table t2; delete from t1 where a=0; update t1 set a=0 where b=5; select * from t1 order by b; Loading
mysql-test/t/auto_increment.test +7 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,13 @@ 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; create table t2 (a int); insert t2 values (1),(2); alter table t2 add b int auto_increment primary key; select * from t2; drop table t2; delete from t1 where a=0; update t1 set a=0 where b=5; select * from t1 order by b; Loading
sql/field.h +1 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ class Field public: static void *operator new(size_t size) {return (void*) sql_alloc((uint) size); } static void operator delete(void *ptr_arg, size_t size) { #ifdef PEDANTIC_SAFEMALLOC #ifdef SAFEMALLOC bfill(ptr_arg, size, 0x8F); #endif } Loading
sql/sql_base.cc +2 −2 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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); } Loading
sql/sql_list.h +2 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ /* mysql standard class memory allocator */ #ifdef PEDANTIC_SAFEMALLOC #ifdef SAFEMALLOC #define TRASH(XX,YY) bfill((XX), (YY), 0x8F) #else #define TRASH(XX,YY) /* no-op */ Loading