Commit aee9a548 authored by unknown's avatar unknown

Merge marko@build.mysql.com:/home/bk/mysql-4.0

into hundin.mysql.fi:/home/marko/l/mysql-4.0

parents c98791c7 e35921a1
......@@ -7,25 +7,25 @@
CFG=mysqlclient - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE
!MESSAGE NMAKE /f "mysqlclient.mak".
!MESSAGE
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE
!MESSAGE NMAKE /f "mysqlclient.mak" CFG="mysqlclient - Win32 Debug"
!MESSAGE
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE
!MESSAGE "mysqlclient - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "mysqlclient - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=xicl6.exe
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "mysqlclient - Win32 Release"
......@@ -48,7 +48,7 @@ RSC=rc.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=xilink6.exe -lib
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_release\mysqlclient.lib"
......@@ -72,11 +72,11 @@ LIB32=xilink6.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=xilink6.exe -lib
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\mysqlclient.lib"
!ENDIF
!ENDIF
# Begin Target
......@@ -228,7 +228,7 @@ SOURCE=..\mysys\mf_iocache2.c
# ADD CPP /Od
!ENDIF
!ENDIF
# End Source File
# Begin Source File
......@@ -482,6 +482,10 @@ SOURCE=..\strings\strxmov.c
# End Source File
# Begin Source File
SOURCE=..\strings\strxnmov.c
# End Source File
# Begin Source File
SOURCE=..\mysys\thr_mutex.c
# End Source File
# Begin Source File
......
......@@ -38,6 +38,9 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name mysys
End Project Dependency
}}}
###############################################################################
......
......@@ -56,7 +56,7 @@ static bool get_interval_info(const char *str,uint length,uint count,
{
longlong value;
for (value=0; str != end && isdigit(*str) ; str++)
value=value*10LL + (long) (*str - '0');
value=value*LL(10) + (long) (*str - '0');
values[i]= value;
while (str != end && !isdigit(*str))
str++;
......@@ -1015,9 +1015,9 @@ bool Item_date_add_interval::get_date(TIME *ltime, bool fuzzy_date)
days--;
sec+=3600*LL(24);
}
ltime->second=sec % 60;
ltime->minute=sec/60 % 60;
ltime->hour=sec/3600;
ltime->second= (uint)(sec % 60);
ltime->minute= (uint)(sec/60 % 60);
ltime->hour= (uint)(sec/3600);
daynr= calc_daynr(ltime->year,ltime->month,1) + days;
if ((ulonglong) daynr >= 3652424) // Day number from year 0 to 9999-12-31
goto null_date;
......
......@@ -1862,12 +1862,12 @@ int Query_log_event::exec_event(struct st_relay_log_info* rli)
else
{
slave_print_error(rli,expected_error,
"query '%s' partially completed on the master \
"query partially completed on the master \
(error on master: %d) \
and was aborted. There is a chance that your master is inconsistent at this \
point. If you are sure that your master is ok, run this query manually on the\
slave and then restart the slave with SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;\
START SLAVE; .", thd->query, expected_error);
START SLAVE; . Query: '%s'", expected_error, thd->query);
thd->query_error= 1;
}
goto end;
......@@ -1896,15 +1896,13 @@ point. If you are sure that your master is ok, run this query manually on the\
{
slave_print_error(rli, 0,
"\
Query '%s' caused different errors on master and slave. \
Query caused different errors on master and slave. \
Error on master: '%s' (%d), Error on slave: '%s' (%d). \
Default database: '%s'",
query,
Default database: '%s'. Query: '%s'",
ER_SAFE(expected_error),
expected_error,
actual_error ? thd->net.last_error: "no error",
actual_error,
print_slave_db_safe(db));
actual_error, print_slave_db_safe(db), query);
thd->query_error= 1;
}
/*
......@@ -1919,11 +1917,10 @@ Default database: '%s'",
else if (thd->query_error || thd->fatal_error)
{
slave_print_error(rli,actual_error,
"Error '%s' on query '%s'. Default database: '%s'",
"Error '%s' on query. Default database: '%s'. Query: '%s'",
(actual_error ? thd->net.last_error :
"unexpected success or fatal error"),
query,
print_slave_db_safe(db));
print_slave_db_safe(db), query);
thd->query_error= 1;
}
} /* End of if (db_ok(... */
......
......@@ -3674,7 +3674,7 @@ relay logs",
"Change the value of a variable. Please note that this option is deprecated;you can set variables directly with --variable-name=value.",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"show-slave-auth-info", OPT_SHOW_SLAVE_AUTH_INFO,
"Show user and password in SHOW SLAVE STATUS",
"Show user and password in SHOW SLAVE HOSTS on this master",
(gptr*) &opt_show_slave_auth_info, (gptr*) &opt_show_slave_auth_info, 0,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"concurrent-insert", OPT_CONCURRENT_INSERT,
......
......@@ -1776,7 +1776,7 @@ int register_slave_on_master(MYSQL* mysql)
packet.append((char)0);
if (report_password)
net_store_data(&packet, report_user);
net_store_data(&packet, report_password);
else
packet.append((char)0);
......
......@@ -2255,9 +2255,15 @@ static void mysql_rm_tmp_tables(void)
** Remove all SQLxxx tables from directory
*/
for (idx=2 ; idx < (uint) dirp->number_off_files ; idx++)
for (idx=0 ; idx < (uint) dirp->number_off_files ; idx++)
{
file=dirp->dir_entry+idx;
/* skiping . and .. */
if (file->name[0] == '.' && (!file->name[1] ||
(file->name[1] == '.' && !file->name[2])))
continue;
if (!bcmp(file->name,tmp_file_prefix,tmp_file_prefix_length))
{
sprintf(filePath,"%s%s",mysql_tmpdir,file->name); /* purecov: inspected */
......
......@@ -237,7 +237,7 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db,
tot_list_next= &tot_list;
for (uint idx=2 ;
for (uint idx=0 ;
idx < (uint) dirp->number_off_files && !thd->killed ;
idx++)
{
......@@ -245,6 +245,11 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db,
char *extension;
DBUG_PRINT("info",("Examining: %s", file->name));
/* skiping . and .. */
if (file->name[0] == '.' && (!file->name[1] ||
(file->name[1] == '.' && !file->name[2])))
continue;
/* Check if file is a raid directory */
if ((isdigit(file->name[0]) ||
(file->name[0] >= 'a' && file->name[0] <= 'f')) &&
......
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