Loading Docs/manual.texi +6 −3 Original line number Diff line number Diff line Loading @@ -19100,7 +19100,8 @@ queries that require MySQL to scan whole tables or you have joins that don't use keys properly. @item If @code{Threads_created} is big, you may want to increase the @code{thread_cache_size} variable. @code{thread_cache_size} variable. The cache hit rate can be calculated with @code{Threads_created}/@code{Connections}. @item If @code{Created_tmp_disk_tables} is big, you may want to increase the @code{tmp_table_size} variable to get the temporary tables memory based Loading Loading @@ -34021,8 +34022,8 @@ or ROW_FORMAT= @{ default | dynamic | fixed | compressed @} or RAID_TYPE= @{1 | STRIPED | RAID0 @} RAID_CHUNKS=# RAID_CHUNKSIZE=# or UNION = (table_name,[table_name...]) or INSERT_METHOD= @{NO | FIRST | LAST @} or DATA DIRECTORY="directory" or INDEX DIRECTORY="directory" or DATA DIRECTORY="absolute path to directory" or INDEX DIRECTORY="absolute path to directory" select_statement: [IGNORE | REPLACE] SELECT ... (Some legal select statement) Loading Loading @@ -47812,6 +47813,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. @itemize @bullet @item Fixed stack overrun problem @code{LOAD DATA FROM MASTER} on OSF1. @item Fixed shutdown problem on HPUX. @item Added functions @code{des_encrypt()} and @code{des_decrypt()}. client/mysqlbinlog.cc +2 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ #include <time.h> #include "log_event.h" #define PROBE_HEADER_LEN (4+EVENT_LEN_OFFSET) #define PROBE_HEADER_LEN (4+EVENT_LEN_OFFSET+4) #define CLIENT_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_LOCAL_FILES) Loading Loading @@ -102,7 +102,7 @@ static void die(const char* fmt, ...) static void print_version() { printf("%s Ver 1.6 for %s at %s\n",my_progname,SYSTEM_TYPE, MACHINE_TYPE); printf("%s Ver 1.7 for %s at %s\n",my_progname,SYSTEM_TYPE, MACHINE_TYPE); } Loading configure.in +2 −2 Original line number Diff line number Diff line Loading @@ -819,8 +819,8 @@ case $SYSTEM_TYPE in ;; *hpux10.20*) echo "Enabling snprintf workaround for hpux 10.20" CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX" CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX" CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX -DSIGNAL_WITH_VIO_CLOSE" CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX -DSIGNAL_WITH_VIO_CLOSE" if test "$with_named_thread" = "no" then echo "Using --with-named-thread=-lpthread" Loading libmysql/libmysql.c +26 −23 Original line number Diff line number Diff line Loading @@ -2208,56 +2208,59 @@ mysql_real_query(MYSQL *mysql, const char *query, ulong length) static int send_file_to_server(MYSQL *mysql, const char *filename) { int fd, readcount; char buf[IO_SIZE*15],*tmp_name; int fd, readcount, result= -1; uint packet_length=MY_ALIGN(mysql->net.max_packet-16,IO_SIZE); char *buf, tmp_name[FN_REFLEN]; DBUG_ENTER("send_file_to_server"); fn_format(buf,filename,"","",4); /* Convert to client format */ if (!(tmp_name=my_strdup(buf,MYF(0)))) if (!(buf=my_malloc(packet_length,MYF(0)))) { strmov(mysql->net.last_error, ER(mysql->net.last_errno=CR_OUT_OF_MEMORY)); DBUG_RETURN(-1); } fn_format(tmp_name,filename,"","",4); /* Convert to client format */ if ((fd = my_open(tmp_name,O_RDONLY, MYF(0))) < 0) { my_net_write(&mysql->net,"",0); /* Server needs one packet */ net_flush(&mysql->net); mysql->net.last_errno=EE_FILENOTFOUND; sprintf(buf,EE(mysql->net.last_errno),tmp_name,errno); strmake(mysql->net.last_error,buf,sizeof(mysql->net.last_error)-1); my_net_write(&mysql->net,"",0); net_flush(&mysql->net); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); snprintf(mysql->net.last_error,sizeof(mysql->net.last_error)-1, EE(mysql->net.last_errno),tmp_name, errno); goto err; } while ((readcount = (int) my_read(fd,buf,sizeof(buf),MYF(0))) > 0) while ((readcount = (int) my_read(fd,(byte*) buf,packet_length,MYF(0))) > 0) { if (my_net_write(&mysql->net,buf,readcount)) { DBUG_PRINT("error",("Lost connection to MySQL server during LOAD DATA of local file")); mysql->net.last_errno=CR_SERVER_LOST; strmov(mysql->net.last_error,ER(mysql->net.last_errno)); DBUG_PRINT("error",("Lost connection to MySQL server during LOAD DATA of local file")); (void) my_close(fd,MYF(0)); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); goto err; } } (void) my_close(fd,MYF(0)); /* Send empty packet to mark end of file */ if (my_net_write(&mysql->net,"",0) || net_flush(&mysql->net)) { mysql->net.last_errno=CR_SERVER_LOST; sprintf(mysql->net.last_error,ER(mysql->net.last_errno),socket_errno); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); sprintf(mysql->net.last_error,ER(mysql->net.last_errno),errno); goto err; } if (readcount < 0) { mysql->net.last_errno=EE_READ; /* the errmsg for not entire file read */ sprintf(buf,EE(mysql->net.last_errno),tmp_name,errno); strmake(mysql->net.last_error,buf,sizeof(mysql->net.last_error)-1); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); snprintf(mysql->net.last_error,sizeof(mysql->net.last_error)-1, tmp_name,errno); goto err; } DBUG_RETURN(0); result=0; /* Ok */ err: if (fd >= 0) (void) my_close(fd,MYF(0)); my_free(buf,MYF(0)); DBUG_RETURN(result); } Loading mysql-test/mysql-test-run.sh +10 −10 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ which () do for dir in $PATH do if test -e $dir/$file if test -f $dir/$file then echo "$dir/$file" continue 2 Loading @@ -49,7 +49,7 @@ sleep_until_file_deleted () loop=$SLEEP_TIME_FOR_DELETE while (test $loop -gt 0) do if [ ! -e $file ] if [ ! -r $file ] then sleep $SLEEP_TIME_AFTER_RESTART return Loading @@ -65,7 +65,7 @@ sleep_until_file_exists () org_time=$2 while (test $loop -gt 0) do if [ -e $file ] if [ -r $file ] then return fi Loading Loading @@ -241,7 +241,7 @@ while test $# -gt 0; do EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;; --sleep=*) EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" SLEEP_TIME_AFTER_RESTART="$1" SLEEP_TIME_AFTER_RESTART=`$ECHO "$1" | $SED -e "s;--sleep=;;"` ;; --mysqld=*) TMP=`$ECHO "$1" | $SED -e "s;--mysqld=;;"` Loading Loading @@ -317,15 +317,15 @@ MANAGER_PID_FILE="$MYRUN_DIR/manager.pid" MASTER_MYDDIR="$MYSQL_TEST_DIR/var/master-data" MASTER_MYSOCK="$MYSQL_TMP_DIR/master.sock" MASTER_MYPID="$MYRUN_DIR/mysqld.pid" MASTER_MYLOG="$MYSQL_TEST_DIR/var/log/mysqld.log" MASTER_MYERR="$MYSQL_TEST_DIR/var/log/mysqld.err" MASTER_MYPID="$MYRUN_DIR/master.pid" MASTER_MYLOG="$MYSQL_TEST_DIR/var/log/master.log" MASTER_MYERR="$MYSQL_TEST_DIR/var/log/master.err" SLAVE_MYDDIR="$MYSQL_TEST_DIR/var/slave-data" SLAVE_MYSOCK="$MYSQL_TMP_DIR/slave.sock" SLAVE_MYPID="$MYRUN_DIR/mysqld-slave.pid" SLAVE_MYLOG="$MYSQL_TEST_DIR/var/log/mysqld-slave.log" SLAVE_MYERR="$MYSQL_TEST_DIR/var/log/mysqld-slave.err" SLAVE_MYPID="$MYRUN_DIR/slave.pid" SLAVE_MYLOG="$MYSQL_TEST_DIR/var/log/slave.log" SLAVE_MYERR="$MYSQL_TEST_DIR/var/log/slave.err" SMALL_SERVER="-O key_buffer_size=1M -O sort_buffer=256K -O max_heap_table_size=1M" Loading Loading
Docs/manual.texi +6 −3 Original line number Diff line number Diff line Loading @@ -19100,7 +19100,8 @@ queries that require MySQL to scan whole tables or you have joins that don't use keys properly. @item If @code{Threads_created} is big, you may want to increase the @code{thread_cache_size} variable. @code{thread_cache_size} variable. The cache hit rate can be calculated with @code{Threads_created}/@code{Connections}. @item If @code{Created_tmp_disk_tables} is big, you may want to increase the @code{tmp_table_size} variable to get the temporary tables memory based Loading Loading @@ -34021,8 +34022,8 @@ or ROW_FORMAT= @{ default | dynamic | fixed | compressed @} or RAID_TYPE= @{1 | STRIPED | RAID0 @} RAID_CHUNKS=# RAID_CHUNKSIZE=# or UNION = (table_name,[table_name...]) or INSERT_METHOD= @{NO | FIRST | LAST @} or DATA DIRECTORY="directory" or INDEX DIRECTORY="directory" or DATA DIRECTORY="absolute path to directory" or INDEX DIRECTORY="absolute path to directory" select_statement: [IGNORE | REPLACE] SELECT ... (Some legal select statement) Loading Loading @@ -47812,6 +47813,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. @itemize @bullet @item Fixed stack overrun problem @code{LOAD DATA FROM MASTER} on OSF1. @item Fixed shutdown problem on HPUX. @item Added functions @code{des_encrypt()} and @code{des_decrypt()}.
client/mysqlbinlog.cc +2 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ #include <time.h> #include "log_event.h" #define PROBE_HEADER_LEN (4+EVENT_LEN_OFFSET) #define PROBE_HEADER_LEN (4+EVENT_LEN_OFFSET+4) #define CLIENT_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_LOCAL_FILES) Loading Loading @@ -102,7 +102,7 @@ static void die(const char* fmt, ...) static void print_version() { printf("%s Ver 1.6 for %s at %s\n",my_progname,SYSTEM_TYPE, MACHINE_TYPE); printf("%s Ver 1.7 for %s at %s\n",my_progname,SYSTEM_TYPE, MACHINE_TYPE); } Loading
configure.in +2 −2 Original line number Diff line number Diff line Loading @@ -819,8 +819,8 @@ case $SYSTEM_TYPE in ;; *hpux10.20*) echo "Enabling snprintf workaround for hpux 10.20" CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX" CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX" CFLAGS="$CFLAGS -DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX -DSIGNAL_WITH_VIO_CLOSE" CXXFLAGS="$CXXFLAGS -DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX -DSIGNAL_WITH_VIO_CLOSE" if test "$with_named_thread" = "no" then echo "Using --with-named-thread=-lpthread" Loading
libmysql/libmysql.c +26 −23 Original line number Diff line number Diff line Loading @@ -2208,56 +2208,59 @@ mysql_real_query(MYSQL *mysql, const char *query, ulong length) static int send_file_to_server(MYSQL *mysql, const char *filename) { int fd, readcount; char buf[IO_SIZE*15],*tmp_name; int fd, readcount, result= -1; uint packet_length=MY_ALIGN(mysql->net.max_packet-16,IO_SIZE); char *buf, tmp_name[FN_REFLEN]; DBUG_ENTER("send_file_to_server"); fn_format(buf,filename,"","",4); /* Convert to client format */ if (!(tmp_name=my_strdup(buf,MYF(0)))) if (!(buf=my_malloc(packet_length,MYF(0)))) { strmov(mysql->net.last_error, ER(mysql->net.last_errno=CR_OUT_OF_MEMORY)); DBUG_RETURN(-1); } fn_format(tmp_name,filename,"","",4); /* Convert to client format */ if ((fd = my_open(tmp_name,O_RDONLY, MYF(0))) < 0) { my_net_write(&mysql->net,"",0); /* Server needs one packet */ net_flush(&mysql->net); mysql->net.last_errno=EE_FILENOTFOUND; sprintf(buf,EE(mysql->net.last_errno),tmp_name,errno); strmake(mysql->net.last_error,buf,sizeof(mysql->net.last_error)-1); my_net_write(&mysql->net,"",0); net_flush(&mysql->net); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); snprintf(mysql->net.last_error,sizeof(mysql->net.last_error)-1, EE(mysql->net.last_errno),tmp_name, errno); goto err; } while ((readcount = (int) my_read(fd,buf,sizeof(buf),MYF(0))) > 0) while ((readcount = (int) my_read(fd,(byte*) buf,packet_length,MYF(0))) > 0) { if (my_net_write(&mysql->net,buf,readcount)) { DBUG_PRINT("error",("Lost connection to MySQL server during LOAD DATA of local file")); mysql->net.last_errno=CR_SERVER_LOST; strmov(mysql->net.last_error,ER(mysql->net.last_errno)); DBUG_PRINT("error",("Lost connection to MySQL server during LOAD DATA of local file")); (void) my_close(fd,MYF(0)); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); goto err; } } (void) my_close(fd,MYF(0)); /* Send empty packet to mark end of file */ if (my_net_write(&mysql->net,"",0) || net_flush(&mysql->net)) { mysql->net.last_errno=CR_SERVER_LOST; sprintf(mysql->net.last_error,ER(mysql->net.last_errno),socket_errno); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); sprintf(mysql->net.last_error,ER(mysql->net.last_errno),errno); goto err; } if (readcount < 0) { mysql->net.last_errno=EE_READ; /* the errmsg for not entire file read */ sprintf(buf,EE(mysql->net.last_errno),tmp_name,errno); strmake(mysql->net.last_error,buf,sizeof(mysql->net.last_error)-1); my_free(tmp_name,MYF(0)); DBUG_RETURN(-1); snprintf(mysql->net.last_error,sizeof(mysql->net.last_error)-1, tmp_name,errno); goto err; } DBUG_RETURN(0); result=0; /* Ok */ err: if (fd >= 0) (void) my_close(fd,MYF(0)); my_free(buf,MYF(0)); DBUG_RETURN(result); } Loading
mysql-test/mysql-test-run.sh +10 −10 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ which () do for dir in $PATH do if test -e $dir/$file if test -f $dir/$file then echo "$dir/$file" continue 2 Loading @@ -49,7 +49,7 @@ sleep_until_file_deleted () loop=$SLEEP_TIME_FOR_DELETE while (test $loop -gt 0) do if [ ! -e $file ] if [ ! -r $file ] then sleep $SLEEP_TIME_AFTER_RESTART return Loading @@ -65,7 +65,7 @@ sleep_until_file_exists () org_time=$2 while (test $loop -gt 0) do if [ -e $file ] if [ -r $file ] then return fi Loading Loading @@ -241,7 +241,7 @@ while test $# -gt 0; do EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;; --sleep=*) EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" SLEEP_TIME_AFTER_RESTART="$1" SLEEP_TIME_AFTER_RESTART=`$ECHO "$1" | $SED -e "s;--sleep=;;"` ;; --mysqld=*) TMP=`$ECHO "$1" | $SED -e "s;--mysqld=;;"` Loading Loading @@ -317,15 +317,15 @@ MANAGER_PID_FILE="$MYRUN_DIR/manager.pid" MASTER_MYDDIR="$MYSQL_TEST_DIR/var/master-data" MASTER_MYSOCK="$MYSQL_TMP_DIR/master.sock" MASTER_MYPID="$MYRUN_DIR/mysqld.pid" MASTER_MYLOG="$MYSQL_TEST_DIR/var/log/mysqld.log" MASTER_MYERR="$MYSQL_TEST_DIR/var/log/mysqld.err" MASTER_MYPID="$MYRUN_DIR/master.pid" MASTER_MYLOG="$MYSQL_TEST_DIR/var/log/master.log" MASTER_MYERR="$MYSQL_TEST_DIR/var/log/master.err" SLAVE_MYDDIR="$MYSQL_TEST_DIR/var/slave-data" SLAVE_MYSOCK="$MYSQL_TMP_DIR/slave.sock" SLAVE_MYPID="$MYRUN_DIR/mysqld-slave.pid" SLAVE_MYLOG="$MYSQL_TEST_DIR/var/log/mysqld-slave.log" SLAVE_MYERR="$MYSQL_TEST_DIR/var/log/mysqld-slave.err" SLAVE_MYPID="$MYRUN_DIR/slave.pid" SLAVE_MYLOG="$MYSQL_TEST_DIR/var/log/slave.log" SLAVE_MYERR="$MYSQL_TEST_DIR/var/log/slave.err" SMALL_SERVER="-O key_buffer_size=1M -O sort_buffer=256K -O max_heap_table_size=1M" Loading