mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
@ -58,6 +58,16 @@ skr 2
|
||||
test 1
|
||||
test 2
|
||||
drop table t1;
|
||||
create table t1 (id int NOT NULL DEFAULT 8);
|
||||
insert into t1 values(NULL);
|
||||
Column 'id' cannot be null
|
||||
insert into t1 values (1), (NULL), (2);
|
||||
select * from t1;
|
||||
id
|
||||
1
|
||||
8
|
||||
2
|
||||
drop table t1;
|
||||
drop database if exists foo;
|
||||
create database foo;
|
||||
use foo;
|
||||
|
@ -50,6 +50,17 @@ insert into t1 values ('rts',NULL),('rts',NULL),('test',NULL);
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
#Test of behaviour with INSERT VALUES (NULL)
|
||||
#
|
||||
|
||||
create table t1 (id int NOT NULL DEFAULT 8);
|
||||
-- error 1048
|
||||
insert into t1 values(NULL);
|
||||
insert into t1 values (1), (NULL), (2);
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test of mysqld crash with fully qualified column names
|
||||
#
|
||||
@ -60,3 +71,4 @@ use foo;
|
||||
create table t1 (c int);
|
||||
insert into foo.t1 set foo.t1.c = '1';
|
||||
drop database foo;
|
||||
|
||||
|
@ -72,10 +72,12 @@ public:
|
||||
virtual void reset_fields() {}
|
||||
virtual void set_default()
|
||||
{
|
||||
memcpy(ptr, ptr + table->rec_buff_length, pack_length());
|
||||
my_ptrdiff_t offset = (my_ptrdiff_t) (table->record[2] -
|
||||
table->record[0]);
|
||||
memcpy(ptr, ptr + offset, pack_length());
|
||||
if (null_ptr)
|
||||
*null_ptr= ((*null_ptr & (uchar) ~null_bit) |
|
||||
null_ptr[table->rec_buff_length] & null_bit);
|
||||
null_ptr[offset] & null_bit);
|
||||
}
|
||||
virtual bool binary() const { return 1; }
|
||||
virtual bool zero_pack() const { return 1; }
|
||||
|
@ -118,10 +118,9 @@ set_field_to_null(Field *field)
|
||||
field->reset();
|
||||
return 0;
|
||||
}
|
||||
field->reset();
|
||||
field->set_default();
|
||||
if (current_thd->count_cuted_fields)
|
||||
{
|
||||
field->set_default();
|
||||
current_thd->cuted_fields++; // Increment error counter
|
||||
return 0;
|
||||
}
|
||||
@ -171,12 +170,11 @@ set_field_to_null_with_conversions(Field *field, bool no_conversions)
|
||||
((Field_timestamp*) field)->set_time();
|
||||
return 0; // Ok to set time to NULL
|
||||
}
|
||||
field->reset();
|
||||
field->set_default();
|
||||
if (field == field->table->next_number_field)
|
||||
return 0; // field is set in handler.cc
|
||||
if (current_thd->count_cuted_fields)
|
||||
{
|
||||
field->set_default();
|
||||
current_thd->cuted_fields++; // Increment error counter
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user