Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
189d1373
Commit
189d1373
authored
May 21, 2003
by
bar@bar.mysql.r18.ru
Browse files
Options
Browse Files
Download
Plain Diff
Merge abarkov@build.mysql.com:/home/bk/mysql-4.1
into bar.mysql.r18.ru:/usr/home/bar/mysql-4.1
parents
3f1a05d3
7f771ce2
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
37 additions
and
78 deletions
+37
-78
include/my_sys.h
include/my_sys.h
+0
-1
mysql-test/t/ctype_latin1_de-master.opt
mysql-test/t/ctype_latin1_de-master.opt
+1
-1
mysys/charset.c
mysys/charset.c
+0
-67
sql/mysql_priv.h
sql/mysql_priv.h
+1
-1
sql/mysqld.cc
sql/mysqld.cc
+28
-6
sql/set_var.cc
sql/set_var.cc
+6
-2
sql/set_var.h
sql/set_var.h
+1
-0
No files found.
include/my_sys.h
View file @
189d1373
...
...
@@ -216,7 +216,6 @@ extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
extern
CHARSET_INFO
*
get_charset_by_csname
(
const
char
*
cs_name
,
uint
cs_flags
,
myf
my_flags
);
extern
void
free_charsets
(
void
);
extern
char
*
list_charsets
(
myf
want_flags
);
/* my_free() this string... */
extern
char
*
get_charsets_dir
(
char
*
buf
);
extern
my_bool
my_charset_same
(
CHARSET_INFO
*
cs1
,
CHARSET_INFO
*
cs2
);
...
...
mysql-test/t/ctype_latin1_de-master.opt
View file @
189d1373
--default-character-set=latin1_german2_ci
--default-character-set=latin1
--default-collation=latin1
_german2_ci
mysys/charset.c
View file @
189d1373
...
...
@@ -688,70 +688,3 @@ static void charset_append(DYNAMIC_STRING *s, const char *name)
dynstr_append
(
s
,
" "
);
}
}
/* Returns a dynamically-allocated string listing the character sets
requested. The caller is responsible for freeing the memory. */
char
*
list_charsets
(
myf
want_flags
)
{
DYNAMIC_STRING
s
;
char
*
p
;
(
void
)
init_available_charsets
(
MYF
(
0
));
init_dynamic_string
(
&
s
,
NullS
,
256
,
1024
);
if
(
want_flags
&
MY_CS_COMPILED
)
{
CHARSET_INFO
**
cs
;
for
(
cs
=
all_charsets
;
cs
<
all_charsets
+
255
;
cs
++
)
{
if
(
cs
[
0
])
{
dynstr_append
(
&
s
,
cs
[
0
]
->
name
);
dynstr_append
(
&
s
,
" "
);
}
}
}
if
(
want_flags
&
MY_CS_CONFIG
)
{
CHARSET_INFO
**
cs
;
char
buf
[
FN_REFLEN
];
MY_STAT
status
;
for
(
cs
=
all_charsets
;
cs
<
all_charsets
+
255
;
cs
++
)
{
if
(
!
cs
[
0
]
||
!
cs
[
0
]
->
name
||
charset_in_string
(
cs
[
0
]
->
name
,
&
s
))
continue
;
get_charset_conf_name
(
cs
[
0
]
->
name
,
buf
);
if
(
!
my_stat
(
buf
,
&
status
,
MYF
(
0
)))
continue
;
/* conf file doesn't exist */
dynstr_append
(
&
s
,
cs
[
0
]
->
name
);
dynstr_append
(
&
s
,
" "
);
}
}
if
(
want_flags
&
(
MY_CS_INDEX
|
MY_CS_LOADED
))
{
CHARSET_INFO
**
cs
;
for
(
cs
=
all_charsets
;
cs
<
all_charsets
+
255
;
cs
++
)
if
(
cs
[
0
]
&&
cs
[
0
]
->
name
&&
(
cs
[
0
]
->
state
&
want_flags
)
)
charset_append
(
&
s
,
cs
[
0
]
->
name
);
}
if
(
s
.
length
)
{
s
.
str
[
s
.
length
-
1
]
=
'\0'
;
/* chop trailing space */
p
=
my_strdup
(
s
.
str
,
MYF
(
MY_WME
));
}
else
{
p
=
my_strdup
(
""
,
MYF
(
MY_WME
));
}
dynstr_free
(
&
s
);
return
p
;
}
sql/mysql_priv.h
View file @
189d1373
...
...
@@ -678,7 +678,7 @@ bool open_log(MYSQL_LOG *log, const char *hostname,
extern
time_t
start_time
;
extern
char
*
mysql_data_home
,
server_version
[
SERVER_VERSION_LENGTH
],
mysql_real_data_home
[],
*
charsets_list
,
*
opt_mysql_tmpdir
;
mysql_real_data_home
[],
*
opt_mysql_tmpdir
;
#define mysql_tmpdir (my_tmpdir(&mysql_tmpdir_list))
extern
MY_TMPDIR
mysql_tmpdir_list
;
extern
const
char
*
command_name
[];
...
...
sql/mysqld.cc
View file @
189d1373
...
...
@@ -420,11 +420,12 @@ ulong expire_logs_days = 0;
char
mysql_real_data_home
[
FN_REFLEN
],
language
[
LIBLEN
],
reg_ext
[
FN_EXTLEN
],
mysql_charsets_dir
[
FN_REFLEN
],
*
charsets_list
,
mysql_charsets_dir
[
FN_REFLEN
],
blob_newline
,
f_fyllchar
,
max_sort_char
,
*
mysqld_user
,
*
mysqld_chroot
,
*
opt_init_file
;
char
*
language_ptr
=
language
;
char
mysql_data_home_buff
[
2
],
*
mysql_data_home
=
mysql_real_data_home
;
char
*
default_collation_name
=
(
char
*
)
default_charset_info
->
name
;
#ifndef EMBEDDED_LIBRARY
bool
mysql_embedded
=
0
;
#else
...
...
@@ -941,7 +942,6 @@ void clean_up(bool print_message)
#endif
if
(
defaults_argv
)
free_defaults
(
defaults_argv
);
my_free
(
charsets_list
,
MYF
(
MY_ALLOW_ZERO_PTR
));
free_tmpdir
(
&
mysql_tmpdir_list
);
#ifdef HAVE_REPLICATION
my_free
(
slave_load_tmpdir
,
MYF
(
MY_ALLOW_ZERO_PTR
));
...
...
@@ -2088,14 +2088,28 @@ static int init_common_variables(const char *conf_file_name, int argc,
#ifdef USE_REGEX
regex_init
(
&
my_charset_latin1
);
#endif
if
(
!
(
default_charset_info
=
get_charset_by_name
(
sys_charset
.
value
,
MYF
(
MY_WME
))))
if
(
!
(
default_charset_info
=
get_charset_by_csname
(
sys_charset
.
value
,
MY_CS_PRIMARY
,
MYF
(
MY_WME
))))
return
1
;
if
(
default_collation_name
)
{
CHARSET_INFO
*
default_collation
=
get_charset_by_name
(
default_collation_name
,
MYF
(
0
));
if
(
!
default_collation
||
!
my_charset_same
(
default_charset_info
,
default_collation
))
{
sql_print_error
(
ER
(
ER_COLLATION_CHARSET_MISMATCH
),
default_collation_name
,
default_charset_info
->
csname
);
return
1
;
}
default_charset_info
=
default_collation
;
}
global_system_variables
.
collation_results
=
default_charset_info
;
global_system_variables
.
collation_client
=
default_charset_info
;
global_system_variables
.
collation_connection
=
default_charset_info
;
charsets_list
=
list_charsets
(
MYF
(
MY_CS_COMPILED
|
MY_CS_CONFIG
));
if
(
use_temp_pool
&&
bitmap_init
(
&
temp_pool
,
1024
,
1
))
return
1
;
return
0
;
...
...
@@ -3492,7 +3506,8 @@ enum options
OPT_OLD_PASSWORDS
,
OPT_EXPIRE_LOGS_DAYS
,
OPT_DEFAULT_WEEK_FORMAT
,
OPT_GROUP_CONCAT_MAX_LEN
OPT_GROUP_CONCAT_MAX_LEN
,
OPT_DEFAULT_COLLATION
};
...
...
@@ -3581,6 +3596,9 @@ Disable with --skip-bdb (will save memory)",
{
"default-character-set"
,
'C'
,
"Set the default character set"
,
(
gptr
*
)
&
sys_charset
.
value
,
(
gptr
*
)
&
sys_charset
.
value
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"default-collation"
,
OPT_DEFAULT_COLLATION
,
"Set the default collation"
,
(
gptr
*
)
&
default_collation_name
,
(
gptr
*
)
&
default_collation_name
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"default-table-type"
,
OPT_TABLE_TYPE
,
"Set the default table type for tables"
,
0
,
0
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
...
...
@@ -4586,6 +4604,7 @@ static void set_options(void)
#endif
sys_charset
.
value
=
(
char
*
)
MYSQL_CHARSET
;
sys_charset_system
.
value
=
(
char
*
)
system_charset_info
->
csname
;
(
void
)
strmake
(
language
,
LANGUAGE
,
sizeof
(
language
)
-
1
);
(
void
)
strmake
(
mysql_real_data_home
,
get_relative_path
(
DATADIR
),
sizeof
(
mysql_real_data_home
)
-
1
);
...
...
@@ -4643,6 +4662,9 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
case
'b'
:
strmake
(
mysql_home
,
argument
,
sizeof
(
mysql_home
)
-
1
);
break
;
case
'C'
:
default_collation_name
=
NULL
;
break
;
case
'l'
:
opt_log
=
1
;
break
;
...
...
sql/set_var.cc
View file @
189d1373
...
...
@@ -105,6 +105,10 @@ sys_var_str sys_charset("character_set",
sys_check_charset
,
sys_update_charset
,
sys_set_default_charset
);
sys_var_str
sys_charset_system
(
"character_set_system"
,
sys_check_charset
,
sys_update_charset
,
sys_set_default_charset
);
sys_var_collation_client
sys_collation_client
(
"collation_client"
);
sys_var_collation_connection
sys_collation_connection
(
"collation_connection"
);
sys_var_collation_results
sys_collation_results
(
"collation_results"
);
...
...
@@ -463,8 +467,8 @@ struct show_var_st init_vars[]= {
#endif
{
sys_binlog_cache_size
.
name
,(
char
*
)
&
sys_binlog_cache_size
,
SHOW_SYS
},
{
sys_bulk_insert_buff_size
.
name
,(
char
*
)
&
sys_bulk_insert_buff_size
,
SHOW_SYS
},
{
sys_charset
.
name
,
(
char
*
)
&
sys_charset
,
SHOW_SYS
},
{
"character_sets"
,
(
char
*
)
&
charsets_list
,
SHOW_CHAR_PTR
},
{
sys_charset
.
name
,
(
char
*
)
&
sys_charset
,
SHOW_SYS
},
{
sys_charset_system
.
name
,
(
char
*
)
&
sys_charset_system
,
SHOW_SYS
},
{
sys_collation_client
.
name
,
(
char
*
)
&
sys_collation_client
,
SHOW_SYS
},
{
sys_collation_connection
.
name
,(
char
*
)
&
sys_collation_connection
,
SHOW_SYS
},
{
sys_collation_results
.
name
,
(
char
*
)
&
sys_collation_results
,
SHOW_SYS
},
...
...
sql/set_var.h
View file @
189d1373
...
...
@@ -582,4 +582,5 @@ int sql_set_variables(THD *thd, List<set_var_base> *var_list);
void
fix_delay_key_write
(
THD
*
thd
,
enum_var_type
type
);
extern
sys_var_str
sys_charset
;
extern
sys_var_str
sys_charset_system
;
CHARSET_INFO
*
get_old_charset_by_name
(
const
char
*
old_name
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment