mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Merge mysql.com:/home/mydev/mysql-4.1
into mysql.com:/home/mydev/mysql-4.1-4100
This commit is contained in:
@@ -530,7 +530,11 @@ typedef SOCKET_SIZE_TYPE size_socket;
|
||||
#define FN_LEN 256 /* Max file name len */
|
||||
#define FN_HEADLEN 253 /* Max length of filepart of file name */
|
||||
#define FN_EXTLEN 20 /* Max length of extension (part of FN_LEN) */
|
||||
#ifdef PATH_MAX
|
||||
#define FN_REFLEN PATH_MAX/* Max length of full path-name */
|
||||
#else
|
||||
#define FN_REFLEN 512 /* Max length of full path-name */
|
||||
#endif
|
||||
#define FN_EXTCHAR '.'
|
||||
#define FN_HOMELIB '~' /* ~/ is used as abbrev for home dir */
|
||||
#define FN_CURLIB '.' /* ./ is used as abbrev for current dir */
|
||||
|
||||
@@ -2115,7 +2115,6 @@ String *Item_char_typecast::val_str(String *str)
|
||||
String *res;
|
||||
uint32 length;
|
||||
|
||||
#if 0
|
||||
if (!charset_conversion)
|
||||
{
|
||||
if (!(res= args[0]->val_str(str)))
|
||||
@@ -2125,7 +2124,6 @@ String *Item_char_typecast::val_str(String *str)
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
// Convert character set if differ
|
||||
uint dummy_errors;
|
||||
@@ -2163,9 +2161,18 @@ String *Item_char_typecast::val_str(String *str)
|
||||
void Item_char_typecast::fix_length_and_dec()
|
||||
{
|
||||
uint32 char_length;
|
||||
charset_conversion= !my_charset_same(args[0]->collation.collation, cast_cs) &&
|
||||
args[0]->collation.collation != &my_charset_bin &&
|
||||
cast_cs != &my_charset_bin;
|
||||
/*
|
||||
We always force character set conversion if cast_cs
|
||||
is a multi-byte character set. It garantees that the
|
||||
result of CAST is a well-formed string.
|
||||
For single-byte character sets we allow just to copy
|
||||
from the argument. A single-byte character sets string
|
||||
is always well-formed.
|
||||
*/
|
||||
charset_conversion= (cast_cs->mbmaxlen > 1) ||
|
||||
!my_charset_same(args[0]->collation.collation, cast_cs) &&
|
||||
args[0]->collation.collation != &my_charset_bin &&
|
||||
cast_cs != &my_charset_bin;
|
||||
collation.set(cast_cs, DERIVATION_IMPLICIT);
|
||||
char_length= (cast_length >= 0) ? cast_length :
|
||||
args[0]->max_length/args[0]->collation.collation->mbmaxlen;
|
||||
|
||||
@@ -852,7 +852,7 @@ extern Gt_creator gt_creator;
|
||||
extern Lt_creator lt_creator;
|
||||
extern Ge_creator ge_creator;
|
||||
extern Le_creator le_creator;
|
||||
extern char language[LIBLEN],reg_ext[FN_EXTLEN];
|
||||
extern char language[FN_REFLEN], reg_ext[FN_EXTLEN];
|
||||
extern char glob_hostname[FN_REFLEN], mysql_home[FN_REFLEN];
|
||||
extern char pidfile_name[FN_REFLEN], system_time_zone[30], *opt_init_file;
|
||||
extern char log_error_file[FN_REFLEN];
|
||||
|
||||
@@ -340,7 +340,7 @@ char *default_tz_name;
|
||||
char log_error_file[FN_REFLEN], glob_hostname[FN_REFLEN];
|
||||
char* log_error_file_ptr= log_error_file;
|
||||
char mysql_real_data_home[FN_REFLEN],
|
||||
language[LIBLEN],reg_ext[FN_EXTLEN], mysql_charsets_dir[FN_REFLEN],
|
||||
language[FN_REFLEN], reg_ext[FN_EXTLEN], mysql_charsets_dir[FN_REFLEN],
|
||||
*mysqld_user,*mysqld_chroot, *opt_init_file,
|
||||
*opt_init_connect, *opt_init_slave,
|
||||
def_ft_boolean_syntax[sizeof(ft_boolean_syntax)];
|
||||
|
||||
Reference in New Issue
Block a user