Loading Docs/manual.texi +24 −15 Original line number Diff line number Diff line Loading @@ -6147,6 +6147,9 @@ and are configured with the following compilers and options: @item SunOS 5.6 i86pc with @code{gcc} 2.8.1 @code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex} @item Solaris 2.8 sparc with @code{gcc 2.95.3} @code{CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql "--with-comment=Official MySQL binary" --with-extra-charsets=complex "--with-server-suffix=" --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared} @item Linux 2.0.33 i386 with @code{pgcc} 2.90.29 (@code{egcs} 1.0.3a) @code{CFLAGS="-O3 -mpentium -mstack-align-double" CXX=gcc CXXFLAGS="-O3 -mpentium -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-extra-charsets=complex} Loading Loading @@ -10899,16 +10902,10 @@ CC=gcc CXX=gcc ./configure ... (options) @enumerate @item For OpenServer 5.0.X you need to use GDS in Skunkware 95 (95q4c). This is necessary because GNU @code{gcc} 2.7.2 in Skunkware 97 does not have GNU @code{as}. You can also use @code{egcs} 1.1.2 or newer @uref{http://www.egcs.com/}. If you are using @code{egcs} 1.1.2 you have to execute the following command: @example shell> cp -p /usr/include/pthread/stdtypes.h \ /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/ @end example For OpenServer 5.0.X you need to use gcc-2.95.2p1 or newer from the Skunkware. http://www.caldera.com/skunkware/ and choose browser OpenServer packages or by ftp to ftp2.caldera.com in the pub/skunkware/osr5/devtools/gcc directory. @item You need the port of GCC 2.5.x for this product and the Development Loading Loading @@ -10994,7 +10991,6 @@ MySQL should automatically detect FSU Pthreads and link @code{mysqld} with @code{-lgthreads -lsocket -lgthreads}. @item The Caldera (SCO) development libraries are re-entrant in FSU Pthreads. Caldera claim sthat its libraries' functions are re-entrant, so they must be reentrant with FSU Pthreads. FSU Pthreads on OpenServer tries to use Loading Loading @@ -11064,7 +11060,18 @@ CC=cc CXX=CC ./configure --prefix=/usr/local/mysql If you want to use @code{gcc}, you must use @code{gcc} 2.95.2 or newer. Caldera provides libsocket.so.2 at @uref{ftp://stage.caldera.com/pub/security/tools} for pre-OSR506 security fixes. Also, the telnetd fix at @url{ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/} as both libsocket.so.2 and libresolv.so.1 with instructions for installing on pre-OSR506 systems. It's probably a good idea to install the above patches before trying to compile/use MySQL. @node OS/2, BeOS, Other Unix Notes, Operating System Specific Notes @subsection OS/2 Notes MySQL uses quite a few open files. Because of this, you should add Loading Loading @@ -46625,7 +46632,7 @@ Many crashes of MySQL are caused by corrupted index / data files. MySQL will update the data on disk, with the @code{write()} system call, after every SQL statement and before the client is notified about the result. (This is not true if you are running with @code{delayed_key_writes}, in which case only the data is written.) with @code{delay_key_write}, in which case only the data is written.) This means that the data is safe even if @code{mysqld} crashes, as the OS will ensure that the not flushed data is written to disk. You can force MySQL to sync everything to disk after every SQL command by Loading Loading @@ -48911,6 +48918,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. @itemize @bullet @item @code{INET_NTOA()} now returns @code{NULL} if you give it a too big argument. @item Fix @code{SQL_CALC_FOUND_ROWS} to work with @code{UNION}s. It will work only if the first @code{SELECT} has this option and if there is global @code{LIMIT} for the entire statement. For the moment, this requires using parentheses for Loading Loading @@ -49351,7 +49360,7 @@ not yet 100% confident in this code. @item Fixed @code{SIGINT} and @code{SIGQUIT} problems in @code{mysql}. @item Fixed bug in character table converts. Fixed bug in character table converts when used with big ( > 64K) strings. @end itemize @node News-3.23.50, News-3.23.49, News-3.23.51, News-3.23.x Loading Loading @@ -51248,7 +51257,7 @@ Put @code{CREATE TEMPORARY TABLE} commands in the update log. @item Fixed bug in handling of masked IP numbers in the privilege tables. @item Fixed bug with @code{delayed_key_writes} tables and @code{CHECK TABLE}. Fixed bug with @code{delay_key_write} tables and @code{CHECK TABLE}. @item Added @code{replicate-do-db} and @code{replicate-ignore-db} options to @code{mysqld}, to restrict which databases get replicated. Loading Loading @@ -51642,7 +51651,7 @@ threads are reading from the table. Added @code{max_write_lock_count} variable to @code{mysqld} to force a @code{READ} lock after a certain number of @code{WRITE} locks. @item Inverted flag @code{delayed_key_write} on @code{show variables}. Inverted flag @code{delay_key_write} on @code{show variables}. @item Renamed @code{concurrency} variable to @code{thread_concurrency}. @item client/mysql.cc +0 −1 Original line number Diff line number Diff line Loading @@ -342,7 +342,6 @@ int main(int argc,char *argv[]) if (!status.batch) ignore_errors=1; // Don't abort monitor signal(SIGINT, mysql_end); // Catch SIGINT to clean up signal(SIGQUIT, mysql_end); // Catch SIGQUIT to clean up /* ** Run in interactive mode like the ingres/postgres monitor Loading include/my_base.h +5 −3 Original line number Diff line number Diff line Loading @@ -67,9 +67,11 @@ enum ha_rkey_function { /* Key algorithm types */ enum ha_key_alg { HA_KEY_ALG_BTREE=0, /* B-tree, default one */ HA_KEY_ALG_RTREE=1, /* R-tree, for spatial searches */ HA_KEY_ALG_HASH=2 /* HASH keys (HEAP tables) */ HA_KEY_ALG_UNDEF= 0, /* Not specified (old file) */ HA_KEY_ALG_BTREE= 1, /* B-tree, default one */ HA_KEY_ALG_RTREE= 2, /* R-tree, for spatial searches */ HA_KEY_ALG_HASH= 3, /* HASH keys (HEAP tables) */ HA_KEY_ALG_FULLTEXT= 4 /* FULLTEXT (MyISAM tables) */ }; /* The following is parameter to ha_extra() */ Loading libmysql/net.c +31 −21 Original line number Diff line number Diff line Loading @@ -54,32 +54,32 @@ ulong max_allowed_packet=65536; extern ulong net_read_timeout,net_write_timeout; extern uint test_flags; #define USE_QUERY_CACHE extern void query_cache_insert(NET *net, const char *packet, ulong length); #else ulong max_allowed_packet=16*1024*1024L; ulong net_read_timeout= NET_READ_TIMEOUT; ulong net_write_timeout= NET_WRITE_TIMEOUT; #endif #ifdef __WIN__ #if defined(__WIN__) || !defined(MYSQL_SERVER) /* The following is because alarms doesn't work on windows. */ #undef MYSQL_SERVER #define NO_ALARM #endif #ifdef MYSQL_SERVER #ifndef NO_ALARM #include "my_pthread.h" void sql_print_error(const char *format,...); #define RETRY_COUNT mysqld_net_retry_count extern ulong mysqld_net_retry_count; extern ulong bytes_sent, bytes_received; extern pthread_mutex_t LOCK_bytes_sent , LOCK_bytes_received; extern void query_cache_insert(NET *net, const char *packet, ulong length); #else #undef statistic_add #define statistic_add(A,B,C) #define DONT_USE_THR_ALARM #define RETRY_COUNT 1 #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ #include "thr_alarm.h" Loading Loading @@ -167,7 +167,7 @@ static my_bool net_realloc(NET *net, ulong length) void net_clear(NET *net) { #ifndef EXTRA_DEBUG #if !defined(EXTRA_DEBUG) && !defined(EMBEDDED_LIBRARY) int count; /* One may get 'unused' warn */ bool is_blocking=vio_is_blocking(net->vio); if (is_blocking) Loading Loading @@ -322,14 +322,15 @@ net_real_write(NET *net,const char *packet,ulong len) long int length; char *pos,*end; thr_alarm_t alarmed; #if defined(MYSQL_SERVER) #ifndef NO_ALARM ALARM alarm_buff; #endif uint retry_count=0; my_bool net_blocking = vio_is_blocking(net->vio); DBUG_ENTER("net_real_write"); #ifdef MYSQL_SERVER #if defined(MYSQL_SERVER) && defined(HAVE_QUERY_CACHE) if (net->query_cache_query != 0) query_cache_insert(net, packet, len); #endif Loading Loading @@ -370,13 +371,13 @@ net_real_write(NET *net,const char *packet,ulong len) #endif /* HAVE_COMPRESS */ /* DBUG_DUMP("net",packet,len); */ #ifdef MYSQL_SERVER #ifndef NO_ALARM thr_alarm_init(&alarmed); if (net_blocking) thr_alarm(&alarmed,(uint) net_write_timeout,&alarm_buff); #else alarmed=0; #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ pos=(char*) packet; end=pos+len; while (pos != end) Loading Loading @@ -458,8 +459,7 @@ net_real_write(NET *net,const char *packet,ulong len) ** Read something from server/clinet *****************************************************************************/ #ifdef MYSQL_SERVER #ifndef NO_ALARM /* Help function to clear the commuication buffer when we get a too big packet Loading Loading @@ -492,7 +492,7 @@ static void my_net_skip_rest(NET *net, uint32 remain, thr_alarm_t *alarmed) statistic_add(bytes_received,length,&LOCK_bytes_received); } } #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ /* Loading @@ -509,7 +509,7 @@ my_real_read(NET *net, ulong *complen) uint i,retry_count=0; ulong len=packet_error; thr_alarm_t alarmed; #if defined(MYSQL_SERVER) #ifndef NO_ALARM ALARM alarm_buff; #endif my_bool net_blocking=vio_is_blocking(net->vio); Loading @@ -519,10 +519,10 @@ my_real_read(NET *net, ulong *complen) net->reading_or_writing=1; thr_alarm_init(&alarmed); #ifdef MYSQL_SERVER #ifndef NO_ALARM if (net_blocking) thr_alarm(&alarmed,net->timeout,&alarm_buff); #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ pos = net->buff + net->where_b; /* net->packet -4 */ for (i=0 ; i < 2 ; i++) Loading Loading @@ -645,7 +645,7 @@ my_real_read(NET *net, ulong *complen) { if (net_realloc(net,helping)) { #ifdef MYSQL_SERVER #ifndef NO_ALARM if (i == 1) my_net_skip_rest(net, (uint32) len, &alarmed); #endif Loading Loading @@ -814,3 +814,13 @@ my_net_read(NET *net) #endif /* HAVE_COMPRESS */ return len; } int net_request_file(NET* net, const char* fname) { char tmp [FN_REFLEN+1],*end; DBUG_ENTER("net_request_file"); tmp[0] = (char) 251; /* NULL_LENGTH */ end=strnmov(tmp+1,fname,sizeof(tmp)-2); DBUG_RETURN(my_net_write(net,tmp,(uint) (end-tmp)) || net_flush(net)); } mysql-test/r/func_misc.result +2 −2 Original line number Diff line number Diff line Loading @@ -3,10 +3,10 @@ format(1.5555,0) format(123.5555,1) format(1234.5555,2) format(12345.5555,3) for 2 123.6 1,234.56 12,345.556 123,456.5555 1,234,567.55550 12,345.24 select inet_ntoa(inet_aton("255.255.255.255.255.255.255.255")); inet_ntoa(inet_aton("255.255.255.255.255.255.255.255")) 255.255.255.255.255.255.255.255 NULL select inet_aton("255.255.255.255.255"),inet_aton("255.255.1.255"),inet_aton("0.1.255"); inet_aton("255.255.255.255.255") inet_aton("255.255.1.255") inet_aton("0.1.255") 1099511627775 4294902271 511 select inet_ntoa(1099511627775),inet_ntoa(4294902271),inet_ntoa(511); inet_ntoa(1099511627775) inet_ntoa(4294902271) inet_ntoa(511) 255.255.255.255.255 255.255.1.255 0.0.1.255 NULL 255.255.1.255 0.0.1.255 Loading
Docs/manual.texi +24 −15 Original line number Diff line number Diff line Loading @@ -6147,6 +6147,9 @@ and are configured with the following compilers and options: @item SunOS 5.6 i86pc with @code{gcc} 2.8.1 @code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex} @item Solaris 2.8 sparc with @code{gcc 2.95.3} @code{CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql "--with-comment=Official MySQL binary" --with-extra-charsets=complex "--with-server-suffix=" --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared} @item Linux 2.0.33 i386 with @code{pgcc} 2.90.29 (@code{egcs} 1.0.3a) @code{CFLAGS="-O3 -mpentium -mstack-align-double" CXX=gcc CXXFLAGS="-O3 -mpentium -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-extra-charsets=complex} Loading Loading @@ -10899,16 +10902,10 @@ CC=gcc CXX=gcc ./configure ... (options) @enumerate @item For OpenServer 5.0.X you need to use GDS in Skunkware 95 (95q4c). This is necessary because GNU @code{gcc} 2.7.2 in Skunkware 97 does not have GNU @code{as}. You can also use @code{egcs} 1.1.2 or newer @uref{http://www.egcs.com/}. If you are using @code{egcs} 1.1.2 you have to execute the following command: @example shell> cp -p /usr/include/pthread/stdtypes.h \ /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/ @end example For OpenServer 5.0.X you need to use gcc-2.95.2p1 or newer from the Skunkware. http://www.caldera.com/skunkware/ and choose browser OpenServer packages or by ftp to ftp2.caldera.com in the pub/skunkware/osr5/devtools/gcc directory. @item You need the port of GCC 2.5.x for this product and the Development Loading Loading @@ -10994,7 +10991,6 @@ MySQL should automatically detect FSU Pthreads and link @code{mysqld} with @code{-lgthreads -lsocket -lgthreads}. @item The Caldera (SCO) development libraries are re-entrant in FSU Pthreads. Caldera claim sthat its libraries' functions are re-entrant, so they must be reentrant with FSU Pthreads. FSU Pthreads on OpenServer tries to use Loading Loading @@ -11064,7 +11060,18 @@ CC=cc CXX=CC ./configure --prefix=/usr/local/mysql If you want to use @code{gcc}, you must use @code{gcc} 2.95.2 or newer. Caldera provides libsocket.so.2 at @uref{ftp://stage.caldera.com/pub/security/tools} for pre-OSR506 security fixes. Also, the telnetd fix at @url{ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/} as both libsocket.so.2 and libresolv.so.1 with instructions for installing on pre-OSR506 systems. It's probably a good idea to install the above patches before trying to compile/use MySQL. @node OS/2, BeOS, Other Unix Notes, Operating System Specific Notes @subsection OS/2 Notes MySQL uses quite a few open files. Because of this, you should add Loading Loading @@ -46625,7 +46632,7 @@ Many crashes of MySQL are caused by corrupted index / data files. MySQL will update the data on disk, with the @code{write()} system call, after every SQL statement and before the client is notified about the result. (This is not true if you are running with @code{delayed_key_writes}, in which case only the data is written.) with @code{delay_key_write}, in which case only the data is written.) This means that the data is safe even if @code{mysqld} crashes, as the OS will ensure that the not flushed data is written to disk. You can force MySQL to sync everything to disk after every SQL command by Loading Loading @@ -48911,6 +48918,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. @itemize @bullet @item @code{INET_NTOA()} now returns @code{NULL} if you give it a too big argument. @item Fix @code{SQL_CALC_FOUND_ROWS} to work with @code{UNION}s. It will work only if the first @code{SELECT} has this option and if there is global @code{LIMIT} for the entire statement. For the moment, this requires using parentheses for Loading Loading @@ -49351,7 +49360,7 @@ not yet 100% confident in this code. @item Fixed @code{SIGINT} and @code{SIGQUIT} problems in @code{mysql}. @item Fixed bug in character table converts. Fixed bug in character table converts when used with big ( > 64K) strings. @end itemize @node News-3.23.50, News-3.23.49, News-3.23.51, News-3.23.x Loading Loading @@ -51248,7 +51257,7 @@ Put @code{CREATE TEMPORARY TABLE} commands in the update log. @item Fixed bug in handling of masked IP numbers in the privilege tables. @item Fixed bug with @code{delayed_key_writes} tables and @code{CHECK TABLE}. Fixed bug with @code{delay_key_write} tables and @code{CHECK TABLE}. @item Added @code{replicate-do-db} and @code{replicate-ignore-db} options to @code{mysqld}, to restrict which databases get replicated. Loading Loading @@ -51642,7 +51651,7 @@ threads are reading from the table. Added @code{max_write_lock_count} variable to @code{mysqld} to force a @code{READ} lock after a certain number of @code{WRITE} locks. @item Inverted flag @code{delayed_key_write} on @code{show variables}. Inverted flag @code{delay_key_write} on @code{show variables}. @item Renamed @code{concurrency} variable to @code{thread_concurrency}. @item
client/mysql.cc +0 −1 Original line number Diff line number Diff line Loading @@ -342,7 +342,6 @@ int main(int argc,char *argv[]) if (!status.batch) ignore_errors=1; // Don't abort monitor signal(SIGINT, mysql_end); // Catch SIGINT to clean up signal(SIGQUIT, mysql_end); // Catch SIGQUIT to clean up /* ** Run in interactive mode like the ingres/postgres monitor Loading
include/my_base.h +5 −3 Original line number Diff line number Diff line Loading @@ -67,9 +67,11 @@ enum ha_rkey_function { /* Key algorithm types */ enum ha_key_alg { HA_KEY_ALG_BTREE=0, /* B-tree, default one */ HA_KEY_ALG_RTREE=1, /* R-tree, for spatial searches */ HA_KEY_ALG_HASH=2 /* HASH keys (HEAP tables) */ HA_KEY_ALG_UNDEF= 0, /* Not specified (old file) */ HA_KEY_ALG_BTREE= 1, /* B-tree, default one */ HA_KEY_ALG_RTREE= 2, /* R-tree, for spatial searches */ HA_KEY_ALG_HASH= 3, /* HASH keys (HEAP tables) */ HA_KEY_ALG_FULLTEXT= 4 /* FULLTEXT (MyISAM tables) */ }; /* The following is parameter to ha_extra() */ Loading
libmysql/net.c +31 −21 Original line number Diff line number Diff line Loading @@ -54,32 +54,32 @@ ulong max_allowed_packet=65536; extern ulong net_read_timeout,net_write_timeout; extern uint test_flags; #define USE_QUERY_CACHE extern void query_cache_insert(NET *net, const char *packet, ulong length); #else ulong max_allowed_packet=16*1024*1024L; ulong net_read_timeout= NET_READ_TIMEOUT; ulong net_write_timeout= NET_WRITE_TIMEOUT; #endif #ifdef __WIN__ #if defined(__WIN__) || !defined(MYSQL_SERVER) /* The following is because alarms doesn't work on windows. */ #undef MYSQL_SERVER #define NO_ALARM #endif #ifdef MYSQL_SERVER #ifndef NO_ALARM #include "my_pthread.h" void sql_print_error(const char *format,...); #define RETRY_COUNT mysqld_net_retry_count extern ulong mysqld_net_retry_count; extern ulong bytes_sent, bytes_received; extern pthread_mutex_t LOCK_bytes_sent , LOCK_bytes_received; extern void query_cache_insert(NET *net, const char *packet, ulong length); #else #undef statistic_add #define statistic_add(A,B,C) #define DONT_USE_THR_ALARM #define RETRY_COUNT 1 #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ #include "thr_alarm.h" Loading Loading @@ -167,7 +167,7 @@ static my_bool net_realloc(NET *net, ulong length) void net_clear(NET *net) { #ifndef EXTRA_DEBUG #if !defined(EXTRA_DEBUG) && !defined(EMBEDDED_LIBRARY) int count; /* One may get 'unused' warn */ bool is_blocking=vio_is_blocking(net->vio); if (is_blocking) Loading Loading @@ -322,14 +322,15 @@ net_real_write(NET *net,const char *packet,ulong len) long int length; char *pos,*end; thr_alarm_t alarmed; #if defined(MYSQL_SERVER) #ifndef NO_ALARM ALARM alarm_buff; #endif uint retry_count=0; my_bool net_blocking = vio_is_blocking(net->vio); DBUG_ENTER("net_real_write"); #ifdef MYSQL_SERVER #if defined(MYSQL_SERVER) && defined(HAVE_QUERY_CACHE) if (net->query_cache_query != 0) query_cache_insert(net, packet, len); #endif Loading Loading @@ -370,13 +371,13 @@ net_real_write(NET *net,const char *packet,ulong len) #endif /* HAVE_COMPRESS */ /* DBUG_DUMP("net",packet,len); */ #ifdef MYSQL_SERVER #ifndef NO_ALARM thr_alarm_init(&alarmed); if (net_blocking) thr_alarm(&alarmed,(uint) net_write_timeout,&alarm_buff); #else alarmed=0; #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ pos=(char*) packet; end=pos+len; while (pos != end) Loading Loading @@ -458,8 +459,7 @@ net_real_write(NET *net,const char *packet,ulong len) ** Read something from server/clinet *****************************************************************************/ #ifdef MYSQL_SERVER #ifndef NO_ALARM /* Help function to clear the commuication buffer when we get a too big packet Loading Loading @@ -492,7 +492,7 @@ static void my_net_skip_rest(NET *net, uint32 remain, thr_alarm_t *alarmed) statistic_add(bytes_received,length,&LOCK_bytes_received); } } #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ /* Loading @@ -509,7 +509,7 @@ my_real_read(NET *net, ulong *complen) uint i,retry_count=0; ulong len=packet_error; thr_alarm_t alarmed; #if defined(MYSQL_SERVER) #ifndef NO_ALARM ALARM alarm_buff; #endif my_bool net_blocking=vio_is_blocking(net->vio); Loading @@ -519,10 +519,10 @@ my_real_read(NET *net, ulong *complen) net->reading_or_writing=1; thr_alarm_init(&alarmed); #ifdef MYSQL_SERVER #ifndef NO_ALARM if (net_blocking) thr_alarm(&alarmed,net->timeout,&alarm_buff); #endif /* MYSQL_SERVER */ #endif /* NO_ALARM */ pos = net->buff + net->where_b; /* net->packet -4 */ for (i=0 ; i < 2 ; i++) Loading Loading @@ -645,7 +645,7 @@ my_real_read(NET *net, ulong *complen) { if (net_realloc(net,helping)) { #ifdef MYSQL_SERVER #ifndef NO_ALARM if (i == 1) my_net_skip_rest(net, (uint32) len, &alarmed); #endif Loading Loading @@ -814,3 +814,13 @@ my_net_read(NET *net) #endif /* HAVE_COMPRESS */ return len; } int net_request_file(NET* net, const char* fname) { char tmp [FN_REFLEN+1],*end; DBUG_ENTER("net_request_file"); tmp[0] = (char) 251; /* NULL_LENGTH */ end=strnmov(tmp+1,fname,sizeof(tmp)-2); DBUG_RETURN(my_net_write(net,tmp,(uint) (end-tmp)) || net_flush(net)); }
mysql-test/r/func_misc.result +2 −2 Original line number Diff line number Diff line Loading @@ -3,10 +3,10 @@ format(1.5555,0) format(123.5555,1) format(1234.5555,2) format(12345.5555,3) for 2 123.6 1,234.56 12,345.556 123,456.5555 1,234,567.55550 12,345.24 select inet_ntoa(inet_aton("255.255.255.255.255.255.255.255")); inet_ntoa(inet_aton("255.255.255.255.255.255.255.255")) 255.255.255.255.255.255.255.255 NULL select inet_aton("255.255.255.255.255"),inet_aton("255.255.1.255"),inet_aton("0.1.255"); inet_aton("255.255.255.255.255") inet_aton("255.255.1.255") inet_aton("0.1.255") 1099511627775 4294902271 511 select inet_ntoa(1099511627775),inet_ntoa(4294902271),inet_ntoa(511); inet_ntoa(1099511627775) inet_ntoa(4294902271) inet_ntoa(511) 255.255.255.255.255 255.255.1.255 0.0.1.255 NULL 255.255.1.255 0.0.1.255