diff --git a/Docs/manual.texi b/Docs/manual.texi index 613301549bc6c4d349bfedc236daec9eb76f15dd..f3243613353fb8e722d6d17cb1100e72b80b555f 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -3757,7 +3757,7 @@ Subqueries. @item Foreign keys, including cascading delete. @item -Fail safe replication. +Fail-safe replication. @item Replication should work with @code{RAND()} and user variables @code{@@var}. @item @@ -10532,7 +10532,7 @@ the IBM C compiler). If you are using @code{gcc} or @code{egcs} to compile MySQL, you @strong{must} use the @code{-fno-exceptions} flag, as the exception -handling in @code{gcc}/@code{egcs} is not thread safe! (This is tested with +handling in @code{gcc}/@code{egcs} is not thread-safe! (This is tested with @code{egcs} 1.1.) There are also some known problems with IBM's assembler, which may cause it to generate bad code when used with gcc. @@ -41378,7 +41378,7 @@ Retrieves a complete result set to the client. Returns the current thread ID. @item @strong{mysql_thread_safe()} @tab -Returns 1 if the clients are compiled as thread safe. +Returns 1 if the clients are compiled as thread-safe. @item @strong{mysql_use_result()} @tab Initiates a row-by-row result set retrieval. @@ -43765,11 +43765,11 @@ None. @subsubheading Description -This function indicates whether the client is compiled as thread safe. +This function indicates whether the client is compiled as thread-safe. @subsubheading Return Values -1 is the client is thread safe, 0 otherwise. +1 is the client is thread-safe, 0 otherwise. @node C Embedded Server func, C API problems, C Thread functions, C @subsection C Embedded Server Function Descriptions @@ -44040,17 +44040,17 @@ files. @cindex clients, threaded @cindex threaded clients -The client library is almost thread safe. The biggest problem is +The client library is almost thread-safe. The biggest problem is that the subroutines in @file{net.c} that read from sockets are not interrupt safe. This was done with the thought that you might want to have your own alarm that can break a long read to a server. If you install interrupt handlers for the @code{SIGPIPE} interrupt, -the socket handling should be thread safe. +the socket handling should be thread-safe. In the older binaries we distribute on our web site (@uref{http://www.mysql.com/}), the client libraries are not normally compiled with the thread-safe option (the Windows binaries are by -default compiled to be thread safe). Newer binary distributions should +default compiled to be thread-safe). Newer binary distributions should have both a normal and a thread-safe client library. To get a threaded client where you can interrupt the client from other @@ -44058,8 +44058,8 @@ threads and set timeouts when talking with the MySQL server, you should use the @code{-lmysys}, @code{-lstring}, and @code{-ldbug} libraries and the @code{net_serv.o} code that the server uses. -If you don't need interrupts or timeouts, you can just compile a thread -safe client library @code{(mysqlclient_r)} and use this. @xref{C,, +If you don't need interrupts or timeouts, you can just compile a +thread-safe client library @code{(mysqlclient_r)} and use this. @xref{C,, MySQL C API}. In this case you don't have to worry about the @code{net_serv.o} object file or the other MySQL libraries. @@ -44070,13 +44070,13 @@ interrupts, you can make great use of the routines in the @code{my_init()} first! @xref{C Thread functions}. All functions except @code{mysql_real_connect()} are by default -thread safe. The following notes describe how to compile a thread-safe +thread-safe. The following notes describe how to compile a thread-safe client library and use it in a thread-safe manner. (The notes below for @code{mysql_real_connect()} actually apply to @code{mysql_connect()} as well, but because @code{mysql_connect()} is deprecated, you should be using @code{mysql_real_connect()} anyway.) -To make @code{mysql_real_connect()} thread safe, you must recompile the +To make @code{mysql_real_connect()} thread-safe, you must recompile the client library with this command: @example @@ -44084,7 +44084,7 @@ shell> ./configure --enable-thread-safe-client @end example This will create a thread-safe client library @code{libmysqlclient_r}. -@code{--enable-thread-safe-client}. This library is thread safe per +@code{--enable-thread-safe-client}. This library is thread-safe per connection. You can let two threads share the same connection with the following caveats: @@ -45075,7 +45075,7 @@ Repeat 3-5 until all rows has been processed Call @code{xxx_deinit()} to let the UDF free any memory it has allocated. @end enumerate -All functions must be thread safe (not just the main function, +All functions must be thread-safe (not just the main function, but the initialisation and deinitialisation functions as well). This means that you are not allowed to allocate any global or static variables that change! If you need memory, you should allocate it in @code{xxx_init()} @@ -45576,7 +45576,7 @@ can take a look at @code{Item_func_mod::fix_length_and_dec} for a typical example of how to do this. @end enumerate -All functions must be thread safe (in other words, don't use any global or +All functions must be thread-safe (in other words, don't use any global or static variables in the functions without protecting them with mutexes). If you want to return @code{NULL}, from @code{::val()}, @code{::val_int()} @@ -47747,7 +47747,7 @@ Python interface for MySQL. By Joseph Skinner @email{joe@@earthlight.co.nz}. Mod @item @uref{http://www.mysql.com/Downloads/Contrib/MySQL-python-0.3.0.tar.gz} MySQLdb Python is an DB-API v2.0-compliant interface to MySQL. Transactions are supported if the server and tables support them. It is -thread safe, and contains a compatibility module for older code +thread-safe, and contains a compatibility module for older code written for the no-longer-maintained MySQLmodule interface. @item @uref{http://www.mysql.com/Downloads/Contrib/mysql_mex_12.tar.gz} @@ -51764,7 +51764,7 @@ Added @code{--quote-names} option to @code{mysqldump}. @item Fixed bug that one could make a part of a @code{PRIMARY KEY NOT NULL}. @item -Fixed @code{encrypt()} to be thread safe and not reuse buffer. +Fixed @code{encrypt()} to be thread-safe and not reuse buffer. @item Added @code{mysql_odbc_escape_string()} function to support big5 characters in MyODBC. @@ -56000,7 +56000,7 @@ threads have to wait for data. If the user thread packages are integrated in the standard libs (FreeBSD and BSDI threads) the thread package requires less overhead than thread packages that have to map all unsafe calls (MIT-pthreads, FSU Pthreads and RTS threads). In some -environments (for example, SCO), all system calls are thread safe so the +environments (for example, SCO), all system calls are thread-safe so the mapping can be done very easily (FSU Pthreads on SCO). Downside: All mapped calls take a little time and it's quite tricky to be able to handle all situations. There are usually also some system calls that are @@ -56018,7 +56018,7 @@ somewhat expensive. Kernel threads. Thread switching is handled by the thread library or the kernel and is very fast. Everything is done in one process, but on some systems, @code{ps} may show the different threads. If one thread aborts, the -whole process aborts. Most system calls are thread safe and should +whole process aborts. Most system calls are thread-safe and should require very little overhead. Solaris, HP-UX, AIX and OSF/1 have kernel threads. @end itemize