Commit fe302e58 authored by unknown's avatar unknown
Browse files

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

into mysql.com:/Users/kent/mysql/cw/mysql-4.1

parents 89ef3990 78f2e7b5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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:
+1 −0
Original line number Diff line number Diff line
@@ -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,
+10 −2
Original line number Diff line number Diff line
@@ -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);
+38 −2
Original line number Diff line number Diff line
@@ -1510,6 +1510,39 @@ const char * STDCALL mysql_character_set_name(MYSQL *mysql)
}


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)
{
#ifdef THREAD
@@ -3914,8 +3947,11 @@ my_bool STDCALL mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)
  /*
    We only need to check that stmt->field_count - if it is not null
    stmt->bind was initialized in mysql_stmt_prepare
    stmt->bind overlaps with bind if mysql_stmt_bind_param
    is called from mysql_stmt_store_result.
  */

  if (stmt->bind != bind)
    memcpy((char*) stmt->bind, (char*) bind, sizeof(MYSQL_BIND) * bind_count);

  for (param= stmt->bind, end= param + bind_count, field= stmt->fields ;
+1 −0
Original line number Diff line number Diff line
@@ -146,4 +146,5 @@ EXPORTS
	mysql_rpl_query_type
	mysql_slave_query
	mysql_embedded
	mysql_set_character_set
	get_defaults_files
Loading