diff options
author | Venkatesh Duggirala <venkatesh.duggirala@oracle.com> | 2013-03-12 22:36:13 +0530 |
---|---|---|
committer | Venkatesh Duggirala <venkatesh.duggirala@oracle.com> | 2013-03-12 22:36:13 +0530 |
commit | 8a49d7a83efdf9be5a07b8c11637e8987ce0ef66 (patch) | |
tree | 701ae576a4a4d0f7b20a1609b58d23254734fe70 /sql/sql_string.h | |
parent | daa28126f5740ba88d513f83f13927a56b42addd (diff) | |
download | mariadb-git-8a49d7a83efdf9be5a07b8c11637e8987ce0ef66.tar.gz |
BUG#14593883-REPLICATION BREAKS WHEN SET DATA TYPE
COLUMNS ARE USED INSIDE A STORED PROCEDURE
Problem: The operator '=' overload method inside
'String' class is not coping str_charset member from
R.H.S object to L.H.S object. Hence charset is wrongly
set while using string assignments
Analaysis: The above mentioned problem is
identified while doing the analaysis of bug#14593883.
Though the test scenario mentioned in the bug page
is not an issue in mysql-5.1 code, the actual root cause
ie., "str_charset member is not copied" exists in the
mysql-5.1 code base.
Fix: Handle coping str_charset member in operator '=' overload
method.
sql/sql_string.h:
Handled coping str_charset member in operator '=' overload
method.
Diffstat (limited to 'sql/sql_string.h')
-rw-r--r-- | sql/sql_string.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sql_string.h b/sql/sql_string.h index 6d5e8c46c55..c65560dd1d1 100644 --- a/sql/sql_string.h +++ b/sql/sql_string.h @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -258,6 +258,7 @@ public: DBUG_ASSERT(!s.uses_buffer_owned_by(this)); free(); Ptr=s.Ptr ; str_length=s.str_length ; Alloced_length=s.Alloced_length; + str_charset=s.str_charset; alloced=0; } return *this; |