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

Merge mysql.sashanet.com:/home/sasha/src/bk/mysql

into mysql.sashanet.com:/home/sasha/src/bk/mysql-4.0


BitKeeper/etc/logging_ok:
  auto-union
sql/slave.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
This commit is contained in:
unknown 2001-05-31 17:25:41 -06:00
commit 980262092a
5 changed files with 33 additions and 10 deletions

View File

@ -1,6 +1,7 @@
heikki@donna.mysql.fi
jani@janikt.pp.saunalahti.fi jani@janikt.pp.saunalahti.fi
monty@hundin.mysql.fi monty@hundin.mysql.fi
monty@work.mysql.com
mwagner@evoq.mwagner.org mwagner@evoq.mwagner.org
sasha@mysql.sashanet.com sasha@mysql.sashanet.com
tonu@hundin.mysql.fi tonu@hundin.mysql.fi
monty@work.mysql.com

View File

@ -94,10 +94,12 @@ mutex_test_and_set(
/* In assembly we use the so-called AT & T syntax where /* In assembly we use the so-called AT & T syntax where
the order of operands is inverted compared to the ordinary Intel the order of operands is inverted compared to the ordinary Intel
syntax. The 'l' after the mnemonics denotes a 32-bit operation. */ syntax. The 'l' after the mnemonics denotes a 32-bit operation.
The line after the code tells which values come out of the asm
code, and the second line tells the input to the asm code. */
asm volatile("movl $1, %%eax; xchgl (%%ecx), %%eax" : asm volatile("movl $1, %%eax; xchgl (%%ecx), %%eax" :
"=eax" (res): "=eax" (res), "=m" (*lw) :
"ecx" (lw)); "ecx" (lw));
return(res); return(res);
#else #else
@ -132,12 +134,26 @@ mutex_reset_lock_word(
__asm MOV EDX, 0 __asm MOV EDX, 0
__asm MOV ECX, lw __asm MOV ECX, lw
__asm XCHG EDX, DWORD PTR [ECX] __asm XCHG EDX, DWORD PTR [ECX]
#elif defined(__GNUC__) && defined(UNIV_INTEL_X86)
ulint* lw;
lw = &(mutex->lock_word);
/* In assembly we use the so-called AT & T syntax where
the order of operands is inverted compared to the ordinary Intel
syntax. The 'l' after the mnemonics denotes a 32-bit operation. */
asm volatile("movl $0, %%eax; xchgl (%%ecx), %%eax" :
"=m" (*lw) :
"ecx" (lw) :
"eax"); /* gcc does not seem to understand
that our asm code resets eax: tell it
explicitly that after the third ':' */
#else #else
mutex->lock_word = 0; mutex->lock_word = 0;
#if !(defined(__GNUC__) && defined(UNIV_INTEL_X86))
os_fast_mutex_unlock(&(mutex->os_fast_mutex)); os_fast_mutex_unlock(&(mutex->os_fast_mutex));
#endif #endif
#endif
} }
/********************************************************************** /**********************************************************************

View File

@ -970,9 +970,10 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
(actual_error = thd->net.last_errno) && expected_error) (actual_error = thd->net.last_errno) && expected_error)
{ {
const char* errmsg = "Slave: did not get the expected error\ const char* errmsg = "Slave: did not get the expected error\
running query from master - expected: '%s', got '%s'"; running query from master - expected: '%s'(%d), got '%s'(%d)";
sql_print_error(errmsg, ER(expected_error), sql_print_error(errmsg, ER(expected_error), expected_error,
actual_error ? thd->net.last_error:"no error" actual_error ? thd->net.last_error:"no error",
actual_error
); );
thd->query_error = 1; thd->query_error = 1;
} }

View File

@ -764,14 +764,18 @@ int change_master(THD* thd)
// if we change host or port, we must reset the postion // if we change host or port, we must reset the postion
glob_mi.log_file_name[0] = 0; glob_mi.log_file_name[0] = 0;
glob_mi.pos = 4; // skip magic number glob_mi.pos = 4; // skip magic number
glob_mi.pending = 0;
} }
if(lex_mi->log_file_name) if(lex_mi->log_file_name)
strmake(glob_mi.log_file_name, lex_mi->log_file_name, strmake(glob_mi.log_file_name, lex_mi->log_file_name,
sizeof(glob_mi.log_file_name)); sizeof(glob_mi.log_file_name));
if(lex_mi->pos) if(lex_mi->pos)
{
glob_mi.pos = lex_mi->pos; glob_mi.pos = lex_mi->pos;
glob_mi.pending = 0;
}
if(lex_mi->host) if(lex_mi->host)
{ {
strmake(glob_mi.host, lex_mi->host, sizeof(glob_mi.host)); strmake(glob_mi.host, lex_mi->host, sizeof(glob_mi.host));

View File

@ -37,7 +37,8 @@
#define SHAREDIR "share/" #define SHAREDIR "share/"
#endif #endif
#define ER(X) errmesg[(X)-1000] #define ER(X) ((X) >= 1000 && (X) < ER_ERROR_MESSAGES + 1000) ? \
errmesg[(X)-1000] : "Invalid error code"
#define ERRMAPP 1 /* Errormap f|r my_error */ #define ERRMAPP 1 /* Errormap f|r my_error */
#define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */ #define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */