summaryrefslogtreecommitdiff
path: root/sql/field.h
diff options
context:
space:
mode:
authorunknown <hf@deer.mysql.r18.ru>2003-01-05 14:07:24 +0400
committerunknown <hf@deer.mysql.r18.ru>2003-01-05 14:07:24 +0400
commit7ef0dad72ea3ff2c3557d46aae00685c709acbbe (patch)
treebfb8d01db80b1bece2ae64a2c304f135652bdc5a /sql/field.h
parent4abcd967bad4f54181ab6710e1a4236aaeb9c370 (diff)
downloadmariadb-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.h5
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; }