Loading Docs/manual.texi +167 −107 Original line number Diff line number Diff line Loading @@ -19751,24 +19751,27 @@ The output resembles that shown here, though the format and numbers may differ somewhat: @example +------------------------------+---------------------------+ +---------------------------------+------------------------------+ | Variable_name | Value | +------------------------------+---------------------------+ | ansi_mode | OFF | +---------------------------------+------------------------------| | back_log | 50 | | basedir | /my/monty/ | | bdb_cache_size | 16777216 | | basedir | /usr/local/mysql | | bdb_cache_size | 8388572 | | bdb_log_buffer_size | 32768 | | bdb_home | /my/monty/data/ | | bdb_home | /usr/local/mysql | | bdb_max_lock | 10000 | | bdb_logdir | | | bdb_shared_data | OFF | | bdb_tmpdir | /tmp/ | | bdb_version | Sleepycat Software: ... | | binlog_cache_size | 32768 | | bulk_insert_buffer_size | 8388608 | | character_set | latin1 | | character_sets | latin1 big5 czech euc_kr | | concurrent_insert | ON | | connect_timeout | 5 | | datadir | /my/monty/data/ | | convert_character_set | | | datadir | /usr/local/mysql/data/ | | delay_key_write | ON | | delayed_insert_limit | 100 | | delayed_insert_timeout | 300 | Loading @@ -19778,65 +19781,100 @@ differ somewhat: | ft_min_word_len | 4 | | ft_max_word_len | 254 | | ft_max_word_len_for_sort | 20 | | ft_boolean_syntax | + -><()~* | | ft_boolean_syntax | + -><()~*:""&| | | have_bdb | YES | | have_innodb | YES | | have_raid | YES | | have_openssl | NO | | have_isam | YES | | have_raid | NO | | have_symlink | DISABLED | | have_openssl | YES | | have_query_cache | YES | | init_file | | | innodb_additional_mem_pool_size | 1048576 | | innodb_buffer_pool_size | 8388608 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | | | innodb_file_io_threads | 4 | | innodb_force_recovery | 0 | | innodb_thread_concurrency | 8 | | innodb_flush_log_at_trx_commit | 0 | | innodb_fast_shutdown | ON | | innodb_flush_method | | | innodb_lock_wait_timeout | 50 | | innodb_log_arch_dir | | | innodb_log_archive | OFF | | innodb_log_buffer_size | 1048576 | | innodb_log_file_size | 5242880 | | innodb_log_files_in_group | 2 | | innodb_log_group_home_dir | ./ | | innodb_mirrored_log_groups | 1 | | interactive_timeout | 28800 | | join_buffer_size | 131072 | | key_buffer_size | 16776192 | | language | /my/monty/share/english/ | | key_buffer_size | 16773120 | | language | /usr/local/mysql/share/... | | large_files_support | ON | | local_infile | ON | | locked_in_memory | OFF | | log | OFF | | log_update | OFF | | log_bin | OFF | | log_slave_updates | OFF | | log_slow_queries | OFF | | log_warnings | OFF | | long_query_time | 10 | | low_priority_updates | OFF | | lower_case_table_names | 0 | | max_allowed_packet | 1048576 | | lower_case_table_names | OFF | | max_allowed_packet | 1047552 | | max_binlog_cache_size | 4294967295 | | max_binlog_size | 1073741824 | | max_connections | 100 | | max_connect_errors | 10 | | max_delayed_threads | 20 | | max_heap_table_size | 16777216 | | max_join_size | 4294967295 | | max_sort_length | 1024 | | max_user_connections | 0 | | max_tmp_tables | 32 | | max_write_lock_count | 4294967295 | | myisam_recover_options | DEFAULT | | myisam_max_extra_sort_file_size | 268435456 | | myisam_max_sort_file_size | 2147483647 | | myisam_recover_options | force | | myisam_sort_buffer_size | 8388608 | | net_buffer_length | 16384 | | net_read_timeout | 30 | | net_retry_count | 10 | | net_write_timeout | 60 | | open_files_limit | 0 | | pid_file | /my/monty/data/donna.pid | | pid_file | /usr/local/mysql/name.pid | | port | 3306 | | protocol_version | 10 | | read_buffer_size | 131072 | | read_rnd_buffer_size | 262144 | | rpl_recovery_rank | 0 | | query_cache_limit | 1048576 | | query_cache_size | 16768060 | | query_cache_type | 1 | | query_cache_size | 0 | | query_cache_type | ON | | safe_show_database | OFF | | server_id | 0 | | skip_locking | ON | | slave_net_timeout | 3600 | | skip_external_locking | ON | | skip_networking | OFF | | skip_show_database | OFF | | slow_launch_time | 2 | | socket | /tmp/mysql.sock | | sort_buffer | 2097116 | | sort_buffer_size | 2097116 | | sql_mode | 0 | | table_cache | 64 | | table_type | MYISAM | | thread_cache_size | 4 | | thread_stack | 65536 | | tmp_table_size | 1048576 | | thread_cache_size | 3 | | thread_stack | 131072 | | tx_isolation | READ-COMMITTED | | timezone | EEST | | tmp_table_size | 33554432 | | tmpdir | /tmp/ | | version | 3.23.29a-gamma-debug | | version | 4.0.4-beta | | wait_timeout | 28800 | +------------------------------+---------------------------+ +---------------------------------+------------------------------+ @end example Each option is described here. Values for buffer sizes, lengths, and stack Loading Loading @@ -20339,8 +20377,13 @@ The directory used for temporary files and temporary tables. The version number for the server. @item @code{wait_timeout} The number of seconds the server waits for activity on a connection before closing it. See also @code{interactive_timeout}. The number of seconds the server waits for activity on a not interactive connection before closing it. On thread startup @code{SESSION.WAIT_TIMEOUT} is initialised from @code{GLOBAL.WAIT_TIMEOUT} or @code{GLOBAL.INTERACTIVE_TIMEOUT} depending on the type of client (as defined by the @code{CLIENT_INTERACTIVE} connect option). See also @code{interactive_timeout}. @end itemize The manual section that describes tuning MySQL contains some Loading Loading @@ -39502,6 +39545,9 @@ transaction. * InnoDB Locks set:: Locks Set by Different SQL Statements in InnoDB * InnoDB Deadlock detection:: Deadlock Detection and Rollback * InnoDB Consistent read example:: An Example of How the Consistent Read Works in InnoDB * Innodb deadlocks:: * Innodb tuning:: * Innodb Monitor:: @end menu Loading Loading @@ -39722,7 +39768,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 InnoDB Consistent read example, , InnoDB Deadlock detection, InnoDB transaction model @node InnoDB Consistent read example, Innodb deadlocks, InnoDB Deadlock detection, InnoDB transaction model @subsubsection An Example of How the Consistent Read Works in InnoDB When you issue a consistent read, that is, an ordinary @code{SELECT} Loading Loading @@ -39771,6 +39817,7 @@ use a locking read: SELECT * FROM t LOCK IN SHARE MODE; @end example @node Innodb deadlocks, Innodb tuning, InnoDB Consistent read example, InnoDB transaction model @subsubsection How to cope with deadlocks? Deadlocks are a classic problem in transactional databases, Loading Loading @@ -39815,7 +39862,8 @@ and @code{UNLOCK TABLES} implicitly ends the transaction in a @code{COMMIT}. @end itemize @subsection Performance Tuning Tips @node Innodb tuning, Innodb Monitor, Innodb deadlocks, InnoDB transaction model @subsubsection Performance Tuning Tips @strong{1.} If the Unix @file{top} or the Windows @file{Task Manager} shows that Loading Loading @@ -39902,11 +39950,12 @@ INSERT INTO yourtable VALUES (1, 2), (5, 5); This tip is of course valid for inserts into any table type, not just InnoDB. @node Innodb Monitor, , Innodb tuning, InnoDB transaction model @subsubsection The InnoDB Monitor Starting from version 3.23.41 InnoDB includes the InnoDB Monitor which prints information on the InnoDB internal state. When swithed on, InnoDB Monitor When switched on, InnoDB Monitor will make the MySQL server @file{mysqld} to print data (note: the MySQL client will not print anything) to the standard Loading Loading @@ -40153,13 +40202,12 @@ index. Note that if the primary key is long, the secondary indexes will use more space. @menu * InnoDB physical structure:: Physical Structure of an Index * InnoDB Insert buffering:: Insert Buffering * InnoDB Adaptive hash:: Adaptive Hash Indexes * InnoDB Physical record:: Physical Record Structure * InnoDB physical structure:: * InnoDB Insert buffering:: * InnoDB Adaptive hash:: * InnoDB Physical record:: @end menu @node InnoDB physical structure, InnoDB Insert buffering, Table and index, Table and index @subsubsection Physical Structure of an Index Loading Loading @@ -46135,7 +46183,7 @@ is not the case, you should run the script @menu * UDF calling:: UDF Calling Sequences * UDF aggr. calling :: UDF Calling Sequences for aggregate functions * UDF aggr. calling:: * UDF arguments:: Argument Processing * UDF return values:: Return Values and Error Handling * UDF compiling:: Compiling and Installing User-definable Functions Loading Loading @@ -47665,7 +47713,7 @@ limits! In this case you should start @code{safe_mysqld} with @code{sh}! @menu * Link errors:: Problems When Linking with the MySQL Client Library * Changing MySQL user:: How to Run MySQL As a Normal User * File permissions :: Problems with File Permissions * File permissions:: @end menu @node Link errors, Changing MySQL user, Installation Issues, Installation Issues Loading Loading @@ -47932,12 +47980,6 @@ check whether things that work for others crash for you. Please try the following things: @itemize @bullet @item Cleaned up @code{NULL} handling for default values in @code{DESCRIBE table_name}. @item Fixed @code{truncate()} to round up negative values to the nearest integer. @item Take down the @code{mysqld} daemon with @code{mysqladmin shutdown}, run @code{myisamchk --silent --force */*.MYI} on all tables, and restart the @code{mysqld} daemon. This will ensure that you are running from a clean Loading Loading @@ -50398,6 +50440,13 @@ each individual 4.0.x release. @itemize @bullet @item Added @code{LOCK TABLES} and @code{CREATE TEMPORARY TABLES} privilege on the database level. One must run the @code{ mysql_fix_privilege_tables} script on old installations to activate these. @item In @code{SHOW TABLE ... STATUS} compressed tables showed sometimes up as @code{dynamic}. @item @code{SELECT @@@@[global|session].var_name} didn't report @code{global | session} in the result column name. @item Loading Loading @@ -50613,6 +50662,11 @@ other databases. It is synonymous with @code{LOG(X)}. @itemize @bullet @item Cleaned up @code{NULL} handling for default values in @code{DESCRIBE table_name}. @item Fixed @code{truncate()} to round up negative values to the nearest integer. @item Changed @code{--chroot=path} option to execute @code{chroot()} immediately after all options have been parsed. @item Loading Loading @@ -51192,6 +51246,9 @@ Multithreaded stress tests for InnoDB. @appendixsubsec Changes in release 3.23.52 (14 Aug 2002) @itemize @bullet @item Wrap @code{BEGIN}/@code{COMMIT} around transaction in the binary log. This makes replication honour transactions. @item Fixed security bug when having an empty database name in the @code{user.db} table. @item Loading Loading @@ -51293,6 +51350,9 @@ Linux-x86 binaries. @itemize @bullet @item Fixed buffer overflow problem if someone specified a too long datadir parameter to mysqld @item Add missing @code{<row>} tags for @code{mysqldump} XML output. @item Fixed problem with @code{crash-me} and @code{gcc} 3.0.4. include/violite.h +1 −1 Original line number Diff line number Diff line Loading @@ -175,7 +175,7 @@ struct st_VioSSLConnectorFd }; void sslaccept(struct st_VioSSLAcceptorFd*, Vio*, long timeout); void sslconnect(struct st_VioSSLConnectorFd*, Vio*, long timeout); int sslconnect(struct st_VioSSLConnectorFd*, Vio*, long timeout); struct st_VioSSLConnectorFd *new_VioSSLConnectorFd(const char* key_file, const char* cert_file, Loading innobase/btr/btr0cur.c +25 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,9 @@ btr_cur_search_to_nth_level( rw_lock_s_unlock(&btr_search_latch); } /* Store the position of the tree latch we push to mtr so that we know how to release it when we have latched leaf node(s) */ savepoint = mtr_set_savepoint(mtr); tree = index->tree; Loading Loading @@ -506,12 +509,18 @@ btr_cur_open_at_index_side( ulint root_height = 0; /* remove warning */ rec_t* node_ptr; ulint estimate; ulint savepoint; estimate = latch_mode & BTR_ESTIMATE; latch_mode = latch_mode & ~BTR_ESTIMATE; tree = index->tree; /* Store the position of the tree latch we push to mtr so that we know how to release it when we have latched the leaf node */ savepoint = mtr_set_savepoint(mtr); if (latch_mode == BTR_MODIFY_TREE) { mtr_x_lock(dict_tree_get_lock(tree), mtr); } else { Loading Loading @@ -544,6 +553,22 @@ btr_cur_open_at_index_side( if (height == 0) { btr_cur_latch_leaves(tree, page, space, page_no, latch_mode, cursor, mtr); /* In versions <= 3.23.52 we had forgotten to release the tree latch here. If in an index scan we had to scan far to find a record visible to the current transaction, that could starve others waiting for the tree latch. */ if ((latch_mode != BTR_MODIFY_TREE) && (latch_mode != BTR_CONT_MODIFY_TREE)) { /* Release the tree s-latch */ mtr_release_s_latch_at_savepoint( mtr, savepoint, dict_tree_get_lock(tree)); } } if (from_left) { Loading innobase/os/os0file.c +1 −1 Original line number Diff line number Diff line Loading @@ -2278,7 +2278,7 @@ os_aio_simulated_handle( ut_print_timestamp(stderr); fprintf(stderr, " InnoDB: ERROR: The page to be written seems corrupt!\n"); page_print(combined_buf + len2); buf_page_print(combined_buf + len2); fprintf(stderr, "InnoDB: ERROR: The page to be written seems corrupt!\n"); } Loading innobase/os/os0sync.c +6 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,12 @@ os_event_create( TRUE, /* Manual reset */ FALSE, /* Initial state nonsignaled */ name); if (!event) { fprintf(stderr, "InnoDB: Could not create a Windows event semaphore; Windows error %lu\n", (ulint)GetLastError()); } ut_a(event); return(event); Loading Loading
Docs/manual.texi +167 −107 Original line number Diff line number Diff line Loading @@ -19751,24 +19751,27 @@ The output resembles that shown here, though the format and numbers may differ somewhat: @example +------------------------------+---------------------------+ +---------------------------------+------------------------------+ | Variable_name | Value | +------------------------------+---------------------------+ | ansi_mode | OFF | +---------------------------------+------------------------------| | back_log | 50 | | basedir | /my/monty/ | | bdb_cache_size | 16777216 | | basedir | /usr/local/mysql | | bdb_cache_size | 8388572 | | bdb_log_buffer_size | 32768 | | bdb_home | /my/monty/data/ | | bdb_home | /usr/local/mysql | | bdb_max_lock | 10000 | | bdb_logdir | | | bdb_shared_data | OFF | | bdb_tmpdir | /tmp/ | | bdb_version | Sleepycat Software: ... | | binlog_cache_size | 32768 | | bulk_insert_buffer_size | 8388608 | | character_set | latin1 | | character_sets | latin1 big5 czech euc_kr | | concurrent_insert | ON | | connect_timeout | 5 | | datadir | /my/monty/data/ | | convert_character_set | | | datadir | /usr/local/mysql/data/ | | delay_key_write | ON | | delayed_insert_limit | 100 | | delayed_insert_timeout | 300 | Loading @@ -19778,65 +19781,100 @@ differ somewhat: | ft_min_word_len | 4 | | ft_max_word_len | 254 | | ft_max_word_len_for_sort | 20 | | ft_boolean_syntax | + -><()~* | | ft_boolean_syntax | + -><()~*:""&| | | have_bdb | YES | | have_innodb | YES | | have_raid | YES | | have_openssl | NO | | have_isam | YES | | have_raid | NO | | have_symlink | DISABLED | | have_openssl | YES | | have_query_cache | YES | | init_file | | | innodb_additional_mem_pool_size | 1048576 | | innodb_buffer_pool_size | 8388608 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | | | innodb_file_io_threads | 4 | | innodb_force_recovery | 0 | | innodb_thread_concurrency | 8 | | innodb_flush_log_at_trx_commit | 0 | | innodb_fast_shutdown | ON | | innodb_flush_method | | | innodb_lock_wait_timeout | 50 | | innodb_log_arch_dir | | | innodb_log_archive | OFF | | innodb_log_buffer_size | 1048576 | | innodb_log_file_size | 5242880 | | innodb_log_files_in_group | 2 | | innodb_log_group_home_dir | ./ | | innodb_mirrored_log_groups | 1 | | interactive_timeout | 28800 | | join_buffer_size | 131072 | | key_buffer_size | 16776192 | | language | /my/monty/share/english/ | | key_buffer_size | 16773120 | | language | /usr/local/mysql/share/... | | large_files_support | ON | | local_infile | ON | | locked_in_memory | OFF | | log | OFF | | log_update | OFF | | log_bin | OFF | | log_slave_updates | OFF | | log_slow_queries | OFF | | log_warnings | OFF | | long_query_time | 10 | | low_priority_updates | OFF | | lower_case_table_names | 0 | | max_allowed_packet | 1048576 | | lower_case_table_names | OFF | | max_allowed_packet | 1047552 | | max_binlog_cache_size | 4294967295 | | max_binlog_size | 1073741824 | | max_connections | 100 | | max_connect_errors | 10 | | max_delayed_threads | 20 | | max_heap_table_size | 16777216 | | max_join_size | 4294967295 | | max_sort_length | 1024 | | max_user_connections | 0 | | max_tmp_tables | 32 | | max_write_lock_count | 4294967295 | | myisam_recover_options | DEFAULT | | myisam_max_extra_sort_file_size | 268435456 | | myisam_max_sort_file_size | 2147483647 | | myisam_recover_options | force | | myisam_sort_buffer_size | 8388608 | | net_buffer_length | 16384 | | net_read_timeout | 30 | | net_retry_count | 10 | | net_write_timeout | 60 | | open_files_limit | 0 | | pid_file | /my/monty/data/donna.pid | | pid_file | /usr/local/mysql/name.pid | | port | 3306 | | protocol_version | 10 | | read_buffer_size | 131072 | | read_rnd_buffer_size | 262144 | | rpl_recovery_rank | 0 | | query_cache_limit | 1048576 | | query_cache_size | 16768060 | | query_cache_type | 1 | | query_cache_size | 0 | | query_cache_type | ON | | safe_show_database | OFF | | server_id | 0 | | skip_locking | ON | | slave_net_timeout | 3600 | | skip_external_locking | ON | | skip_networking | OFF | | skip_show_database | OFF | | slow_launch_time | 2 | | socket | /tmp/mysql.sock | | sort_buffer | 2097116 | | sort_buffer_size | 2097116 | | sql_mode | 0 | | table_cache | 64 | | table_type | MYISAM | | thread_cache_size | 4 | | thread_stack | 65536 | | tmp_table_size | 1048576 | | thread_cache_size | 3 | | thread_stack | 131072 | | tx_isolation | READ-COMMITTED | | timezone | EEST | | tmp_table_size | 33554432 | | tmpdir | /tmp/ | | version | 3.23.29a-gamma-debug | | version | 4.0.4-beta | | wait_timeout | 28800 | +------------------------------+---------------------------+ +---------------------------------+------------------------------+ @end example Each option is described here. Values for buffer sizes, lengths, and stack Loading Loading @@ -20339,8 +20377,13 @@ The directory used for temporary files and temporary tables. The version number for the server. @item @code{wait_timeout} The number of seconds the server waits for activity on a connection before closing it. See also @code{interactive_timeout}. The number of seconds the server waits for activity on a not interactive connection before closing it. On thread startup @code{SESSION.WAIT_TIMEOUT} is initialised from @code{GLOBAL.WAIT_TIMEOUT} or @code{GLOBAL.INTERACTIVE_TIMEOUT} depending on the type of client (as defined by the @code{CLIENT_INTERACTIVE} connect option). See also @code{interactive_timeout}. @end itemize The manual section that describes tuning MySQL contains some Loading Loading @@ -39502,6 +39545,9 @@ transaction. * InnoDB Locks set:: Locks Set by Different SQL Statements in InnoDB * InnoDB Deadlock detection:: Deadlock Detection and Rollback * InnoDB Consistent read example:: An Example of How the Consistent Read Works in InnoDB * Innodb deadlocks:: * Innodb tuning:: * Innodb Monitor:: @end menu Loading Loading @@ -39722,7 +39768,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 InnoDB Consistent read example, , InnoDB Deadlock detection, InnoDB transaction model @node InnoDB Consistent read example, Innodb deadlocks, InnoDB Deadlock detection, InnoDB transaction model @subsubsection An Example of How the Consistent Read Works in InnoDB When you issue a consistent read, that is, an ordinary @code{SELECT} Loading Loading @@ -39771,6 +39817,7 @@ use a locking read: SELECT * FROM t LOCK IN SHARE MODE; @end example @node Innodb deadlocks, Innodb tuning, InnoDB Consistent read example, InnoDB transaction model @subsubsection How to cope with deadlocks? Deadlocks are a classic problem in transactional databases, Loading Loading @@ -39815,7 +39862,8 @@ and @code{UNLOCK TABLES} implicitly ends the transaction in a @code{COMMIT}. @end itemize @subsection Performance Tuning Tips @node Innodb tuning, Innodb Monitor, Innodb deadlocks, InnoDB transaction model @subsubsection Performance Tuning Tips @strong{1.} If the Unix @file{top} or the Windows @file{Task Manager} shows that Loading Loading @@ -39902,11 +39950,12 @@ INSERT INTO yourtable VALUES (1, 2), (5, 5); This tip is of course valid for inserts into any table type, not just InnoDB. @node Innodb Monitor, , Innodb tuning, InnoDB transaction model @subsubsection The InnoDB Monitor Starting from version 3.23.41 InnoDB includes the InnoDB Monitor which prints information on the InnoDB internal state. When swithed on, InnoDB Monitor When switched on, InnoDB Monitor will make the MySQL server @file{mysqld} to print data (note: the MySQL client will not print anything) to the standard Loading Loading @@ -40153,13 +40202,12 @@ index. Note that if the primary key is long, the secondary indexes will use more space. @menu * InnoDB physical structure:: Physical Structure of an Index * InnoDB Insert buffering:: Insert Buffering * InnoDB Adaptive hash:: Adaptive Hash Indexes * InnoDB Physical record:: Physical Record Structure * InnoDB physical structure:: * InnoDB Insert buffering:: * InnoDB Adaptive hash:: * InnoDB Physical record:: @end menu @node InnoDB physical structure, InnoDB Insert buffering, Table and index, Table and index @subsubsection Physical Structure of an Index Loading Loading @@ -46135,7 +46183,7 @@ is not the case, you should run the script @menu * UDF calling:: UDF Calling Sequences * UDF aggr. calling :: UDF Calling Sequences for aggregate functions * UDF aggr. calling:: * UDF arguments:: Argument Processing * UDF return values:: Return Values and Error Handling * UDF compiling:: Compiling and Installing User-definable Functions Loading Loading @@ -47665,7 +47713,7 @@ limits! In this case you should start @code{safe_mysqld} with @code{sh}! @menu * Link errors:: Problems When Linking with the MySQL Client Library * Changing MySQL user:: How to Run MySQL As a Normal User * File permissions :: Problems with File Permissions * File permissions:: @end menu @node Link errors, Changing MySQL user, Installation Issues, Installation Issues Loading Loading @@ -47932,12 +47980,6 @@ check whether things that work for others crash for you. Please try the following things: @itemize @bullet @item Cleaned up @code{NULL} handling for default values in @code{DESCRIBE table_name}. @item Fixed @code{truncate()} to round up negative values to the nearest integer. @item Take down the @code{mysqld} daemon with @code{mysqladmin shutdown}, run @code{myisamchk --silent --force */*.MYI} on all tables, and restart the @code{mysqld} daemon. This will ensure that you are running from a clean Loading Loading @@ -50398,6 +50440,13 @@ each individual 4.0.x release. @itemize @bullet @item Added @code{LOCK TABLES} and @code{CREATE TEMPORARY TABLES} privilege on the database level. One must run the @code{ mysql_fix_privilege_tables} script on old installations to activate these. @item In @code{SHOW TABLE ... STATUS} compressed tables showed sometimes up as @code{dynamic}. @item @code{SELECT @@@@[global|session].var_name} didn't report @code{global | session} in the result column name. @item Loading Loading @@ -50613,6 +50662,11 @@ other databases. It is synonymous with @code{LOG(X)}. @itemize @bullet @item Cleaned up @code{NULL} handling for default values in @code{DESCRIBE table_name}. @item Fixed @code{truncate()} to round up negative values to the nearest integer. @item Changed @code{--chroot=path} option to execute @code{chroot()} immediately after all options have been parsed. @item Loading Loading @@ -51192,6 +51246,9 @@ Multithreaded stress tests for InnoDB. @appendixsubsec Changes in release 3.23.52 (14 Aug 2002) @itemize @bullet @item Wrap @code{BEGIN}/@code{COMMIT} around transaction in the binary log. This makes replication honour transactions. @item Fixed security bug when having an empty database name in the @code{user.db} table. @item Loading Loading @@ -51293,6 +51350,9 @@ Linux-x86 binaries. @itemize @bullet @item Fixed buffer overflow problem if someone specified a too long datadir parameter to mysqld @item Add missing @code{<row>} tags for @code{mysqldump} XML output. @item Fixed problem with @code{crash-me} and @code{gcc} 3.0.4.
include/violite.h +1 −1 Original line number Diff line number Diff line Loading @@ -175,7 +175,7 @@ struct st_VioSSLConnectorFd }; void sslaccept(struct st_VioSSLAcceptorFd*, Vio*, long timeout); void sslconnect(struct st_VioSSLConnectorFd*, Vio*, long timeout); int sslconnect(struct st_VioSSLConnectorFd*, Vio*, long timeout); struct st_VioSSLConnectorFd *new_VioSSLConnectorFd(const char* key_file, const char* cert_file, Loading
innobase/btr/btr0cur.c +25 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,9 @@ btr_cur_search_to_nth_level( rw_lock_s_unlock(&btr_search_latch); } /* Store the position of the tree latch we push to mtr so that we know how to release it when we have latched leaf node(s) */ savepoint = mtr_set_savepoint(mtr); tree = index->tree; Loading Loading @@ -506,12 +509,18 @@ btr_cur_open_at_index_side( ulint root_height = 0; /* remove warning */ rec_t* node_ptr; ulint estimate; ulint savepoint; estimate = latch_mode & BTR_ESTIMATE; latch_mode = latch_mode & ~BTR_ESTIMATE; tree = index->tree; /* Store the position of the tree latch we push to mtr so that we know how to release it when we have latched the leaf node */ savepoint = mtr_set_savepoint(mtr); if (latch_mode == BTR_MODIFY_TREE) { mtr_x_lock(dict_tree_get_lock(tree), mtr); } else { Loading Loading @@ -544,6 +553,22 @@ btr_cur_open_at_index_side( if (height == 0) { btr_cur_latch_leaves(tree, page, space, page_no, latch_mode, cursor, mtr); /* In versions <= 3.23.52 we had forgotten to release the tree latch here. If in an index scan we had to scan far to find a record visible to the current transaction, that could starve others waiting for the tree latch. */ if ((latch_mode != BTR_MODIFY_TREE) && (latch_mode != BTR_CONT_MODIFY_TREE)) { /* Release the tree s-latch */ mtr_release_s_latch_at_savepoint( mtr, savepoint, dict_tree_get_lock(tree)); } } if (from_left) { Loading
innobase/os/os0file.c +1 −1 Original line number Diff line number Diff line Loading @@ -2278,7 +2278,7 @@ os_aio_simulated_handle( ut_print_timestamp(stderr); fprintf(stderr, " InnoDB: ERROR: The page to be written seems corrupt!\n"); page_print(combined_buf + len2); buf_page_print(combined_buf + len2); fprintf(stderr, "InnoDB: ERROR: The page to be written seems corrupt!\n"); } Loading
innobase/os/os0sync.c +6 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,12 @@ os_event_create( TRUE, /* Manual reset */ FALSE, /* Initial state nonsignaled */ name); if (!event) { fprintf(stderr, "InnoDB: Could not create a Windows event semaphore; Windows error %lu\n", (ulint)GetLastError()); } ut_a(event); return(event); Loading