Below is the list of changes that have just been committed into a local
5.1 repository of evgen. When evgen does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2290 06/04/05 20:12:26 evgen@stripped +2 -0
Manually merged
sql/sql_update.cc
1.190 06/04/05 20:12:23 evgen@stripped +2 -2
Manually merged
sql/field.h
1.182 06/04/05 20:12:23 evgen@stripped +2 -4
Manually merged
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: evgen
# Host: sunlight.local
# Root: /local_work/16281-bug-5.1-new-mysql/RESYNC
--- 1.181/sql/field.h 2006-03-30 19:07:57 +04:00
+++ 1.182/sql/field.h 2006-04-05 20:12:23 +04:00
@@ -1000,20 +1000,23 @@ public:
class Field_string :public Field_longstr {
public:
+ bool can_alter_field_type;
Field_string(char *ptr_arg, uint32 len_arg,uchar *null_ptr_arg,
uchar null_bit_arg,
enum utype unireg_check_arg, const char *field_name_arg,
CHARSET_INFO *cs)
:Field_longstr(ptr_arg, len_arg, null_ptr_arg, null_bit_arg,
- unireg_check_arg, field_name_arg, cs) {};
+ unireg_check_arg, field_name_arg, cs),
+ can_alter_field_type(1) {};
Field_string(uint32 len_arg,bool maybe_null_arg, const char *field_name_arg,
CHARSET_INFO *cs)
:Field_longstr((char*) 0, len_arg, maybe_null_arg ? (uchar*) "": 0, 0,
- NONE, field_name_arg, cs) {};
+ NONE, field_name_arg, cs),
+ can_alter_field_type(1) {};
enum_field_types type() const
{
- return ((orig_table &&
+ return ((can_alter_field_type && orig_table &&
orig_table->s->db_create_options & HA_OPTION_PACK_RECORD &&
field_length >= 4) &&
orig_table->s->frm_version < FRM_VER_TRUE_VARCHAR ?
--- 1.189/sql/sql_update.cc 2006-02-28 11:53:06 +03:00
+++ 1.190/sql/sql_update.cc 2006-04-05 20:12:23 +04:00
@@ -1229,6 +1229,11 @@ multi_update::initialize_tables(JOIN *jo
Field_string offset(table->file->ref_length, 0, "offset",
&my_charset_bin);
offset.init(table);
+ /*
+ The field will be converted to varstring when creating tmp table if
+ table to be updated was created by mysql 4.1. Deny this.
+ */
+ offset.can_alter_field_type= 0;
if (!(ifield= new Item_field(((Field *) &offset))))
DBUG_RETURN(1);
ifield->maybe_null= 0;
| Thread |
|---|
| • bk commit into 5.1 tree (evgen:1.2290) | eugene | 5 Apr |