diff options
author | unknown <ramil@mysql.com> | 2005-09-21 14:32:19 +0500 |
---|---|---|
committer | unknown <ramil@mysql.com> | 2005-09-21 14:32:19 +0500 |
commit | 24922a3092eb4d89e6b0f8c52ba7a0b29162758e (patch) | |
tree | f824a5e5b4454dcc84597a2412aedd6c130ccc61 /sql/field_conv.cc | |
parent | 458a4234e4ce764fdc40de8c46bee2a198151fb7 (diff) | |
download | mariadb-git-24922a3092eb4d89e6b0f8c52ba7a0b29162758e.tar.gz |
a fix (bug #7589: Decimal types are ignored when updating data from another column).
mysql-test/r/union.result:
a fix (bug #7589: Decimal types are ignored when updating data from another column).
removed wrong test result (see #13372)
mysql-test/t/union.test:
a fix (bug #7589: Decimal types are ignored when updating data from another column).
removed wrong test result (see #13372)
sql/field_conv.cc:
a fix (bug #7589: Decimal types are ignored when updating data from another column).
use memcpy() only for identical decimals.
Diffstat (limited to 'sql/field_conv.cc')
-rw-r--r-- | sql/field_conv.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/field_conv.cc b/sql/field_conv.cc index 7998dd6d5f8..d61b3735c91 100644 --- a/sql/field_conv.cc +++ b/sql/field_conv.cc @@ -599,6 +599,9 @@ void field_conv(Field *to,Field *from) !(to->flags & UNSIGNED_FLAG && !(from->flags & UNSIGNED_FLAG)) && to->real_type() != FIELD_TYPE_ENUM && to->real_type() != FIELD_TYPE_SET && + (to->real_type() != FIELD_TYPE_DECIMAL || + (to->field_length == from->field_length && + (((Field_num*) to)->dec == ((Field_num*) from)->dec))) && from->charset() == to->charset() && to->table->db_low_byte_first == from->table->db_low_byte_first) { // Identical fields |