diff options
author | unknown <hf@deer.mysql.r18.ru> | 2003-01-05 14:07:24 +0400 |
---|---|---|
committer | unknown <hf@deer.mysql.r18.ru> | 2003-01-05 14:07:24 +0400 |
commit | 7ef0dad72ea3ff2c3557d46aae00685c709acbbe (patch) | |
tree | bfb8d01db80b1bece2ae64a2c304f135652bdc5a /sql/field.h | |
parent | 4abcd967bad4f54181ab6710e1a4236aaeb9c370 (diff) | |
download | mariadb-git-7ef0dad72ea3ff2c3557d46aae00685c709acbbe.tar.gz |
SCRUM
DEFAULT in UPDATE and SELECT
sql/field.h:
set_default() implementation changed
sql/item.cc:
Item_default_value methods implementations added
sql/item.h:
Item_default_value class added
sql/sql_yacc.yy:
DEFAULT in UPDATE and SELECT added
sql/table.cc:
table->default_values initialization added
sql/table.h:
st_table::default_values added
Diffstat (limited to 'sql/field.h')
-rw-r--r-- | sql/field.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/field.h b/sql/field.h index 40578d19c82..359db63b0ac 100644 --- a/sql/field.h +++ b/sql/field.h @@ -78,10 +78,11 @@ public: virtual void reset_fields() {} virtual void set_default() { - memcpy(ptr, ptr + table->rec_buff_length, pack_length()); + my_ptrdiff_t offset = table->default_values - 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; } |