1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-13 13:01:51 +03:00

Merge with 4.1

This commit is contained in:
monty@mysql.com
2005-05-14 18:31:22 +03:00
25 changed files with 442 additions and 254 deletions

View File

@ -1495,37 +1495,40 @@ const char * STDCALL mysql_character_set_name(MYSQL *mysql)
return mysql->charset->csname;
}
int STDCALL mysql_set_character_set(MYSQL *mysql, char *cs_name)
{
struct charset_info_st *cs;
const char *save_csdir = charsets_dir;
const char *save_csdir= charsets_dir;
if (mysql->options.charset_dir)
charsets_dir = mysql->options.charset_dir;
charsets_dir= mysql->options.charset_dir;
if ( (cs = get_charset_by_csname(cs_name, MY_CS_PRIMARY, MYF(0))) )
if ((cs= get_charset_by_csname(cs_name, MY_CS_PRIMARY, MYF(0))))
{
char buff[MY_CS_NAME_SIZE + 10];
charsets_dir = save_csdir;
charsets_dir= save_csdir;
sprintf(buff, "SET NAMES %s", cs_name);
if (!mysql_query(mysql, buff)) {
mysql->charset = cs;
}
} else {
if (!mysql_query(mysql, buff))
{
mysql->charset= cs;
}
}
else
{
char cs_dir_name[FN_REFLEN];
get_charsets_dir(cs_dir_name);
mysql->net.last_errno=CR_CANT_READ_CHARSET;
mysql->net.last_errno= CR_CANT_READ_CHARSET;
strmov(mysql->net.sqlstate, unknown_sqlstate);
my_snprintf(mysql->net.last_error, sizeof(mysql->net.last_error)-1,
ER(mysql->net.last_errno),
cs_name,
cs_dir_name);
my_snprintf(mysql->net.last_error, sizeof(mysql->net.last_error) - 1,
ER(mysql->net.last_errno), cs_name, cs_dir_name);
}
charsets_dir = save_csdir;
charsets_dir= save_csdir;
return mysql->net.last_errno;
}
uint STDCALL mysql_thread_safe(void)
{
#ifdef THREAD