Commit 713c6c06 authored by paul@central.snake.net's avatar paul@central.snake.net
Browse files

Merge paul@work.mysql.com:/home/bk/mysql

into central.snake.net:/usr/users/paul/mysql
parents d215c9fa 99c7cbe9
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -43,7 +43,10 @@ END-INFO-DIR-ENTRY
@sp 10
@center @titlefont{@strong{MySQL} Reference Manual}
@sp 10
@center Copyright @copyright{} 1997, 1998, 1999, 2000 TcX AB, Detron HB and MySQL Finland AB
@center Copyright @copyright{} 1997-2000 TcX AB, Detron HB and MySQL Finland AB
@c blank page after title page makes page 1 be a page front.
@c also makes the back of the title page blank.
@page
@end titlepage
@c This should be added. The HTML conversion also needs a MySQL version
@@ -28413,18 +28416,18 @@ aren't specified. Another way to around this bug is to upgrade to
MyODBC 2.50.33 and @strong{MySQL} 3.23.x, which together provides a
workaround for this bug!
@item
Set the `Return matching rows' MyODBC option field when connecting to
Set the ``Return matching rows'' MyODBC option field when connecting to
@strong{MySQL}.
@item
You should have a primary key in the table;  If not, new or updated rows
may chow up as @code{#Deleted#}.
may show up as @code{#Deleted#}.
@item
You should have a timestamp in all tables you want to be able to update.
For maximum portability @code{TIMESTAMP(14)} or simple @code{TIMESTAMP}
is recommended instead of other @code{TIMESTAMP(X)} variations.
@item
Only use double float fields. Access fails when comparing with single floats.
The symptom usually is that new or updated rows may chow up as @code{#Deleted#}
The symptom usually is that new or updated rows may show up as @code{#Deleted#}
or that you can't find or update rows.
@item
If you still get the error @code{Another user has changed your data} after
+2 −2
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ extern bool opt_log_slave_updates ;

static inline bool slave_killed(THD* thd);
static int init_slave_thread(THD* thd);
static int init_master_info(MASTER_INFO* mi);
int init_master_info(MASTER_INFO* mi);
static void safe_connect(THD* thd, MYSQL* mysql, MASTER_INFO* mi);
static void safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi);
static int safe_sleep(THD* thd, int sec);
@@ -249,7 +249,7 @@ int fetch_nx_table(THD* thd, MASTER_INFO* mi)
  return error;
}

static int init_master_info(MASTER_INFO* mi)
int init_master_info(MASTER_INFO* mi)
{
  FILE* file;
  MY_STAT stat_area;
+6 −2
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ static int change_master(THD* thd);
static void reset_slave();
static void reset_master();

extern int init_master_info(MASTER_INFO* mi);

static const char *any_db="*any*";	// Special symbol for check_access

@@ -2462,7 +2463,7 @@ static int start_slave(THD* thd , bool net_report)
    return 1;
  pthread_mutex_lock(&LOCK_slave);
  if(!slave_running)
    if(master_host)
    if(glob_mi.inited && glob_mi.host)
      {
	pthread_t hThread;
	if(pthread_create(&hThread, &connection_attrib, handle_slave, 0))
@@ -2471,7 +2472,7 @@ static int start_slave(THD* thd , bool net_report)
	  }
      }
    else
      err = "Master host not set";
      err = "Master host not set or master info not initialized";
  else
    err =  "Slave already running";

@@ -2557,6 +2558,9 @@ static int change_master(THD* thd)
  thd->proc_info = "changing master";
  LEX_MASTER_INFO* lex_mi = &thd->lex.mi;

  if(!glob_mi.inited)
    init_master_info(&glob_mi);
  
  pthread_mutex_lock(&glob_mi.lock);
  if((lex_mi->host || lex_mi->port) && !lex_mi->log_file_name && !lex_mi->pos)
    {