diff options
author | unknown <joreland@mysql.com> | 2004-08-12 20:31:00 +0200 |
---|---|---|
committer | unknown <joreland@mysql.com> | 2004-08-12 20:31:00 +0200 |
commit | fe61e5d2e4be0f80d0ed60b73293cd7ed8e46283 (patch) | |
tree | c0d96fac20452227a646d8a13cbf682ab03e0e7f /sql | |
parent | fedc787e53660491d59b94df7cc7f6dd92c8f28f (diff) | |
parent | 4a0f586bc735abb1b9d0129210ab349cfb629d40 (diff) | |
download | mariadb-git-fe61e5d2e4be0f80d0ed60b73293cd7ed8e46283.tar.gz |
Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1-ndb
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_strfunc.cc | 5 | ||||
-rw-r--r-- | sql/mysqld.cc | 3 | ||||
-rw-r--r-- | sql/slave.cc | 6 | ||||
-rw-r--r-- | sql/sql_string.h | 1 |
4 files changed, 13 insertions, 2 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index d3493e1fad1..995627766c0 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -984,7 +984,10 @@ String *Item_func_left::val_str(String *str) return &my_empty_string; if (res->length() <= (uint) length) return res; - str_value.set(*res, 0, res->charpos(length)); + if (&str_value == res) + str_value.length(res->charpos(length)); + else + str_value.set(*res, 0, res->charpos(length)); return &str_value; } diff --git a/sql/mysqld.cc b/sql/mysqld.cc index c81a888d2e9..48a2e1fbc71 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2535,7 +2535,8 @@ server."); if (opt_error_log) { if (!log_error_file_ptr[0]) - fn_format(log_error_file, glob_hostname, mysql_data_home, ".err", 0); + fn_format(log_error_file, glob_hostname, mysql_data_home, ".err", + MY_REPLACE_EXT); /* replace '.<domain>' by '.err', bug#4997 */ else fn_format(log_error_file, log_error_file_ptr, mysql_data_home, ".err", MY_UNPACK_FILENAME | MY_SAFE_PATH); diff --git a/sql/slave.cc b/sql/slave.cc index 7e46fb81053..0fe525d766f 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -1236,6 +1236,12 @@ not always make sense; please check the manual before using it)."; /* Check that the master's global character_set_server and ours are the same. Not fatal if query fails (old master?). + Note that we don't check for equality of global character_set_client and + collation_connection (neither do we prevent their setting in + set_var.cc). That's because from what I (Guilhem) have tested, the global + values of these 2 are never used (new connections don't use them). + We don't test equality of global collation_database either as it's is + going to be deprecated (made read-only) in 4.1 very soon. */ if (!mysql_real_query(mysql, "SELECT @@GLOBAL.COLLATION_SERVER", 32) && (master_res= mysql_store_result(mysql))) diff --git a/sql/sql_string.h b/sql/sql_string.h index 01329c45a98..0179b3ebadc 100644 --- a/sql/sql_string.h +++ b/sql/sql_string.h @@ -98,6 +98,7 @@ public: void set(String &str,uint32 offset,uint32 arg_length) { + DBUG_ASSERT(&str != this); free(); Ptr=(char*) str.ptr()+offset; str_length=arg_length; alloced=0; if (str.Alloced_length) |