mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 23:34:34 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
This commit is contained in:
commit
04890a2e20
5 changed files with 43 additions and 3 deletions
|
@ -1014,7 +1014,7 @@ vi_histedit(EditLine *el, int c)
|
|||
return CC_ERROR;
|
||||
case 0:
|
||||
close(fd);
|
||||
execlp("vi", "vi", tempfile, 0);
|
||||
execlp("vi", "vi", tempfile, (char *) NULL);
|
||||
exit(0);
|
||||
/*NOTREACHED*/
|
||||
default:
|
||||
|
|
|
@ -381,6 +381,7 @@ unsigned int STDCALL mysql_warning_count(MYSQL *mysql);
|
|||
const char * STDCALL mysql_info(MYSQL *mysql);
|
||||
unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
|
||||
const char * STDCALL mysql_character_set_name(MYSQL *mysql);
|
||||
int STDCALL mysql_set_character_set(MYSQL *mysql, char *csname);
|
||||
|
||||
MYSQL * STDCALL mysql_init(MYSQL *mysql);
|
||||
my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,
|
||||
|
|
|
@ -1606,10 +1606,18 @@ row_create_table_for_mysql(
|
|||
trx_general_rollback_for_mysql(trx, FALSE, NULL);
|
||||
|
||||
if (err == DB_OUT_OF_FILE_SPACE) {
|
||||
fputs("InnoDB: Warning: cannot create table ", stderr);
|
||||
ut_print_timestamp(stderr);
|
||||
|
||||
fputs(" InnoDB: Warning: cannot create table ",
|
||||
stderr);
|
||||
ut_print_name(stderr, trx, table->name);
|
||||
fputs(" because tablespace full\n", stderr);
|
||||
row_drop_table_for_mysql(table->name, trx, FALSE);
|
||||
|
||||
if (dict_table_get_low(table->name)) {
|
||||
|
||||
row_drop_table_for_mysql(table->name, trx,
|
||||
FALSE);
|
||||
}
|
||||
|
||||
} else if (err == DB_DUPLICATE_KEY) {
|
||||
ut_print_timestamp(stderr);
|
||||
|
|
|
@ -1509,6 +1509,36 @@ 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;
|
||||
|
||||
if (mysql->options.charset_dir)
|
||||
charsets_dir = mysql->options.charset_dir;
|
||||
|
||||
if ( (cs = get_charset_by_csname(cs_name, MY_CS_PRIMARY, MYF(0))) )
|
||||
{
|
||||
char buff[MY_CS_NAME_SIZE + 10];
|
||||
charsets_dir = save_csdir;
|
||||
sprintf(buff, "SET NAMES %s", cs_name);
|
||||
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;
|
||||
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);
|
||||
|
||||
}
|
||||
charsets_dir = save_csdir;
|
||||
return mysql->net.last_errno;
|
||||
}
|
||||
|
||||
uint STDCALL mysql_thread_safe(void)
|
||||
{
|
||||
|
|
|
@ -146,4 +146,5 @@ EXPORTS
|
|||
mysql_rpl_query_type
|
||||
mysql_slave_query
|
||||
mysql_embedded
|
||||
mysql_set_character_set
|
||||
get_defaults_files
|
||||
|
|
Loading…
Add table
Reference in a new issue