Merge mysql-5.1 from bk-internal into my local repo
This commit is contained in:
commit
cc7b3de9fc
@ -238,3 +238,6 @@ select a from t1 where a like "abcdefgh
|
||||
a
|
||||
abcdefghá
|
||||
drop table t1;
|
||||
set global LC_MESSAGES=convert((@@global.log_bin_trust_function_creators)
|
||||
using cp1250);
|
||||
ERROR HY000: Unknown system variable 'LC_MESSAGES'
|
||||
|
@ -375,6 +375,8 @@ FD FD FD D18D FD
|
||||
FE FE FE D18E FE
|
||||
FF FF FF D18F FF
|
||||
DROP TABLE t1;
|
||||
set global LC_TIME_NAMES=convert((-8388608) using cp1251);
|
||||
ERROR HY000: Unknown locale: '-8388608'
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
|
2
mysql-test/r/ctype_eucjpms.result
Executable file → Normal file
2
mysql-test/r/ctype_eucjpms.result
Executable file → Normal file
@ -9859,3 +9859,5 @@ hex(convert(_eucjpms 0xA5FE41 using ucs2))
|
||||
select hex(convert(_eucjpms 0x8FABF841 using ucs2));
|
||||
hex(convert(_eucjpms 0x8FABF841 using ucs2))
|
||||
003F0041
|
||||
set global LC_TIME_NAMES=convert((convert((0x63) using eucjpms)) using utf8);
|
||||
ERROR HY000: Unknown locale: 'c'
|
||||
|
@ -72,3 +72,13 @@ select a from t1 where a like "abcdefgh
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
# Bug #48053 String::c_ptr has a race and/or does an invalid
|
||||
# memory reference
|
||||
# (triggered by Valgrind tests)
|
||||
# (see also ctype_eucjpms.test, ctype_cp1250.test, ctype_cp1251.test)
|
||||
#
|
||||
--error 1193
|
||||
set global LC_MESSAGES=convert((@@global.log_bin_trust_function_creators)
|
||||
using cp1250);
|
||||
|
@ -55,6 +55,16 @@ drop table t1;
|
||||
|
||||
--source include/ctype_8bit.inc
|
||||
|
||||
#
|
||||
# Bug #48053 String::c_ptr has a race and/or does an invalid
|
||||
# memory reference
|
||||
# (triggered by Valgrind tests)
|
||||
# (see also ctype_eucjpms.test, ctype_cp1250.test, ctype_cp1251.test)
|
||||
#
|
||||
--error 1105
|
||||
set global LC_TIME_NAMES=convert((-8388608) using cp1251);
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.1 tests
|
||||
--echo #
|
||||
|
@ -381,3 +381,11 @@ select hex(convert(_eucjpms 0xA5FE41 using ucs2));
|
||||
# the next character, which is a single byte character 0x41.
|
||||
select hex(convert(_eucjpms 0x8FABF841 using ucs2));
|
||||
|
||||
#
|
||||
# Bug #48053 String::c_ptr has a race and/or does an invalid
|
||||
# memory reference
|
||||
# (triggered by Valgrind tests)
|
||||
# (see also ctype_eucjpms.test, ctype_cp1250.test, ctype_cp1251.test)
|
||||
#
|
||||
--error 1105
|
||||
set global LC_TIME_NAMES=convert((convert((0x63) using eucjpms)) using utf8);
|
||||
|
@ -1828,7 +1828,7 @@ bool sys_var::check_set(THD *thd, set_var *var, TYPELIB *enum_names)
|
||||
}
|
||||
|
||||
var->save_result.ulong_value= ((ulong)
|
||||
find_set(enum_names, res->c_ptr(),
|
||||
find_set(enum_names, res->c_ptr_safe(),
|
||||
res->length(),
|
||||
NULL,
|
||||
&error, &error_len,
|
||||
@ -2941,7 +2941,7 @@ bool sys_var_thd_lc_time_names::check(THD *thd, set_var *var)
|
||||
my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name, "NULL");
|
||||
return 1;
|
||||
}
|
||||
const char *locale_str= res->c_ptr();
|
||||
const char *locale_str= res->c_ptr_safe();
|
||||
if (!(locale_match= my_locale_by_name(locale_str)))
|
||||
{
|
||||
my_printf_error(ER_UNKNOWN_ERROR,
|
||||
|
@ -106,6 +106,9 @@ public:
|
||||
inline const char *ptr() const { return Ptr; }
|
||||
inline char *c_ptr()
|
||||
{
|
||||
DBUG_ASSERT(!alloced || !Ptr || !Alloced_length ||
|
||||
(Alloced_length >= (str_length + 1)));
|
||||
|
||||
if (!Ptr || Ptr[str_length]) /* Should be safe */
|
||||
(void) realloc(str_length);
|
||||
return Ptr;
|
||||
|
Loading…
x
Reference in New Issue
Block a user