diff options
author | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
commit | 65ca700def99289cc31a7040537f5aa6e12bf485 (patch) | |
tree | 97b3a07299b626c519da0e80c122b5b79b933914 /sql/field_conv.cc | |
parent | 2ab57de38d13d927ddff2d51aed4af34e13998f5 (diff) | |
parent | 6e5bcca7935d3c62f84bb640e5357664a210ee12 (diff) | |
download | mariadb-git-65ca700def99289cc31a7040537f5aa6e12bf485.tar.gz |
merge.
checkpoint.
does not compile.
Diffstat (limited to 'sql/field_conv.cc')
-rw-r--r-- | sql/field_conv.cc | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/sql/field_conv.cc b/sql/field_conv.cc index ea6ff82e0aa..a27b471442b 100644 --- a/sql/field_conv.cc +++ b/sql/field_conv.cc @@ -676,10 +676,10 @@ Copy_field::get_copy_func(Field *to,Field *from) */ if (to->real_type() != from->real_type() || !compatible_db_low_byte_first || - (((to->table->in_use->variables.sql_mode & + ((to->table->in_use->variables.sql_mode & (MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE | MODE_INVALID_DATES)) && - to->type() == MYSQL_TYPE_DATE) || - to->type() == MYSQL_TYPE_DATETIME)) + (to->type() == MYSQL_TYPE_DATE || + to->type() == MYSQL_TYPE_DATETIME))) { if (from->real_type() == MYSQL_TYPE_ENUM || from->real_type() == MYSQL_TYPE_SET) @@ -695,8 +695,7 @@ Copy_field::get_copy_func(Field *to,Field *from) if (from->real_type() == MYSQL_TYPE_ENUM && to->real_type() == MYSQL_TYPE_ENUM) return do_field_enum; - else - return do_field_string; + return do_field_string; } } else if (to->charset() != from->charset()) @@ -720,10 +719,8 @@ Copy_field::get_copy_func(Field *to,Field *from) { if (to->charset() == &my_charset_bin) return do_expand_binary; - else - return do_expand_string; + return do_expand_string; } - } else if (to->real_type() != from->real_type() || to_length != from_length || @@ -749,7 +746,7 @@ Copy_field::get_copy_func(Field *to,Field *from) } } } - /* Eq fields */ + /* Identical field types */ switch (to_length) { case 1: return do_field_1; case 2: return do_field_2; @@ -775,8 +772,8 @@ int field_conv(Field *to,Field *from) to->real_type() != MYSQL_TYPE_SET && to->real_type() != MYSQL_TYPE_BIT && (to->real_type() != MYSQL_TYPE_NEWDECIMAL || - (to->field_length == from->field_length && - (((Field_num*)to)->dec == ((Field_num*)from)->dec))) && + ((to->field_length == from->field_length && + (((Field_num*)to)->dec == ((Field_num*)from)->dec)))) && from->charset() == to->charset() && to->table->s->db_low_byte_first == from->table->s->db_low_byte_first && (!(to->table->in_use->variables.sql_mode & @@ -787,7 +784,7 @@ int field_conv(Field *to,Field *from) ((Field_varstring*)from)->length_bytes == ((Field_varstring*)to)->length_bytes)) { // Identical fields -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* This may happen if one does 'UPDATE ... SET x=x' */ if (to->ptr != from->ptr) #endif |