Commit 04890a2e authored by unknown's avatar unknown

Merge bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/home/my/mysql-4.1

parents 2a695127 2b518223
...@@ -1014,7 +1014,7 @@ vi_histedit(EditLine *el, int c) ...@@ -1014,7 +1014,7 @@ vi_histedit(EditLine *el, int c)
return CC_ERROR; return CC_ERROR;
case 0: case 0:
close(fd); close(fd);
execlp("vi", "vi", tempfile, 0); execlp("vi", "vi", tempfile, (char *) NULL);
exit(0); exit(0);
/*NOTREACHED*/ /*NOTREACHED*/
default: default:
......
...@@ -381,6 +381,7 @@ unsigned int STDCALL mysql_warning_count(MYSQL *mysql); ...@@ -381,6 +381,7 @@ unsigned int STDCALL mysql_warning_count(MYSQL *mysql);
const char * STDCALL mysql_info(MYSQL *mysql); const char * STDCALL mysql_info(MYSQL *mysql);
unsigned long STDCALL mysql_thread_id(MYSQL *mysql); unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
const char * STDCALL mysql_character_set_name(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); MYSQL * STDCALL mysql_init(MYSQL *mysql);
my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key, my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,
......
...@@ -1606,10 +1606,18 @@ row_create_table_for_mysql( ...@@ -1606,10 +1606,18 @@ row_create_table_for_mysql(
trx_general_rollback_for_mysql(trx, FALSE, NULL); trx_general_rollback_for_mysql(trx, FALSE, NULL);
if (err == DB_OUT_OF_FILE_SPACE) { 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); ut_print_name(stderr, trx, table->name);
fputs(" because tablespace full\n", stderr); 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) { } else if (err == DB_DUPLICATE_KEY) {
ut_print_timestamp(stderr); ut_print_timestamp(stderr);
......
...@@ -1509,6 +1509,36 @@ const char * STDCALL mysql_character_set_name(MYSQL *mysql) ...@@ -1509,6 +1509,36 @@ const char * STDCALL mysql_character_set_name(MYSQL *mysql)
return mysql->charset->csname; 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) uint STDCALL mysql_thread_safe(void)
{ {
......
...@@ -146,4 +146,5 @@ EXPORTS ...@@ -146,4 +146,5 @@ EXPORTS
mysql_rpl_query_type mysql_rpl_query_type
mysql_slave_query mysql_slave_query
mysql_embedded mysql_embedded
mysql_set_character_set
get_defaults_files get_defaults_files
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment