diff options
author | kaa@polly.local <> | 2007-05-28 14:34:36 +0400 |
---|---|---|
committer | kaa@polly.local <> | 2007-05-28 14:34:36 +0400 |
commit | 84c81bd534b736980935f0a408bf175187b023a0 (patch) | |
tree | c780426e0fed8b2fd935748019138980d2623538 /sql/field.h | |
parent | e50116e99e3b4a67a288159c9b6dab8fe94c904b (diff) | |
parent | 8ac1ffdf1df286194c265769ba72336ababd595b (diff) | |
download | mariadb-git-84c81bd534b736980935f0a408bf175187b023a0.tar.gz |
Merge polly.local:/home/kaa/src/maint/bug28121/my50-bug28121
into polly.local:/home/kaa/src/maint/mysql-5.0-maint
Diffstat (limited to 'sql/field.h')
-rw-r--r-- | sql/field.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/sql/field.h b/sql/field.h index 78aa12ad200..00854ca11b5 100644 --- a/sql/field.h +++ b/sql/field.h @@ -453,6 +453,7 @@ public: /* base class for float and double and decimal (old one) */ class Field_real :public Field_num { public: + my_bool not_fixed; Field_real(char *ptr_arg, uint32 len_arg, uchar *null_ptr_arg, uchar null_bit_arg, utype unireg_check_arg, @@ -460,12 +461,14 @@ public: struct st_table *table_arg, uint8 dec_arg, bool zero_arg, bool unsigned_arg) :Field_num(ptr_arg, len_arg, null_ptr_arg, null_bit_arg, unireg_check_arg, - field_name_arg, table_arg, dec_arg, zero_arg, unsigned_arg) + field_name_arg, table_arg, dec_arg, zero_arg, unsigned_arg), + not_fixed(dec_arg >= NOT_FIXED_DEC) {} int store_decimal(const my_decimal *); my_decimal *val_decimal(my_decimal *); + int truncate(double *nr, double max_length); uint32 max_display_length() { return field_length; } }; @@ -758,7 +761,6 @@ public: class Field_double :public Field_real { public: - my_bool not_fixed; Field_double(char *ptr_arg, uint32 len_arg, uchar *null_ptr_arg, uchar null_bit_arg, enum utype unireg_check_arg, const char *field_name_arg, @@ -766,21 +768,18 @@ public: uint8 dec_arg,bool zero_arg,bool unsigned_arg) :Field_real(ptr_arg, len_arg, null_ptr_arg, null_bit_arg, unireg_check_arg, field_name_arg, table_arg, - dec_arg, zero_arg, unsigned_arg), - not_fixed(dec_arg >= NOT_FIXED_DEC) + dec_arg, zero_arg, unsigned_arg) {} Field_double(uint32 len_arg, bool maybe_null_arg, const char *field_name_arg, struct st_table *table_arg, uint8 dec_arg) :Field_real((char*) 0, len_arg, maybe_null_arg ? (uchar*) "" : 0, (uint) 0, - NONE, field_name_arg, table_arg, dec_arg, 0, 0), - not_fixed(dec_arg >= NOT_FIXED_DEC) + NONE, field_name_arg, table_arg, dec_arg, 0, 0) {} Field_double(uint32 len_arg, bool maybe_null_arg, const char *field_name_arg, - struct st_table *table_arg, uint8 dec_arg, my_bool not_fixed_srg) + struct st_table *table_arg, uint8 dec_arg, my_bool not_fixed_arg) :Field_real((char*) 0, len_arg, maybe_null_arg ? (uchar*) "" : 0, (uint) 0, - NONE, field_name_arg, table_arg, dec_arg, 0, 0), - not_fixed(not_fixed_srg) - {} + NONE, field_name_arg, table_arg, dec_arg, 0, 0) + {not_fixed= not_fixed_arg; } enum_field_types type() const { return FIELD_TYPE_DOUBLE;} enum ha_base_keytype key_type() const { return HA_KEYTYPE_DOUBLE; } int store(const char *to,uint length,CHARSET_INFO *charset); |