Loading Docs/manual.texi +63 −38 Original line number Diff line number Diff line Loading @@ -531,10 +531,20 @@ GEMINI Tables InnoDB Tables * InnoDB overview:: * InnoDB overview:: InnoDB tables overview * InnoDB start:: InnoDB startup options * Using InnoDB tables:: Using InnoDB tables * InnoDB restrictions:: Some restrictions on @code{InnoDB} tables: * Creating an InnoDB database:: Creating an InnoDB database. Creating an InnoDB database * Using InnoDB tables:: Creating InnoDB tables * Adding and removing:: Adding and removing InnoDB data and log files * Backing up:: Backing up and recovering an InnoDB database * Moving:: Moving an InnoDB database to another machine * InnoDB transaction model:: InnoDB transaction model. InnoDB transaction model * Implementation:: Implementation of multiversioning * Table and index:: Table and index structures * File space management:: File space management and disk i/o * Error handling:: Error handling * InnoDB restrictions:: Some restrictions on InnoDB tables * InnoDB contact information:: InnoDB contact information. InnoDB contact information MySQL Tutorial Loading Loading @@ -606,7 +616,6 @@ Replication in MySQL MySQL Full-text Search * Fulltext Search:: * Fulltext Fine-tuning:: * Fulltext Features to Appear in MySQL 4.0:: * Fulltext TODO:: Loading Loading @@ -917,6 +926,7 @@ Changes in release 4.0.x (Development; Alpha) Changes in release 3.23.x (Stable) * News-3.23.38:: * News-3.23.37:: Changes in release 3.23.37 * News-3.23.36:: Changes in release 3.23.36 * News-3.23.35:: Changes in release 3.23.35 Loading Loading @@ -24360,18 +24370,18 @@ NuSphere is working on removing these limitations. @menu * InnoDB overview:: InnoDB tables overview * InnoDB start:: InnoDB startup options * Creating an InnoDB database:: Creating an InnoDB database * Creating an InnoDB database:: Creating an InnoDB database. Creating an InnoDB database * Using InnoDB tables:: Creating InnoDB tables * Adding and removing:: Adding and removing InnoDB data and log files * Backing up:: Backing up and recovering an InnoDB database * Moving:: Moving an InnoDB database to another machine * InnoDB transaction model:: InnoDB transaction model * InnoDB transaction model:: InnoDB transaction model. InnoDB transaction model * Implementation:: Implementation of multiversioning * Table and index:: Table and index structures * File space management:: File space management and disk i/o * Error handling:: Error handling * InnoDB restrictions:: Some restrictions on InnoDB tables * InnoDB contact information:: InnoDB contact information * InnoDB contact information:: InnoDB contact information. InnoDB contact information @end menu @node InnoDB overview, InnoDB start, InnoDB, InnoDB Loading Loading @@ -24413,7 +24423,7 @@ may consist of several files. This is different from, for example, InnoDB is distributed under the GNU GPL License Version 2 (of June 1991). In the source distribution of MySQL, InnoDB appears as a subdirectory. @node InnoDB start @node InnoDB start, Creating an InnoDB database, InnoDB overview, InnoDB @subsection InnoDB startup options Beginning from MySQL-3.23.37 the prefix of the options is changed Loading Loading @@ -24551,7 +24561,7 @@ InnoDB cannot notice. In cases like this the timeout is useful to resolve the situation. @end multitable @node Creating an InnoDB database @node Creating an InnoDB database, Using InnoDB tables, InnoDB start, InnoDB @subsection Creating an InnoDB database Suppose you have installed MySQL and have edited @file{my.cnf} so that Loading Loading @@ -24621,7 +24631,7 @@ some InnoDB tables, delete also the corresponding @file{.frm} files for these tables from the MySQL database directories. Then you can try the InnoDB database creation again. @node Using InnoDB tables @node Using InnoDB tables, Adding and removing, Creating an InnoDB database, InnoDB @subsection Creating InnoDB tables Suppose you have started the MySQL client with the command Loading Loading @@ -24664,7 +24674,7 @@ InnoDB has its own internal data dictionary, and you will get problems if the MySQL @file{.frm} files are out of 'sync' with the InnoDB internal data dictionary. @node Adding and removing @node Adding and removing, Backing up, Using InnoDB tables, InnoDB @subsection Adding and removing InnoDB data and log files You cannot increase the size of an InnoDB data file. To add more into Loading @@ -24686,7 +24696,7 @@ database. Delete then the old log files from the log file directory, edit @file{my.cnf}, and start MySQL again. InnoDB will tell you at the startup that it is creating new log files. @node Backing up @node Backing up, Moving, Adding and removing, InnoDB @subsection Backing up and recovering an InnoDB database The key to safe database management is taking regular backups. Loading Loading @@ -24798,7 +24808,7 @@ the total size of the log files as big as the buffer pool or even bigger. The drawback in big log files is that crash recovery can last longer because there will be more log to apply to the database. @node Moving @node Moving, InnoDB transaction model, Backing up, InnoDB @subsection Moving an InnoDB database to another machine InnoDB data and log files are binary-compatible on all platforms Loading @@ -24818,7 +24828,7 @@ the big rollback segment the big import transaction will generate. Do the commit only after importing a whole table or a segment of a table. @node InnoDB transaction model @node InnoDB transaction model, Implementation, Moving, InnoDB @subsection InnoDB transaction model In the InnoDB transaction model the goal has been to combine the best Loading Loading @@ -25046,7 +25056,7 @@ set by the SQL statement may be preserved. This is because InnoDB stores row locks in a format where it cannot afterwards know which was set by which SQL statement. @node Implementation @node Implementation, Table and index, InnoDB transaction model, InnoDB @subsection Implementation of multiversioning Since InnoDB is a multiversioned database, it must keep information Loading Loading @@ -25095,7 +25105,7 @@ its index records from the database. This removal operation is called a purge, and it is quite fast, usually taking the same order of time as the SQL statement which did the deletion. @node Table and index @node Table and index, File space management, Implementation, InnoDB @subsection Table and index structures Every InnoDB table has a special index called the clustered index Loading Loading @@ -25208,7 +25218,7 @@ If the total length of the fields in a record is < 256 bytes, then the pointer is 1 byte, else 2 bytes. @end itemize @node File space management @node File space management, Error handling, Table and index, InnoDB @subsection File space management and disk i/o @subsubsection Disk i/o Loading Loading @@ -25287,7 +25297,7 @@ but remember that deleted rows can be physically removed only in a purge operation after they are no longer needed in transaction rollback or consistent read. @node Error handling @node Error handling, InnoDB restrictions, File space management, InnoDB @subsection Error handling The error handling in InnoDB is not always the same as Loading Loading @@ -29202,7 +29212,7 @@ have been assigned a low semantical value in @strong{a particular dataset}. * Fulltext TODO:: @end menu @node Fulltext Fine-tuning, Fulltext Features to Appear in MySQL 4.0, , Fulltext Search @node Fulltext Fine-tuning, Fulltext Features to Appear in MySQL 4.0, Fulltext Search, Fulltext Search @section Fine-tuning MySQL Full-text Search Unfortunately, full-text search has no user-tunable parameters yet, Loading Loading @@ -31584,7 +31594,7 @@ the following configure options: @multitable @columnfractions .3 .7 @item @strong{Option} @tab @strong{Comment} @item --with-server-suffix=-max @tab Add a suffix to the @code{mysqld} version string. @item --with-server-suffix=-Max @tab Add a suffix to the @code{mysqld} version string. @item --with-bdb @tab Support for Berkeley DB (BDB) tables @item --with-innodb @tab Support for InnoDB tables. @item CFLAGS=-DUSE_SYMDIR @tab Symbolic links support for Windows. Loading @@ -31597,9 +31607,10 @@ run @code{configure} with the options you want and then install the new @code{mysqld} binary as @code{mysqld-max} in the same directory where your old @code{mysqld} binary is. @xref{safe_mysqld}. The @code{mysqld-max} RPM uses this @code{safe_mysqld} feature. It just installs the @code{mysqld-max} executable and @code{safe_mysqld} will automaticly use this when @code{mysqld} is restarted. The @code{mysqld-max} RPM uses the above mentioned @code{safe_mysqld} feature. It just installs the @code{mysqld-max} executable and @code{safe_mysqld} will automaticly use this executable when @code{safe_mysqld} is restarted. @cindex tools, safe_mysqld @cindex scripts Loading Loading @@ -41799,7 +41810,7 @@ This is a relatively low traffic list, in comparison with * MySQL test suite:: MySQL test suite @end menu @node MySQL threads, MySQL test suite, , MySQL internals @node MySQL threads, MySQL test suite, MySQL internals, MySQL internals @section MySQL Threads The @strong{MySQL} server creates the following threads: Loading Loading @@ -43855,6 +43866,7 @@ users uses this code as the rest of the code and because of this we are not yet 100% confident in this code. @menu * News-3.23.38:: * News-3.23.37:: Changes in release 3.23.37 * News-3.23.36:: Changes in release 3.23.36 * News-3.23.35:: Changes in release 3.23.35 Loading Loading @@ -43896,7 +43908,20 @@ not yet 100% confident in this code. * News-3.23.0:: Changes in release 3.23.0 @end menu @node News-3.23.37, News-3.23.36, News-3.23.x, News-3.23.x @node News-3.23.38, News-3.23.37, News-3.23.x, News-3.23.x @appendixsubsec Changes in release 3.23.38 @itemize @bullet @item Changed optimizer so that queries like @code{SELECT * FROM table_name,table_name2 ... ORDER BY key_part1 LIMIT #} will use index on @code{key_part1} instead of @code{filesort}. @item Fixed bug when doing @code{LOCK TABLE to_table WRITE,...; INSERT INTO to_table... SELECT ...} when to_table was empty. @end itemize @node News-3.23.37, News-3.23.36, News-3.23.38, News-3.23.x @appendixsubsec Changes in release 3.23.37 @itemize @bullet @item acconfig.h +6 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,12 @@ /* pthread_attr_setscope */ #undef HAVE_PTHREAD_ATTR_SETSCOPE /* pthread_yield that doesn't take any arguments */ #undef HAVE_PTHREAD_YIELD_ZERO_ARG /* pthread_yield function with one argument */ #undef HAVE_PTHREAD_YIELD_ONE_ARG /* POSIX readdir_r */ #undef HAVE_READDIR_R Loading acinclude.m4 +36 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,42 @@ then fi ]) AC_DEFUN(MYSQL_PTHREAD_YIELD, [AC_CACHE_CHECK([if pthread_yield takes zero arguments], ac_cv_pthread_yield_zero_arg, [AC_TRY_COMPILE([#define _GNU_SOURCE #include <pthread.h> #ifdef __cplusplus extern "C" #endif ], [ pthread_yield(); ], ac_cv_pthread_yield_zero_arg=yes, ac_cv_pthread_yield_zero_arg=yeso)]) if test "$ac_cv_pthread_yield_zero_arg" = "yes" then AC_DEFINE(HAVE_PTHREAD_YIELD_ZERO_ARG) fi ] [AC_CACHE_CHECK([if pthread_yield takes 1 argument], ac_cv_pthread_yield_one_arg, [AC_TRY_COMPILE([#define _GNU_SOURCE #include <pthread.h> #ifdef __cplusplus extern "C" #endif ], [ pthread_yield(0); ], ac_cv_pthread_yield_one_arg=yes, ac_cv_pthread_yield_one_arg=no)]) if test "$ac_cv_pthread_yield_one_arg" = "yes" then AC_DEFINE(HAVE_PTHREAD_YIELD_ONE_ARG) fi ] ) #---END: AC_DEFUN(MYSQL_CHECK_FP_EXCEPT, Loading configure.in +3 −2 Original line number Diff line number Diff line Loading @@ -1293,10 +1293,11 @@ MYSQL_CXX_BOOL MYSQL_CHECK_LONGLONG_TO_FLOAT if test "$ac_cv_conv_longlong_to_float" != "yes" then AC_MSG_ERROR([Your compiler can't convert a longlong value to a float! AC_MSG_ERROR([Your compiler cannot convert a longlong value to a float! If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try again]); fi MYSQL_PTHREAD_YIELD ###################################################################### # For readline-4.0 (We simply move the mimimum amount of stuff from Loading Loading @@ -1353,7 +1354,7 @@ AC_CHECK_FUNCS(alarm bmove \ sigset sigthreadmask pthread_sigmask pthread_setprio pthread_setprio_np \ pthread_setschedparam pthread_attr_setprio pthread_attr_setschedparam \ pthread_attr_create pthread_getsequence_np pthread_attr_setstacksize \ pthread_condattr_create rwlock_init pthread_rwlock_rdlock pthread_yield\ pthread_condattr_create rwlock_init pthread_rwlock_rdlock \ fchmod getpass getpassphrase initgroups mlockall) # Sanity check: We chould not have any fseeko symbol unless Loading innobase/os/os0thread.c +5 −1 Original line number Diff line number Diff line Loading @@ -139,6 +139,10 @@ os_thread_yield(void) Sleep(0); #elif (defined(HAVE_SCHED_YIELD) && defined(HAVE_SCHED_H)) sched_yield(); #elif defined(HAVE_PTHREAD_YIELD_ZERO_ARG) pthread_yield(); #elif defined(HAVE_PTHREAD_YIELD_ONE_ARG) pthread_yield(0); #else os_thread_sleep(0); #endif Loading Loading
Docs/manual.texi +63 −38 Original line number Diff line number Diff line Loading @@ -531,10 +531,20 @@ GEMINI Tables InnoDB Tables * InnoDB overview:: * InnoDB overview:: InnoDB tables overview * InnoDB start:: InnoDB startup options * Using InnoDB tables:: Using InnoDB tables * InnoDB restrictions:: Some restrictions on @code{InnoDB} tables: * Creating an InnoDB database:: Creating an InnoDB database. Creating an InnoDB database * Using InnoDB tables:: Creating InnoDB tables * Adding and removing:: Adding and removing InnoDB data and log files * Backing up:: Backing up and recovering an InnoDB database * Moving:: Moving an InnoDB database to another machine * InnoDB transaction model:: InnoDB transaction model. InnoDB transaction model * Implementation:: Implementation of multiversioning * Table and index:: Table and index structures * File space management:: File space management and disk i/o * Error handling:: Error handling * InnoDB restrictions:: Some restrictions on InnoDB tables * InnoDB contact information:: InnoDB contact information. InnoDB contact information MySQL Tutorial Loading Loading @@ -606,7 +616,6 @@ Replication in MySQL MySQL Full-text Search * Fulltext Search:: * Fulltext Fine-tuning:: * Fulltext Features to Appear in MySQL 4.0:: * Fulltext TODO:: Loading Loading @@ -917,6 +926,7 @@ Changes in release 4.0.x (Development; Alpha) Changes in release 3.23.x (Stable) * News-3.23.38:: * News-3.23.37:: Changes in release 3.23.37 * News-3.23.36:: Changes in release 3.23.36 * News-3.23.35:: Changes in release 3.23.35 Loading Loading @@ -24360,18 +24370,18 @@ NuSphere is working on removing these limitations. @menu * InnoDB overview:: InnoDB tables overview * InnoDB start:: InnoDB startup options * Creating an InnoDB database:: Creating an InnoDB database * Creating an InnoDB database:: Creating an InnoDB database. Creating an InnoDB database * Using InnoDB tables:: Creating InnoDB tables * Adding and removing:: Adding and removing InnoDB data and log files * Backing up:: Backing up and recovering an InnoDB database * Moving:: Moving an InnoDB database to another machine * InnoDB transaction model:: InnoDB transaction model * InnoDB transaction model:: InnoDB transaction model. InnoDB transaction model * Implementation:: Implementation of multiversioning * Table and index:: Table and index structures * File space management:: File space management and disk i/o * Error handling:: Error handling * InnoDB restrictions:: Some restrictions on InnoDB tables * InnoDB contact information:: InnoDB contact information * InnoDB contact information:: InnoDB contact information. InnoDB contact information @end menu @node InnoDB overview, InnoDB start, InnoDB, InnoDB Loading Loading @@ -24413,7 +24423,7 @@ may consist of several files. This is different from, for example, InnoDB is distributed under the GNU GPL License Version 2 (of June 1991). In the source distribution of MySQL, InnoDB appears as a subdirectory. @node InnoDB start @node InnoDB start, Creating an InnoDB database, InnoDB overview, InnoDB @subsection InnoDB startup options Beginning from MySQL-3.23.37 the prefix of the options is changed Loading Loading @@ -24551,7 +24561,7 @@ InnoDB cannot notice. In cases like this the timeout is useful to resolve the situation. @end multitable @node Creating an InnoDB database @node Creating an InnoDB database, Using InnoDB tables, InnoDB start, InnoDB @subsection Creating an InnoDB database Suppose you have installed MySQL and have edited @file{my.cnf} so that Loading Loading @@ -24621,7 +24631,7 @@ some InnoDB tables, delete also the corresponding @file{.frm} files for these tables from the MySQL database directories. Then you can try the InnoDB database creation again. @node Using InnoDB tables @node Using InnoDB tables, Adding and removing, Creating an InnoDB database, InnoDB @subsection Creating InnoDB tables Suppose you have started the MySQL client with the command Loading Loading @@ -24664,7 +24674,7 @@ InnoDB has its own internal data dictionary, and you will get problems if the MySQL @file{.frm} files are out of 'sync' with the InnoDB internal data dictionary. @node Adding and removing @node Adding and removing, Backing up, Using InnoDB tables, InnoDB @subsection Adding and removing InnoDB data and log files You cannot increase the size of an InnoDB data file. To add more into Loading @@ -24686,7 +24696,7 @@ database. Delete then the old log files from the log file directory, edit @file{my.cnf}, and start MySQL again. InnoDB will tell you at the startup that it is creating new log files. @node Backing up @node Backing up, Moving, Adding and removing, InnoDB @subsection Backing up and recovering an InnoDB database The key to safe database management is taking regular backups. Loading Loading @@ -24798,7 +24808,7 @@ the total size of the log files as big as the buffer pool or even bigger. The drawback in big log files is that crash recovery can last longer because there will be more log to apply to the database. @node Moving @node Moving, InnoDB transaction model, Backing up, InnoDB @subsection Moving an InnoDB database to another machine InnoDB data and log files are binary-compatible on all platforms Loading @@ -24818,7 +24828,7 @@ the big rollback segment the big import transaction will generate. Do the commit only after importing a whole table or a segment of a table. @node InnoDB transaction model @node InnoDB transaction model, Implementation, Moving, InnoDB @subsection InnoDB transaction model In the InnoDB transaction model the goal has been to combine the best Loading Loading @@ -25046,7 +25056,7 @@ set by the SQL statement may be preserved. This is because InnoDB stores row locks in a format where it cannot afterwards know which was set by which SQL statement. @node Implementation @node Implementation, Table and index, InnoDB transaction model, InnoDB @subsection Implementation of multiversioning Since InnoDB is a multiversioned database, it must keep information Loading Loading @@ -25095,7 +25105,7 @@ its index records from the database. This removal operation is called a purge, and it is quite fast, usually taking the same order of time as the SQL statement which did the deletion. @node Table and index @node Table and index, File space management, Implementation, InnoDB @subsection Table and index structures Every InnoDB table has a special index called the clustered index Loading Loading @@ -25208,7 +25218,7 @@ If the total length of the fields in a record is < 256 bytes, then the pointer is 1 byte, else 2 bytes. @end itemize @node File space management @node File space management, Error handling, Table and index, InnoDB @subsection File space management and disk i/o @subsubsection Disk i/o Loading Loading @@ -25287,7 +25297,7 @@ but remember that deleted rows can be physically removed only in a purge operation after they are no longer needed in transaction rollback or consistent read. @node Error handling @node Error handling, InnoDB restrictions, File space management, InnoDB @subsection Error handling The error handling in InnoDB is not always the same as Loading Loading @@ -29202,7 +29212,7 @@ have been assigned a low semantical value in @strong{a particular dataset}. * Fulltext TODO:: @end menu @node Fulltext Fine-tuning, Fulltext Features to Appear in MySQL 4.0, , Fulltext Search @node Fulltext Fine-tuning, Fulltext Features to Appear in MySQL 4.0, Fulltext Search, Fulltext Search @section Fine-tuning MySQL Full-text Search Unfortunately, full-text search has no user-tunable parameters yet, Loading Loading @@ -31584,7 +31594,7 @@ the following configure options: @multitable @columnfractions .3 .7 @item @strong{Option} @tab @strong{Comment} @item --with-server-suffix=-max @tab Add a suffix to the @code{mysqld} version string. @item --with-server-suffix=-Max @tab Add a suffix to the @code{mysqld} version string. @item --with-bdb @tab Support for Berkeley DB (BDB) tables @item --with-innodb @tab Support for InnoDB tables. @item CFLAGS=-DUSE_SYMDIR @tab Symbolic links support for Windows. Loading @@ -31597,9 +31607,10 @@ run @code{configure} with the options you want and then install the new @code{mysqld} binary as @code{mysqld-max} in the same directory where your old @code{mysqld} binary is. @xref{safe_mysqld}. The @code{mysqld-max} RPM uses this @code{safe_mysqld} feature. It just installs the @code{mysqld-max} executable and @code{safe_mysqld} will automaticly use this when @code{mysqld} is restarted. The @code{mysqld-max} RPM uses the above mentioned @code{safe_mysqld} feature. It just installs the @code{mysqld-max} executable and @code{safe_mysqld} will automaticly use this executable when @code{safe_mysqld} is restarted. @cindex tools, safe_mysqld @cindex scripts Loading Loading @@ -41799,7 +41810,7 @@ This is a relatively low traffic list, in comparison with * MySQL test suite:: MySQL test suite @end menu @node MySQL threads, MySQL test suite, , MySQL internals @node MySQL threads, MySQL test suite, MySQL internals, MySQL internals @section MySQL Threads The @strong{MySQL} server creates the following threads: Loading Loading @@ -43855,6 +43866,7 @@ users uses this code as the rest of the code and because of this we are not yet 100% confident in this code. @menu * News-3.23.38:: * News-3.23.37:: Changes in release 3.23.37 * News-3.23.36:: Changes in release 3.23.36 * News-3.23.35:: Changes in release 3.23.35 Loading Loading @@ -43896,7 +43908,20 @@ not yet 100% confident in this code. * News-3.23.0:: Changes in release 3.23.0 @end menu @node News-3.23.37, News-3.23.36, News-3.23.x, News-3.23.x @node News-3.23.38, News-3.23.37, News-3.23.x, News-3.23.x @appendixsubsec Changes in release 3.23.38 @itemize @bullet @item Changed optimizer so that queries like @code{SELECT * FROM table_name,table_name2 ... ORDER BY key_part1 LIMIT #} will use index on @code{key_part1} instead of @code{filesort}. @item Fixed bug when doing @code{LOCK TABLE to_table WRITE,...; INSERT INTO to_table... SELECT ...} when to_table was empty. @end itemize @node News-3.23.37, News-3.23.36, News-3.23.38, News-3.23.x @appendixsubsec Changes in release 3.23.37 @itemize @bullet @item
acconfig.h +6 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,12 @@ /* pthread_attr_setscope */ #undef HAVE_PTHREAD_ATTR_SETSCOPE /* pthread_yield that doesn't take any arguments */ #undef HAVE_PTHREAD_YIELD_ZERO_ARG /* pthread_yield function with one argument */ #undef HAVE_PTHREAD_YIELD_ONE_ARG /* POSIX readdir_r */ #undef HAVE_READDIR_R Loading
acinclude.m4 +36 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,42 @@ then fi ]) AC_DEFUN(MYSQL_PTHREAD_YIELD, [AC_CACHE_CHECK([if pthread_yield takes zero arguments], ac_cv_pthread_yield_zero_arg, [AC_TRY_COMPILE([#define _GNU_SOURCE #include <pthread.h> #ifdef __cplusplus extern "C" #endif ], [ pthread_yield(); ], ac_cv_pthread_yield_zero_arg=yes, ac_cv_pthread_yield_zero_arg=yeso)]) if test "$ac_cv_pthread_yield_zero_arg" = "yes" then AC_DEFINE(HAVE_PTHREAD_YIELD_ZERO_ARG) fi ] [AC_CACHE_CHECK([if pthread_yield takes 1 argument], ac_cv_pthread_yield_one_arg, [AC_TRY_COMPILE([#define _GNU_SOURCE #include <pthread.h> #ifdef __cplusplus extern "C" #endif ], [ pthread_yield(0); ], ac_cv_pthread_yield_one_arg=yes, ac_cv_pthread_yield_one_arg=no)]) if test "$ac_cv_pthread_yield_one_arg" = "yes" then AC_DEFINE(HAVE_PTHREAD_YIELD_ONE_ARG) fi ] ) #---END: AC_DEFUN(MYSQL_CHECK_FP_EXCEPT, Loading
configure.in +3 −2 Original line number Diff line number Diff line Loading @@ -1293,10 +1293,11 @@ MYSQL_CXX_BOOL MYSQL_CHECK_LONGLONG_TO_FLOAT if test "$ac_cv_conv_longlong_to_float" != "yes" then AC_MSG_ERROR([Your compiler can't convert a longlong value to a float! AC_MSG_ERROR([Your compiler cannot convert a longlong value to a float! If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try again]); fi MYSQL_PTHREAD_YIELD ###################################################################### # For readline-4.0 (We simply move the mimimum amount of stuff from Loading Loading @@ -1353,7 +1354,7 @@ AC_CHECK_FUNCS(alarm bmove \ sigset sigthreadmask pthread_sigmask pthread_setprio pthread_setprio_np \ pthread_setschedparam pthread_attr_setprio pthread_attr_setschedparam \ pthread_attr_create pthread_getsequence_np pthread_attr_setstacksize \ pthread_condattr_create rwlock_init pthread_rwlock_rdlock pthread_yield\ pthread_condattr_create rwlock_init pthread_rwlock_rdlock \ fchmod getpass getpassphrase initgroups mlockall) # Sanity check: We chould not have any fseeko symbol unless Loading
innobase/os/os0thread.c +5 −1 Original line number Diff line number Diff line Loading @@ -139,6 +139,10 @@ os_thread_yield(void) Sleep(0); #elif (defined(HAVE_SCHED_YIELD) && defined(HAVE_SCHED_H)) sched_yield(); #elif defined(HAVE_PTHREAD_YIELD_ZERO_ARG) pthread_yield(); #elif defined(HAVE_PTHREAD_YIELD_ONE_ARG) pthread_yield(0); #else os_thread_sleep(0); #endif Loading