mariadb/srv/srv0srv.c

2765 lines
80 KiB
C
Raw Normal View History

branches/innodb+: Merge revisions 4150:4528 from branches/zip: ------------------------------------------------------------------------ r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: When innodb_use_sys_malloc is set, ignore innodb_additional_mem_pool_size, because nothing will be allocated from mem_comm_pool. mem_pool_create(): Remove the assertion about size. The function will work with any size. However, an assertion would fail in ut_malloc_low() when size==0. mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create(). mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c. ------------------------------------------------------------------------ r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines branches/zip: (followup to r4145) Non-functional change: Change the os_atomic_increment() and os_compare_and_swap() functions to macros to avoid artificial limitations on the types of those functions' arguments. As a consequence typecasts from the source code can be removed. Also remove Google's copyright from os0sync.ic because that file no longer contains code from Google. Approved by: Marko (rb://88), also ok from Inaam via IM ------------------------------------------------------------------------ r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Make innodb_thread_concurrency=0 the default. The old default was 8. ------------------------------------------------------------------------ r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines branches/zip: Adjust the result file of innodb_thread_concurrency_basic test. The default value of innodb_thread_concurrency is changed to 0 (from 8) via r4163. ------------------------------------------------------------------------ r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Fix pathname of the file to patch. ------------------------------------------------------------------------ r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines branches/zip: Fix the failing mysql-test partition_innodb, which failed only if run after innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into the output of SHOW ENGINE INNODB STATUS). Find further explanation for the failure at the top of the added patch partition_innodb.diff. ------------------------------------------------------------------------ r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: Add the full text of the GPLv2 license into the root directory of the plugin. In previous releases this file was copied from an external source (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when creating the source and binary archives. It is less confusing to have this present in the root directory of the SVN branch. ------------------------------------------------------------------------ r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add Google's license into COPYING.Google. ------------------------------------------------------------------------ r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines branches/zip: To the files touched by the Google patch from c4144 (excluding include/os0sync.ic because later we removed Google code from that file): * Remove the Google license * Remove old Innobase copyright lines * Add a reference to the Google license and to the GPLv2 license at the top, as recommended by the lawyers at Oracle Legal. ------------------------------------------------------------------------ r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 1/28] ------------------------------------------------------------------------ r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 2/28] ------------------------------------------------------------------------ r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 3/28] ------------------------------------------------------------------------ r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 4/28] ------------------------------------------------------------------------ r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 5/28] ------------------------------------------------------------------------ r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 6/28] ------------------------------------------------------------------------ r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 7/28] ------------------------------------------------------------------------ r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 8/28] ------------------------------------------------------------------------ r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 9/28] ------------------------------------------------------------------------ r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 10/28] ------------------------------------------------------------------------ r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 11/28] ------------------------------------------------------------------------ r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 12/28] ------------------------------------------------------------------------ r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 15/28] ------------------------------------------------------------------------ r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 16/28] ------------------------------------------------------------------------ r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 17/28] ------------------------------------------------------------------------ r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 18/28] ------------------------------------------------------------------------ r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 19/28] ------------------------------------------------------------------------ r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 20/28] ------------------------------------------------------------------------ r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 21/28] ------------------------------------------------------------------------ r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 22/28] ------------------------------------------------------------------------ r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 23/28] ------------------------------------------------------------------------ r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 24/28] ------------------------------------------------------------------------ r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 25/28] ------------------------------------------------------------------------ r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 26/28] ------------------------------------------------------------------------ r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 27/28] ------------------------------------------------------------------------ r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 28/28] ------------------------------------------------------------------------ r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add the copyright notice to the non C files. ------------------------------------------------------------------------ r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines Minor cleanup of the Google SMP patch. sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning about the return value of os_atomic_increment() being ignored. rw_lock_create_func(): Properly indent the preprocessor directives. rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly. rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning. Do not mix statements and variable declarations. ------------------------------------------------------------------------ r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines branches/zip: When assigning lock->recursive = FALSE, also flag lock->writer_thread invalid, so that Valgrind will catch more errors. This is related to Issue #175. ------------------------------------------------------------------------ r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning about a while(0); statement. This should fix (part of) Issue #176. ------------------------------------------------------------------------ r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning about an empty body of a "for" statement. This fixes part of Issue #176. ------------------------------------------------------------------------ r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines branches/zip: Protect ut_total_allocated_memory with ut_list_mutex. Unprotected updates to ut_total_allocated_memory in os_mem_alloc_large() and os_mem_free_large(), called during fast index creation, may corrupt the variable and cause assertion failures. Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can detect more errors. rb://90 approved by Heikki Tuuri. This addresses Issue #177. ------------------------------------------------------------------------ r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning about an empty body in a "for" statement. This closes Issue #176. ------------------------------------------------------------------------ r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines branches/zip: Issue #178 rb://91 Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that both .c and .cc files get compiled with same flags. To fix the issue where UNIV_LINUX was defined only in .c files. Approved by: Marko ------------------------------------------------------------------------ r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Cleanup in ChangeLog: * Wrap lines at 78 characters * Changed files are listed alphabetically * White-space cleanup ------------------------------------------------------------------------ r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines branches/zip: ChangeLog: Remove include/os0sync.ic from the entry about the google patch, this file was modified later to not include Google's code. ------------------------------------------------------------------------ r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines branches/zip: Merge revisions 4035:4261 from branches/5.1: ------------------------------------------------------------------------ r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC is only defined for integer columns. This caused an assertion failure when we checked for the maximum value of a column type. We now calculate the max value for floating-point autoinc columns too. Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns rb://84 and Mantis issue://162 ------------------------------------------------------------------------ r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add the ULL suffix otherwise there is an overflow. ------------------------------------------------------------------------ r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2709.20.31 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2008-12-19 01:28:51 +0100 message: Disable part of innodb-autoinc.test, because the MySQL server asserts when compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and increment > 1". This change should be reverted when that bug is fixed (and a a few other minor changes to the test as described in comments). modified: mysql-test/r/innodb-autoinc.result mysql-test/t/innodb-autoinc.test ------------------------------------------------------------------------ r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: [looks like the changes to innodb-autoinc.test were made as part of the following huge merge, but we are merging only changes to that file] ------------------------------------------------------------ revno: 2546.47.1 committer: Luis Soares <luis.soares@sun.com> branch nick: 5.1-rpl timestamp: Fri 2009-01-23 13:22:05 +0100 message: merge: 5.1 -> 5.1-rpl conflicts: Text conflict in client/mysqltest.cc Text conflict in mysql-test/include/wait_until_connected_again.inc Text conflict in mysql-test/lib/mtr_report.pm Text conflict in mysql-test/mysql-test-run.pl Text conflict in mysql-test/r/events_bugs.result Text conflict in mysql-test/r/log_state.result Text conflict in mysql-test/r/myisam_data_pointer_size_func.result Text conflict in mysql-test/r/mysqlcheck.result Text conflict in mysql-test/r/query_cache.result Text conflict in mysql-test/r/status.result Text conflict in mysql-test/suite/binlog/r/binlog_index.result Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_packet.result Text conflict in mysql-test/suite/rpl/t/rpl_packet.test Text conflict in mysql-test/t/disabled.def Text conflict in mysql-test/t/events_bugs.test Text conflict in mysql-test/t/log_state.test Text conflict in mysql-test/t/myisam_data_pointer_size_func.test Text conflict in mysql-test/t/mysqlcheck.test Text conflict in mysql-test/t/query_cache.test Text conflict in mysql-test/t/rpl_init_slave_func.test Text conflict in mysql-test/t/status.test removed: mysql-test/suite/parts/r/partition_bit_ndb.result mysql-test/suite/parts/t/partition_bit_ndb.test mysql-test/suite/parts/t/partition_sessions.test mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test mysql-test/t/log_bin_trust_function_creators_func-master.opt mysql-test/t/rpl_init_slave_func-slave.opt added: mysql-test/include/check_events_off.inc mysql-test/include/cleanup_fake_relay_log.inc mysql-test/include/have_simple_parser.inc mysql-test/include/no_running_event_scheduler.inc mysql-test/include/no_running_events.inc mysql-test/include/running_event_scheduler.inc mysql-test/include/setup_fake_relay_log.inc mysql-test/include/wait_condition_sp.inc mysql-test/r/fulltext_plugin.result mysql-test/r/have_simple_parser.require mysql-test/r/innodb_bug38231.result mysql-test/r/innodb_bug39438.result mysql-test/r/innodb_mysql_rbk.result mysql-test/r/partition_innodb_semi_consistent.result mysql-test/r/query_cache_28249.result mysql-test/r/status2.result mysql-test/std_data/bug40482-bin.000001 mysql-test/suite/binlog/r/binlog_innodb_row.result mysql-test/suite/binlog/t/binlog_innodb_row.test mysql-test/suite/rpl/r/rpl_binlog_corruption.result mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt mysql-test/suite/rpl/t/rpl_binlog_corruption.test mysql-test/suite/sys_vars/r/tmp_table_size_basic.result mysql-test/suite/sys_vars/t/tmp_table_size_basic.test mysql-test/t/fulltext_plugin-master.opt mysql-test/t/fulltext_plugin.test mysql-test/t/innodb_bug38231.test mysql-test/t/innodb_bug39438-master.opt mysql-test/t/innodb_bug39438.test mysql-test/t/innodb_mysql_rbk-master.opt mysql-test/t/innodb_mysql_rbk.test mysql-test/t/partition_innodb_semi_consistent-master.opt mysql-test/t/partition_innodb_semi_consistent.test mysql-test/t/query_cache_28249.test mysql-test/t/status2.test renamed: mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test modified: .bzr-mysql/default.conf CMakeLists.txt client/mysql.cc client/mysql_upgrade.c client/mysqlcheck.c client/mysqltest.cc configure.in extra/resolve_stack_dump.c extra/yassl/include/openssl/ssl.h include/config-win.h include/m_ctype.h include/my_global.h mysql-test/extra/binlog_tests/database.test mysql-test/extra/rpl_tests/rpl_auto_increment.test mysql-test/include/commit.inc mysql-test/include/have_32bit.inc mysql-test/include/have_64bit.inc mysql-test/include/index_merge1.inc mysql-test/include/linux_sys_vars.inc mysql-test/include/windows_sys_vars.inc mysql-test/lib/mtr_report.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/commit_1innodb.result mysql-test/r/create.result mysql-test/r/csv.result mysql-test/r/ctype_ucs.result mysql-test/r/date_formats.result mysql-test/r/events_bugs.result mysql-test/r/events_scheduling.result mysql-test/r/fulltext.result mysql-test/r/func_if.result mysql-test/r/func_in.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb-autoinc.result mysql-test/r/innodb.result mysql-test/r/innodb_mysql.result mysql-test/r/log_bin_trust_function_creators_func.result mysql-test/r/log_state.result mysql-test/r/myisampack.result mysql-test/r/mysql.result mysql-test/r/mysqlcheck.result mysql-test/r/partition_datatype.result mysql-test/r/partition_mgm.result mysql-test/r/partition_pruning.result mysql-test/r/query_cache.result mysql-test/r/read_buffer_size_basic.result mysql-test/r/read_rnd_buffer_size_basic.result mysql-test/r/rpl_init_slave_func.result mysql-test/r/select.result mysql-test/r/status.result mysql-test/r/strict.result mysql-test/r/temp_table.result mysql-test/r/type_bit.result mysql-test/r/type_date.result mysql-test/r/type_float.result mysql-test/r/warnings_engine_disabled.result mysql-test/r/xml.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_index.result mysql-test/suite/binlog/r/binlog_innodb.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_innodb.test mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_engines.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/funcs_1/storedproc/param_check.inc mysql-test/suite/funcs_2/t/disabled.def mysql-test/suite/ndb/t/disabled.def mysql-test/suite/parts/r/partition_bit_innodb.result mysql-test/suite/parts/r/partition_bit_myisam.result mysql-test/suite/parts/r/partition_special_innodb.result mysql-test/suite/parts/t/disabled.def mysql-test/suite/parts/t/partition_special_innodb.test mysql-test/suite/parts/t/partition_value_innodb.test mysql-test/suite/parts/t/partition_value_myisam.test mysql-test/suite/parts/t/partition_value_ndb.test mysql-test/suite/rpl/r/rpl_auto_increment.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_slave_skip.result mysql-test/suite/rpl/r/rpl_trigger.result mysql-test/suite/rpl/t/disabled.def mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_slave_skip.test mysql-test/suite/rpl/t/rpl_trigger.test mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/alter_table.test mysql-test/t/create.test mysql-test/t/csv.test mysql-test/t/ctype_ucs.test mysql-test/t/date_formats.test mysql-test/t/disabled.def mysql-test/t/events_bugs.test mysql-test/t/events_scheduling.test mysql-test/t/fulltext.test mysql-test/t/func_if.test mysql-test/t/func_in.test mysql-test/t/func_str.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/information_schema.test mysql-test/t/innodb-autoinc.test mysql-test/t/innodb.test mysql-test/t/innodb_mysql.test mysql-test/t/log_bin_trust_function_creators_func.test mysql-test/t/log_state.test mysql-test/t/myisam_data_pointer_size_func.test mysql-test/t/myisampack.test mysql-test/t/mysql.test mysql-test/t/mysqlcheck.test mysql-test/t/partition_innodb_stmt.test mysql-test/t/partition_mgm.test mysql-test/t/partition_pruning.test mysql-test/t/query_cache.test mysql-test/t/rpl_init_slave_func.test mysql-test/t/select.test mysql-test/t/status.test mysql-test/t/strict.test mysql-test/t/temp_table.test mysql-test/t/type_bit.test mysql-test/t/type_date.test mysql-test/t/type_float.test mysql-test/t/warnings_engine_disabled.test mysql-test/t/xml.test mysys/my_getopt.c mysys/my_init.c scripts/mysql_install_db.sh sql-common/my_time.c sql/field.cc sql/field.h sql/filesort.cc sql/ha_partition.cc sql/ha_partition.h sql/item.cc sql/item_cmpfunc.cc sql/item_func.h sql/item_strfunc.cc sql/item_sum.cc sql/item_timefunc.cc sql/item_timefunc.h sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/mysql_priv.h sql/mysqld.cc sql/opt_range.cc sql/partition_info.cc sql/repl_failsafe.cc sql/rpl_constants.h sql/set_var.cc sql/slave.cc sql/spatial.h sql/sql_acl.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_delete.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_locale.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_profile.cc sql/sql_repl.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_trigger.h sql/table.cc sql/table.h sql/unireg.cc storage/csv/ha_tina.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/innobase/Makefile.am storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/include/btr0sea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0mem.h storage/innobase/include/ha_prototypes.h storage/innobase/include/lock0lock.h storage/innobase/include/row0mysql.h storage/innobase/include/sync0sync.ic storage/innobase/include/ut0ut.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/plug.in storage/innobase/row/row0mysql.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0ut.c storage/myisam/ft_boolean_search.c strings/ctype.c strings/xml.c tests/mysql_client_test.c win/configure.js mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test ------------------------------------------------------------------------ r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: minor non-functional changes. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines branches/zip: Add a ChangeLog entry for a change in r4262. ------------------------------------------------------------------------ r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines branches/zip: Make innodb_use_sys_malloc=ON the default. Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc) to improve branch prediction in the default case. Approved by Ken over the IM. ------------------------------------------------------------------------ r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Add a sentence at the top of COPYING.Google to clarify that this license does not apply to the whole InnoDB. Suggested by: Ken ------------------------------------------------------------------------ r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines branches/zip: Initialize ut_list_mutex at startup. Without this fix, ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1. This fix addresses Issue #181. ut_mem_block_list_init(): Rename to ut_mem_init() and make public. ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited). mem_init(): Call ut_mem_init(). ------------------------------------------------------------------------ r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in FIL_PAGE_TYPE. (Bug #43043, Issue #182) btr_check_blob_fil_page_type(): New function. btr_free_externally_stored_field(), btr_copy_blob_prefix(): Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE. ------------------------------------------------------------------------ r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion. btr_check_blob_fil_page_type(): Replace the parameter const char* op with ibool read. Do not print anything about page type mismatch when reading a BLOB page in Antelope format. Print space id before page number. ------------------------------------------------------------------------ r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited. ------------------------------------------------------------------------ r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines branches/zip: Fix bugs in the fix of Issue #181. Tested inside and outside Valgrind, with innodb_use_sys_malloc set to 0 and 1. mem_init(): Invoke ut_mem_init() before mem_pool_create(), because the latter one will invoke ut_malloc(). srv_general_init(): Do not initialize the memory subsystem (mem_init()). innobase_init(): Initialize the memory subsystem (mem_init()) before calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc(). Call ut_free_all_mem() in error handling to clean up after the mem_init(). ------------------------------------------------------------------------ r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove unused function os_mem_alloc_nocache(). ------------------------------------------------------------------------ r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove the unused function dict_index_get_type(). ------------------------------------------------------------------------ r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h". ------------------------------------------------------------------------ r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h". ------------------------------------------------------------------------ r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines branches/zip: Merge revisions 4261:4287 from branches/5.1: ------------------------------------------------------------------------ r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two changes to the autoinc handling. 1. To fix the immediate problem from the bug report, we must ensure that the value written to the table is always less than the max value stored in dict_table_t. 2. The second related change is that according to MySQL documentation when the offset is greater than the increment, we should ignore the offset. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the fix in r4288. ------------------------------------------------------------------------ r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines branches/zip: Make ChangeLog entries for bugs in bugs.mysql.com in the form: Fix Bug#12345 bug title (for bugs after 1.0.2 was released and the ChangeLog published) There is no need to bloat the ChangeLog with information that is available via bugs.mysql.com. Discussed with: Marko ------------------------------------------------------------------------ r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Fix Bug synopsis and remove explanation ------------------------------------------------------------------------ r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines branches/zip: Correct the initialization of the memory subsystem once again, to finally put Issue #181 to rest. Revert some parts of r4274. It is best not to call ut_malloc() before srv_general_init(). mem_init(): Do not call ut_mem_init(). srv_general_init(): Initialize the memory subsystem in two phases: first ut_mem_init(), then mem_init(). This is because os_sync_init() and sync_init() depend on ut_mem_init() and mem_init() depends on os_sync_init() or sync_init(). srv_parse_data_file_paths_and_sizes(), srv_parse_log_group_home_dirs(): Remove the output parameters. Assign to the global variables directly. Allocate memory with malloc() instead of ut_malloc(), because these functions will be called before srv_general_init(). srv_free_paths_and_sizes(): New function, for cleaning up after srv_parse_data_file_paths_and_sizes() and srv_parse_log_group_home_dirs(). rb://92 approved by Sunny Bains ------------------------------------------------------------------------ r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: White-space cleanup in the ChangeLog ------------------------------------------------------------------------ r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines branches/zip: Do not output the commands that restore the environment because they depend on the state of the environment before the test starts executing. ------------------------------------------------------------------------ r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines branches/zip: Apply any necessary patches to the mysql tree at the end of setup.sh This step was previously done manually (and sometimes forgotten). ------------------------------------------------------------------------ r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines branches/zip: btr_check_blob_fil_page_type(): Do not report FIL_PAGE_TYPE mismatch even when purging a BLOB. Heavy users may have large data files created with MySQL 5.0 or earlier, and they don not want to have the error log flooded with such messages. This fixes Issue #182. ------------------------------------------------------------------------ r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines branches/zip This is to revert the changes made to the plug.in (r4251) as a fix for issue# 178. Changes to plug.in will not propogate to a plugin installation unless autotools are rerun which is unacceptable. A fix for issue# 178 will be committed in a separate commit. ------------------------------------------------------------------------ r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines branches/zip This is a fix for issue#178. Instead of using UNIV_LINUX which is defined through CFLAGS we use compiler generated define __linux__ that is effective for both .c and .cc files. ------------------------------------------------------------------------ r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines branches/zip: Add FreeBSD to the list of the operating systems that have sizeof(pthread_t) == sizeof(void*) (i.e. word size). On FreeBSD pthread_t is defined like: /usr/include/sys/_pthreadtypes.h: typedef struct pthread *pthread_t; I did the following tests (per Inaam's recommendation): a) appropriate version of GCC is available on that platform (4.1.2 or higher for atomics to be available) On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default one is 4.2.1. One can always install the version of choice from the ports collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be defined and thus the change I am committing will make no difference. b) find out if sizeof(pthread_t) == sizeof(long) On 32 bit both are 4 bytes, on 64 bit both are 8 bytes. c) find out the compiler generated platform define (e.g.: __aix, __sunos__ etc.) The macro is __FreeBSD__. d) patch univ.i with the appropriate platform define e) build the mysql f) ensure it is using atomic builtins (look at the err.log message at system startup. It should say we are using atomics for both mutexes and rw-locks) g) do sanity testing (keeping in view the smp changes) I ran the mysql-test suite. All tests pass. ------------------------------------------------------------------------ r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines branches/zip: As suggested by Ken, print a message that says that the Google SMP patch (GCC atomics) is disabled if it is. Also extend the message when the patch is partially enabled to make it clear that it is partially enabled. ------------------------------------------------------------------------ r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Fix typo made in r4353. ------------------------------------------------------------------------ r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Implement a check whether pthread_t objects can be used by GCC atomic builtin functions. This check is implemented in plug.in and defines the macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the relevant part of the code enabled (the one that uses GCC atomics against pthread_t objects). In addition to this, the same program that is compiled as part of the plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source archives that are shipped to the users, a generated Makefile.in is added. That Makefile.in will be modified to compile ut/ut0auxconf.c and define the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e. Makefile.in will emulate the work that is done by plug.in. This is done in order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually defined without regenerating MySQL's ./configure from ./storage/innobase/plug.in. The point is not to ask users to install the autotools and regenerate ./configure. rb://95 Approved by: Marko ------------------------------------------------------------------------ r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines branches/zip: Merge revisions 4287:4357 from branches/5.1: ------------------------------------------------------------------------ r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv It was not a SIGSEGV but an assertion failure. The assertion was checking the invariant that *first_value passed in by MySQL doesn't contain a value that is greater than the max value for that type. The assertion has been changed to a check and if the value is greater than the max we report a generic AUTOINC failure. rb://93 Approved by Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): ------------------------------------------------------------------------ r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.19.1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2009-02-03 11:36:46 +0000 message: BUG#42445 Warning messages in innobase/handler/ha_innodb.cc There was a type casting problem in the storage/innobase/handler/ha_innodb.cc, (int ha_innobase::write_row(...)). Innobase uses has an internal error variable of type 'ulint' while mysql uses an 'int'. To fix the problem the function manipulates an error variable of type 'ulint' and only casts it into 'int' when needs to return the value. modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Merge revision 4359 from branches/5.1: ------------------------------------------------------------------------ r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2747 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2009-01-16 17:49:07 +0100 message: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Add ChangeLog entry for the bugfix in c4360. ------------------------------------------------------------------------ r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin The dynamic plugin on Windows used to be built with MYSQL_SERVER compile flag, while it is not the case for other platforms. r3797 assumed MYSQL_SERVER was not defined for dynamic plugin, which introduced the engine crash during dropping a database. ------------------------------------------------------------------------ r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE in a separate redo log entry. This will make ibbackup --apply-log debugging easier. ------------------------------------------------------------------------ r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, initialize FIL_PAGE_TYPE. This will make it easier to write the debug assertions for ibbackup --apply-log. ------------------------------------------------------------------------ r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines branches/zip: Merge revisions 4359:4400 from branches/5.1: ------------------------------------------------------------------------ r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position also for unlock_row(). (Bug #39320) ------------------------------------------------------------------------ r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines branches/5.1: Fix a bug in multi-table semi-consistent reads. Remember the acquired record locks per table handle (row_prebuilt_t) rather than per transaction (trx_t), so that unlock_row should successfully unlock all non-matching rows in multi-table operations. This deficiency was found while investigating Bug #39320. ------------------------------------------------------------------------ These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri. ------------------------------------------------------------------------ r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and adjust all callers. ------------------------------------------------------------------------ r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL before dereferencing it. In this way, ut_list_node_313 will be pointing to the last non-NULL list item at the time of the assertion failure. (gcc-4.3.2 -O3 seems to optimize the common subexpressions and make the variable NULL, though.) ------------------------------------------------------------------------ r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: sync_thread_add_level(): Make the assertions about level == SYNC_BUF_BLOCK more readable. ------------------------------------------------------------------------ r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines branches/zip: Remove mysql-test/patches/bug32625.diff because that bug was fixed in the mysql repository (1 year and 4 months after sending them the simple patch!). See http://bugs.mysql.com/32625 ------------------------------------------------------------------------ r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line branches/zip: buf0buddy.c: Add and adjust some debug assertions. ------------------------------------------------------------------------ r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines branches/zip: Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that 1.0.3 has been released. ------------------------------------------------------------------------ r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug41893.diff because that bug has been fixed in the MySQL repository, see http://bugs.mysql.com/41893. ------------------------------------------------------------------------ r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions. ------------------------------------------------------------------------ r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line branches/zip: buf_buddy_free_low(): Correct the function comment. ------------------------------------------------------------------------ r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines branches/zip: Merge revisions 4400:4481 from branches/5.1: ------------------------------------------------------------------------ r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines branches/5.1: row_unlock_for_mysql(): Do not unlock records that were modified by the current transaction. This bug was introduced or unmasked in r4400. rb://97 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup: Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with dict_ind_redundant and dict_ind_compact, initialized in dict_init(). ------------------------------------------------------------------------ r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines branches/zip: Add const qualifiers or in/out comments to some function parameters in log0log. ------------------------------------------------------------------------ r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines branches/zip: page_validate(): Always report the space id and the name of the index. In Hot Backup, do not invoke comparison functions, as MySQL collations will be unavailable. ------------------------------------------------------------------------ r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id(). ------------------------------------------------------------------------ r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars. This eliminates some "unused variable" warnings when building InnoDB Hot Backup in such a way that all mutex operations are no-ops. ------------------------------------------------------------------------ r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. ------------------------------------------------------------------------ r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_recover_page(): Remove compile-time constant parameters. ------------------------------------------------------------------------ r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_sys_init(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change: Add const qualifiers. log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf(): The log block is read-only. Make it const. ------------------------------------------------------------------------ r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: fil_init(): Add the parameter hash_size. ------------------------------------------------------------------------ r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Add any entry about the release of 1.0.3 in the ChangeLog. ------------------------------------------------------------------------ r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. Make it a no-op in UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use PAGE_ZIP_MATCH. In UNIV_HOTBACKUP builds, assume fixed allocation. ------------------------------------------------------------------------ r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Exclude some operating system interface code from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove the remaining references to hash_table_t::adapive from UNIV_HOTBACKUP builds. This should have been done in r4515. ------------------------------------------------------------------------ r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Enclose recv_recovery_from_backup_on and recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE. ------------------------------------------------------------------------ r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions ensuring that FIL_PAGE_TYPE makes sense when applying log records. ------------------------------------------------------------------------ r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove unneeded definitions and dependencies from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines branches/zip: adjust build files on Windows Adjust the patch positions based on the latest MySQL source. Also add the patches to the .bat files for vs9. ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
/*****************************************************************************
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
Copyright (c) 2008, 2009 Google Inc.
branches/innodb+: Merge revisions 4150:4528 from branches/zip: ------------------------------------------------------------------------ r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: When innodb_use_sys_malloc is set, ignore innodb_additional_mem_pool_size, because nothing will be allocated from mem_comm_pool. mem_pool_create(): Remove the assertion about size. The function will work with any size. However, an assertion would fail in ut_malloc_low() when size==0. mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create(). mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c. ------------------------------------------------------------------------ r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines branches/zip: (followup to r4145) Non-functional change: Change the os_atomic_increment() and os_compare_and_swap() functions to macros to avoid artificial limitations on the types of those functions' arguments. As a consequence typecasts from the source code can be removed. Also remove Google's copyright from os0sync.ic because that file no longer contains code from Google. Approved by: Marko (rb://88), also ok from Inaam via IM ------------------------------------------------------------------------ r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Make innodb_thread_concurrency=0 the default. The old default was 8. ------------------------------------------------------------------------ r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines branches/zip: Adjust the result file of innodb_thread_concurrency_basic test. The default value of innodb_thread_concurrency is changed to 0 (from 8) via r4163. ------------------------------------------------------------------------ r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Fix pathname of the file to patch. ------------------------------------------------------------------------ r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines branches/zip: Fix the failing mysql-test partition_innodb, which failed only if run after innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into the output of SHOW ENGINE INNODB STATUS). Find further explanation for the failure at the top of the added patch partition_innodb.diff. ------------------------------------------------------------------------ r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: Add the full text of the GPLv2 license into the root directory of the plugin. In previous releases this file was copied from an external source (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when creating the source and binary archives. It is less confusing to have this present in the root directory of the SVN branch. ------------------------------------------------------------------------ r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add Google's license into COPYING.Google. ------------------------------------------------------------------------ r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines branches/zip: To the files touched by the Google patch from c4144 (excluding include/os0sync.ic because later we removed Google code from that file): * Remove the Google license * Remove old Innobase copyright lines * Add a reference to the Google license and to the GPLv2 license at the top, as recommended by the lawyers at Oracle Legal. ------------------------------------------------------------------------ r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 1/28] ------------------------------------------------------------------------ r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 2/28] ------------------------------------------------------------------------ r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 3/28] ------------------------------------------------------------------------ r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 4/28] ------------------------------------------------------------------------ r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 5/28] ------------------------------------------------------------------------ r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 6/28] ------------------------------------------------------------------------ r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 7/28] ------------------------------------------------------------------------ r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 8/28] ------------------------------------------------------------------------ r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 9/28] ------------------------------------------------------------------------ r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 10/28] ------------------------------------------------------------------------ r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 11/28] ------------------------------------------------------------------------ r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 12/28] ------------------------------------------------------------------------ r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 15/28] ------------------------------------------------------------------------ r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 16/28] ------------------------------------------------------------------------ r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 17/28] ------------------------------------------------------------------------ r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 18/28] ------------------------------------------------------------------------ r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 19/28] ------------------------------------------------------------------------ r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 20/28] ------------------------------------------------------------------------ r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 21/28] ------------------------------------------------------------------------ r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 22/28] ------------------------------------------------------------------------ r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 23/28] ------------------------------------------------------------------------ r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 24/28] ------------------------------------------------------------------------ r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 25/28] ------------------------------------------------------------------------ r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 26/28] ------------------------------------------------------------------------ r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 27/28] ------------------------------------------------------------------------ r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 28/28] ------------------------------------------------------------------------ r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add the copyright notice to the non C files. ------------------------------------------------------------------------ r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines Minor cleanup of the Google SMP patch. sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning about the return value of os_atomic_increment() being ignored. rw_lock_create_func(): Properly indent the preprocessor directives. rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly. rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning. Do not mix statements and variable declarations. ------------------------------------------------------------------------ r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines branches/zip: When assigning lock->recursive = FALSE, also flag lock->writer_thread invalid, so that Valgrind will catch more errors. This is related to Issue #175. ------------------------------------------------------------------------ r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning about a while(0); statement. This should fix (part of) Issue #176. ------------------------------------------------------------------------ r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning about an empty body of a "for" statement. This fixes part of Issue #176. ------------------------------------------------------------------------ r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines branches/zip: Protect ut_total_allocated_memory with ut_list_mutex. Unprotected updates to ut_total_allocated_memory in os_mem_alloc_large() and os_mem_free_large(), called during fast index creation, may corrupt the variable and cause assertion failures. Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can detect more errors. rb://90 approved by Heikki Tuuri. This addresses Issue #177. ------------------------------------------------------------------------ r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning about an empty body in a "for" statement. This closes Issue #176. ------------------------------------------------------------------------ r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines branches/zip: Issue #178 rb://91 Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that both .c and .cc files get compiled with same flags. To fix the issue where UNIV_LINUX was defined only in .c files. Approved by: Marko ------------------------------------------------------------------------ r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Cleanup in ChangeLog: * Wrap lines at 78 characters * Changed files are listed alphabetically * White-space cleanup ------------------------------------------------------------------------ r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines branches/zip: ChangeLog: Remove include/os0sync.ic from the entry about the google patch, this file was modified later to not include Google's code. ------------------------------------------------------------------------ r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines branches/zip: Merge revisions 4035:4261 from branches/5.1: ------------------------------------------------------------------------ r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC is only defined for integer columns. This caused an assertion failure when we checked for the maximum value of a column type. We now calculate the max value for floating-point autoinc columns too. Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns rb://84 and Mantis issue://162 ------------------------------------------------------------------------ r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add the ULL suffix otherwise there is an overflow. ------------------------------------------------------------------------ r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2709.20.31 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2008-12-19 01:28:51 +0100 message: Disable part of innodb-autoinc.test, because the MySQL server asserts when compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and increment > 1". This change should be reverted when that bug is fixed (and a a few other minor changes to the test as described in comments). modified: mysql-test/r/innodb-autoinc.result mysql-test/t/innodb-autoinc.test ------------------------------------------------------------------------ r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: [looks like the changes to innodb-autoinc.test were made as part of the following huge merge, but we are merging only changes to that file] ------------------------------------------------------------ revno: 2546.47.1 committer: Luis Soares <luis.soares@sun.com> branch nick: 5.1-rpl timestamp: Fri 2009-01-23 13:22:05 +0100 message: merge: 5.1 -> 5.1-rpl conflicts: Text conflict in client/mysqltest.cc Text conflict in mysql-test/include/wait_until_connected_again.inc Text conflict in mysql-test/lib/mtr_report.pm Text conflict in mysql-test/mysql-test-run.pl Text conflict in mysql-test/r/events_bugs.result Text conflict in mysql-test/r/log_state.result Text conflict in mysql-test/r/myisam_data_pointer_size_func.result Text conflict in mysql-test/r/mysqlcheck.result Text conflict in mysql-test/r/query_cache.result Text conflict in mysql-test/r/status.result Text conflict in mysql-test/suite/binlog/r/binlog_index.result Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_packet.result Text conflict in mysql-test/suite/rpl/t/rpl_packet.test Text conflict in mysql-test/t/disabled.def Text conflict in mysql-test/t/events_bugs.test Text conflict in mysql-test/t/log_state.test Text conflict in mysql-test/t/myisam_data_pointer_size_func.test Text conflict in mysql-test/t/mysqlcheck.test Text conflict in mysql-test/t/query_cache.test Text conflict in mysql-test/t/rpl_init_slave_func.test Text conflict in mysql-test/t/status.test removed: mysql-test/suite/parts/r/partition_bit_ndb.result mysql-test/suite/parts/t/partition_bit_ndb.test mysql-test/suite/parts/t/partition_sessions.test mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test mysql-test/t/log_bin_trust_function_creators_func-master.opt mysql-test/t/rpl_init_slave_func-slave.opt added: mysql-test/include/check_events_off.inc mysql-test/include/cleanup_fake_relay_log.inc mysql-test/include/have_simple_parser.inc mysql-test/include/no_running_event_scheduler.inc mysql-test/include/no_running_events.inc mysql-test/include/running_event_scheduler.inc mysql-test/include/setup_fake_relay_log.inc mysql-test/include/wait_condition_sp.inc mysql-test/r/fulltext_plugin.result mysql-test/r/have_simple_parser.require mysql-test/r/innodb_bug38231.result mysql-test/r/innodb_bug39438.result mysql-test/r/innodb_mysql_rbk.result mysql-test/r/partition_innodb_semi_consistent.result mysql-test/r/query_cache_28249.result mysql-test/r/status2.result mysql-test/std_data/bug40482-bin.000001 mysql-test/suite/binlog/r/binlog_innodb_row.result mysql-test/suite/binlog/t/binlog_innodb_row.test mysql-test/suite/rpl/r/rpl_binlog_corruption.result mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt mysql-test/suite/rpl/t/rpl_binlog_corruption.test mysql-test/suite/sys_vars/r/tmp_table_size_basic.result mysql-test/suite/sys_vars/t/tmp_table_size_basic.test mysql-test/t/fulltext_plugin-master.opt mysql-test/t/fulltext_plugin.test mysql-test/t/innodb_bug38231.test mysql-test/t/innodb_bug39438-master.opt mysql-test/t/innodb_bug39438.test mysql-test/t/innodb_mysql_rbk-master.opt mysql-test/t/innodb_mysql_rbk.test mysql-test/t/partition_innodb_semi_consistent-master.opt mysql-test/t/partition_innodb_semi_consistent.test mysql-test/t/query_cache_28249.test mysql-test/t/status2.test renamed: mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test modified: .bzr-mysql/default.conf CMakeLists.txt client/mysql.cc client/mysql_upgrade.c client/mysqlcheck.c client/mysqltest.cc configure.in extra/resolve_stack_dump.c extra/yassl/include/openssl/ssl.h include/config-win.h include/m_ctype.h include/my_global.h mysql-test/extra/binlog_tests/database.test mysql-test/extra/rpl_tests/rpl_auto_increment.test mysql-test/include/commit.inc mysql-test/include/have_32bit.inc mysql-test/include/have_64bit.inc mysql-test/include/index_merge1.inc mysql-test/include/linux_sys_vars.inc mysql-test/include/windows_sys_vars.inc mysql-test/lib/mtr_report.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/commit_1innodb.result mysql-test/r/create.result mysql-test/r/csv.result mysql-test/r/ctype_ucs.result mysql-test/r/date_formats.result mysql-test/r/events_bugs.result mysql-test/r/events_scheduling.result mysql-test/r/fulltext.result mysql-test/r/func_if.result mysql-test/r/func_in.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb-autoinc.result mysql-test/r/innodb.result mysql-test/r/innodb_mysql.result mysql-test/r/log_bin_trust_function_creators_func.result mysql-test/r/log_state.result mysql-test/r/myisampack.result mysql-test/r/mysql.result mysql-test/r/mysqlcheck.result mysql-test/r/partition_datatype.result mysql-test/r/partition_mgm.result mysql-test/r/partition_pruning.result mysql-test/r/query_cache.result mysql-test/r/read_buffer_size_basic.result mysql-test/r/read_rnd_buffer_size_basic.result mysql-test/r/rpl_init_slave_func.result mysql-test/r/select.result mysql-test/r/status.result mysql-test/r/strict.result mysql-test/r/temp_table.result mysql-test/r/type_bit.result mysql-test/r/type_date.result mysql-test/r/type_float.result mysql-test/r/warnings_engine_disabled.result mysql-test/r/xml.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_index.result mysql-test/suite/binlog/r/binlog_innodb.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_innodb.test mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_engines.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/funcs_1/storedproc/param_check.inc mysql-test/suite/funcs_2/t/disabled.def mysql-test/suite/ndb/t/disabled.def mysql-test/suite/parts/r/partition_bit_innodb.result mysql-test/suite/parts/r/partition_bit_myisam.result mysql-test/suite/parts/r/partition_special_innodb.result mysql-test/suite/parts/t/disabled.def mysql-test/suite/parts/t/partition_special_innodb.test mysql-test/suite/parts/t/partition_value_innodb.test mysql-test/suite/parts/t/partition_value_myisam.test mysql-test/suite/parts/t/partition_value_ndb.test mysql-test/suite/rpl/r/rpl_auto_increment.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_slave_skip.result mysql-test/suite/rpl/r/rpl_trigger.result mysql-test/suite/rpl/t/disabled.def mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_slave_skip.test mysql-test/suite/rpl/t/rpl_trigger.test mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/alter_table.test mysql-test/t/create.test mysql-test/t/csv.test mysql-test/t/ctype_ucs.test mysql-test/t/date_formats.test mysql-test/t/disabled.def mysql-test/t/events_bugs.test mysql-test/t/events_scheduling.test mysql-test/t/fulltext.test mysql-test/t/func_if.test mysql-test/t/func_in.test mysql-test/t/func_str.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/information_schema.test mysql-test/t/innodb-autoinc.test mysql-test/t/innodb.test mysql-test/t/innodb_mysql.test mysql-test/t/log_bin_trust_function_creators_func.test mysql-test/t/log_state.test mysql-test/t/myisam_data_pointer_size_func.test mysql-test/t/myisampack.test mysql-test/t/mysql.test mysql-test/t/mysqlcheck.test mysql-test/t/partition_innodb_stmt.test mysql-test/t/partition_mgm.test mysql-test/t/partition_pruning.test mysql-test/t/query_cache.test mysql-test/t/rpl_init_slave_func.test mysql-test/t/select.test mysql-test/t/status.test mysql-test/t/strict.test mysql-test/t/temp_table.test mysql-test/t/type_bit.test mysql-test/t/type_date.test mysql-test/t/type_float.test mysql-test/t/warnings_engine_disabled.test mysql-test/t/xml.test mysys/my_getopt.c mysys/my_init.c scripts/mysql_install_db.sh sql-common/my_time.c sql/field.cc sql/field.h sql/filesort.cc sql/ha_partition.cc sql/ha_partition.h sql/item.cc sql/item_cmpfunc.cc sql/item_func.h sql/item_strfunc.cc sql/item_sum.cc sql/item_timefunc.cc sql/item_timefunc.h sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/mysql_priv.h sql/mysqld.cc sql/opt_range.cc sql/partition_info.cc sql/repl_failsafe.cc sql/rpl_constants.h sql/set_var.cc sql/slave.cc sql/spatial.h sql/sql_acl.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_delete.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_locale.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_profile.cc sql/sql_repl.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_trigger.h sql/table.cc sql/table.h sql/unireg.cc storage/csv/ha_tina.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/innobase/Makefile.am storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/include/btr0sea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0mem.h storage/innobase/include/ha_prototypes.h storage/innobase/include/lock0lock.h storage/innobase/include/row0mysql.h storage/innobase/include/sync0sync.ic storage/innobase/include/ut0ut.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/plug.in storage/innobase/row/row0mysql.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0ut.c storage/myisam/ft_boolean_search.c strings/ctype.c strings/xml.c tests/mysql_client_test.c win/configure.js mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test ------------------------------------------------------------------------ r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: minor non-functional changes. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines branches/zip: Add a ChangeLog entry for a change in r4262. ------------------------------------------------------------------------ r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines branches/zip: Make innodb_use_sys_malloc=ON the default. Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc) to improve branch prediction in the default case. Approved by Ken over the IM. ------------------------------------------------------------------------ r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Add a sentence at the top of COPYING.Google to clarify that this license does not apply to the whole InnoDB. Suggested by: Ken ------------------------------------------------------------------------ r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines branches/zip: Initialize ut_list_mutex at startup. Without this fix, ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1. This fix addresses Issue #181. ut_mem_block_list_init(): Rename to ut_mem_init() and make public. ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited). mem_init(): Call ut_mem_init(). ------------------------------------------------------------------------ r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in FIL_PAGE_TYPE. (Bug #43043, Issue #182) btr_check_blob_fil_page_type(): New function. btr_free_externally_stored_field(), btr_copy_blob_prefix(): Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE. ------------------------------------------------------------------------ r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion. btr_check_blob_fil_page_type(): Replace the parameter const char* op with ibool read. Do not print anything about page type mismatch when reading a BLOB page in Antelope format. Print space id before page number. ------------------------------------------------------------------------ r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited. ------------------------------------------------------------------------ r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines branches/zip: Fix bugs in the fix of Issue #181. Tested inside and outside Valgrind, with innodb_use_sys_malloc set to 0 and 1. mem_init(): Invoke ut_mem_init() before mem_pool_create(), because the latter one will invoke ut_malloc(). srv_general_init(): Do not initialize the memory subsystem (mem_init()). innobase_init(): Initialize the memory subsystem (mem_init()) before calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc(). Call ut_free_all_mem() in error handling to clean up after the mem_init(). ------------------------------------------------------------------------ r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove unused function os_mem_alloc_nocache(). ------------------------------------------------------------------------ r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove the unused function dict_index_get_type(). ------------------------------------------------------------------------ r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h". ------------------------------------------------------------------------ r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h". ------------------------------------------------------------------------ r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines branches/zip: Merge revisions 4261:4287 from branches/5.1: ------------------------------------------------------------------------ r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two changes to the autoinc handling. 1. To fix the immediate problem from the bug report, we must ensure that the value written to the table is always less than the max value stored in dict_table_t. 2. The second related change is that according to MySQL documentation when the offset is greater than the increment, we should ignore the offset. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the fix in r4288. ------------------------------------------------------------------------ r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines branches/zip: Make ChangeLog entries for bugs in bugs.mysql.com in the form: Fix Bug#12345 bug title (for bugs after 1.0.2 was released and the ChangeLog published) There is no need to bloat the ChangeLog with information that is available via bugs.mysql.com. Discussed with: Marko ------------------------------------------------------------------------ r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Fix Bug synopsis and remove explanation ------------------------------------------------------------------------ r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines branches/zip: Correct the initialization of the memory subsystem once again, to finally put Issue #181 to rest. Revert some parts of r4274. It is best not to call ut_malloc() before srv_general_init(). mem_init(): Do not call ut_mem_init(). srv_general_init(): Initialize the memory subsystem in two phases: first ut_mem_init(), then mem_init(). This is because os_sync_init() and sync_init() depend on ut_mem_init() and mem_init() depends on os_sync_init() or sync_init(). srv_parse_data_file_paths_and_sizes(), srv_parse_log_group_home_dirs(): Remove the output parameters. Assign to the global variables directly. Allocate memory with malloc() instead of ut_malloc(), because these functions will be called before srv_general_init(). srv_free_paths_and_sizes(): New function, for cleaning up after srv_parse_data_file_paths_and_sizes() and srv_parse_log_group_home_dirs(). rb://92 approved by Sunny Bains ------------------------------------------------------------------------ r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: White-space cleanup in the ChangeLog ------------------------------------------------------------------------ r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines branches/zip: Do not output the commands that restore the environment because they depend on the state of the environment before the test starts executing. ------------------------------------------------------------------------ r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines branches/zip: Apply any necessary patches to the mysql tree at the end of setup.sh This step was previously done manually (and sometimes forgotten). ------------------------------------------------------------------------ r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines branches/zip: btr_check_blob_fil_page_type(): Do not report FIL_PAGE_TYPE mismatch even when purging a BLOB. Heavy users may have large data files created with MySQL 5.0 or earlier, and they don not want to have the error log flooded with such messages. This fixes Issue #182. ------------------------------------------------------------------------ r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines branches/zip This is to revert the changes made to the plug.in (r4251) as a fix for issue# 178. Changes to plug.in will not propogate to a plugin installation unless autotools are rerun which is unacceptable. A fix for issue# 178 will be committed in a separate commit. ------------------------------------------------------------------------ r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines branches/zip This is a fix for issue#178. Instead of using UNIV_LINUX which is defined through CFLAGS we use compiler generated define __linux__ that is effective for both .c and .cc files. ------------------------------------------------------------------------ r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines branches/zip: Add FreeBSD to the list of the operating systems that have sizeof(pthread_t) == sizeof(void*) (i.e. word size). On FreeBSD pthread_t is defined like: /usr/include/sys/_pthreadtypes.h: typedef struct pthread *pthread_t; I did the following tests (per Inaam's recommendation): a) appropriate version of GCC is available on that platform (4.1.2 or higher for atomics to be available) On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default one is 4.2.1. One can always install the version of choice from the ports collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be defined and thus the change I am committing will make no difference. b) find out if sizeof(pthread_t) == sizeof(long) On 32 bit both are 4 bytes, on 64 bit both are 8 bytes. c) find out the compiler generated platform define (e.g.: __aix, __sunos__ etc.) The macro is __FreeBSD__. d) patch univ.i with the appropriate platform define e) build the mysql f) ensure it is using atomic builtins (look at the err.log message at system startup. It should say we are using atomics for both mutexes and rw-locks) g) do sanity testing (keeping in view the smp changes) I ran the mysql-test suite. All tests pass. ------------------------------------------------------------------------ r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines branches/zip: As suggested by Ken, print a message that says that the Google SMP patch (GCC atomics) is disabled if it is. Also extend the message when the patch is partially enabled to make it clear that it is partially enabled. ------------------------------------------------------------------------ r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Fix typo made in r4353. ------------------------------------------------------------------------ r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Implement a check whether pthread_t objects can be used by GCC atomic builtin functions. This check is implemented in plug.in and defines the macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the relevant part of the code enabled (the one that uses GCC atomics against pthread_t objects). In addition to this, the same program that is compiled as part of the plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source archives that are shipped to the users, a generated Makefile.in is added. That Makefile.in will be modified to compile ut/ut0auxconf.c and define the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e. Makefile.in will emulate the work that is done by plug.in. This is done in order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually defined without regenerating MySQL's ./configure from ./storage/innobase/plug.in. The point is not to ask users to install the autotools and regenerate ./configure. rb://95 Approved by: Marko ------------------------------------------------------------------------ r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines branches/zip: Merge revisions 4287:4357 from branches/5.1: ------------------------------------------------------------------------ r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv It was not a SIGSEGV but an assertion failure. The assertion was checking the invariant that *first_value passed in by MySQL doesn't contain a value that is greater than the max value for that type. The assertion has been changed to a check and if the value is greater than the max we report a generic AUTOINC failure. rb://93 Approved by Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): ------------------------------------------------------------------------ r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.19.1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2009-02-03 11:36:46 +0000 message: BUG#42445 Warning messages in innobase/handler/ha_innodb.cc There was a type casting problem in the storage/innobase/handler/ha_innodb.cc, (int ha_innobase::write_row(...)). Innobase uses has an internal error variable of type 'ulint' while mysql uses an 'int'. To fix the problem the function manipulates an error variable of type 'ulint' and only casts it into 'int' when needs to return the value. modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Merge revision 4359 from branches/5.1: ------------------------------------------------------------------------ r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2747 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2009-01-16 17:49:07 +0100 message: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Add ChangeLog entry for the bugfix in c4360. ------------------------------------------------------------------------ r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin The dynamic plugin on Windows used to be built with MYSQL_SERVER compile flag, while it is not the case for other platforms. r3797 assumed MYSQL_SERVER was not defined for dynamic plugin, which introduced the engine crash during dropping a database. ------------------------------------------------------------------------ r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE in a separate redo log entry. This will make ibbackup --apply-log debugging easier. ------------------------------------------------------------------------ r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, initialize FIL_PAGE_TYPE. This will make it easier to write the debug assertions for ibbackup --apply-log. ------------------------------------------------------------------------ r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines branches/zip: Merge revisions 4359:4400 from branches/5.1: ------------------------------------------------------------------------ r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position also for unlock_row(). (Bug #39320) ------------------------------------------------------------------------ r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines branches/5.1: Fix a bug in multi-table semi-consistent reads. Remember the acquired record locks per table handle (row_prebuilt_t) rather than per transaction (trx_t), so that unlock_row should successfully unlock all non-matching rows in multi-table operations. This deficiency was found while investigating Bug #39320. ------------------------------------------------------------------------ These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri. ------------------------------------------------------------------------ r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and adjust all callers. ------------------------------------------------------------------------ r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL before dereferencing it. In this way, ut_list_node_313 will be pointing to the last non-NULL list item at the time of the assertion failure. (gcc-4.3.2 -O3 seems to optimize the common subexpressions and make the variable NULL, though.) ------------------------------------------------------------------------ r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: sync_thread_add_level(): Make the assertions about level == SYNC_BUF_BLOCK more readable. ------------------------------------------------------------------------ r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines branches/zip: Remove mysql-test/patches/bug32625.diff because that bug was fixed in the mysql repository (1 year and 4 months after sending them the simple patch!). See http://bugs.mysql.com/32625 ------------------------------------------------------------------------ r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line branches/zip: buf0buddy.c: Add and adjust some debug assertions. ------------------------------------------------------------------------ r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines branches/zip: Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that 1.0.3 has been released. ------------------------------------------------------------------------ r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug41893.diff because that bug has been fixed in the MySQL repository, see http://bugs.mysql.com/41893. ------------------------------------------------------------------------ r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions. ------------------------------------------------------------------------ r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line branches/zip: buf_buddy_free_low(): Correct the function comment. ------------------------------------------------------------------------ r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines branches/zip: Merge revisions 4400:4481 from branches/5.1: ------------------------------------------------------------------------ r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines branches/5.1: row_unlock_for_mysql(): Do not unlock records that were modified by the current transaction. This bug was introduced or unmasked in r4400. rb://97 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup: Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with dict_ind_redundant and dict_ind_compact, initialized in dict_init(). ------------------------------------------------------------------------ r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines branches/zip: Add const qualifiers or in/out comments to some function parameters in log0log. ------------------------------------------------------------------------ r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines branches/zip: page_validate(): Always report the space id and the name of the index. In Hot Backup, do not invoke comparison functions, as MySQL collations will be unavailable. ------------------------------------------------------------------------ r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id(). ------------------------------------------------------------------------ r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars. This eliminates some "unused variable" warnings when building InnoDB Hot Backup in such a way that all mutex operations are no-ops. ------------------------------------------------------------------------ r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. ------------------------------------------------------------------------ r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_recover_page(): Remove compile-time constant parameters. ------------------------------------------------------------------------ r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_sys_init(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change: Add const qualifiers. log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf(): The log block is read-only. Make it const. ------------------------------------------------------------------------ r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: fil_init(): Add the parameter hash_size. ------------------------------------------------------------------------ r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Add any entry about the release of 1.0.3 in the ChangeLog. ------------------------------------------------------------------------ r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. Make it a no-op in UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use PAGE_ZIP_MATCH. In UNIV_HOTBACKUP builds, assume fixed allocation. ------------------------------------------------------------------------ r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Exclude some operating system interface code from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove the remaining references to hash_table_t::adapive from UNIV_HOTBACKUP builds. This should have been done in r4515. ------------------------------------------------------------------------ r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Enclose recv_recovery_from_backup_on and recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE. ------------------------------------------------------------------------ r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions ensuring that FIL_PAGE_TYPE makes sense when applying log records. ------------------------------------------------------------------------ r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove unneeded definitions and dependencies from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines branches/zip: adjust build files on Windows Adjust the patch positions based on the latest MySQL source. Also add the patches to the .bat files for vs9. ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
Portions of this file contain modifications contributed and copyrighted by
Google, Inc. Those modifications are gratefully acknowledged and are described
briefly in the InnoDB documentation. The contributions by Google are
incorporated with their permission, and subject to the conditions contained in
the file COPYING.Google.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA
*****************************************************************************/
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/***********************************************************************
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
Copyright (c) 2009, Percona Inc.
Portions of this file contain modifications contributed and copyrighted
by Percona Inc.. Those modifications are
gratefully acknowledged and are described briefly in the InnoDB
documentation. The contributions by Percona Inc. are incorporated with
their permission, and subject to the conditions contained in the file
COPYING.Percona.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
***********************************************************************/
branches/innodb+: Merge revisions 4150:4528 from branches/zip: ------------------------------------------------------------------------ r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: When innodb_use_sys_malloc is set, ignore innodb_additional_mem_pool_size, because nothing will be allocated from mem_comm_pool. mem_pool_create(): Remove the assertion about size. The function will work with any size. However, an assertion would fail in ut_malloc_low() when size==0. mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create(). mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c. ------------------------------------------------------------------------ r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines branches/zip: (followup to r4145) Non-functional change: Change the os_atomic_increment() and os_compare_and_swap() functions to macros to avoid artificial limitations on the types of those functions' arguments. As a consequence typecasts from the source code can be removed. Also remove Google's copyright from os0sync.ic because that file no longer contains code from Google. Approved by: Marko (rb://88), also ok from Inaam via IM ------------------------------------------------------------------------ r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Make innodb_thread_concurrency=0 the default. The old default was 8. ------------------------------------------------------------------------ r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines branches/zip: Adjust the result file of innodb_thread_concurrency_basic test. The default value of innodb_thread_concurrency is changed to 0 (from 8) via r4163. ------------------------------------------------------------------------ r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Fix pathname of the file to patch. ------------------------------------------------------------------------ r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines branches/zip: Fix the failing mysql-test partition_innodb, which failed only if run after innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into the output of SHOW ENGINE INNODB STATUS). Find further explanation for the failure at the top of the added patch partition_innodb.diff. ------------------------------------------------------------------------ r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: Add the full text of the GPLv2 license into the root directory of the plugin. In previous releases this file was copied from an external source (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when creating the source and binary archives. It is less confusing to have this present in the root directory of the SVN branch. ------------------------------------------------------------------------ r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add Google's license into COPYING.Google. ------------------------------------------------------------------------ r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines branches/zip: To the files touched by the Google patch from c4144 (excluding include/os0sync.ic because later we removed Google code from that file): * Remove the Google license * Remove old Innobase copyright lines * Add a reference to the Google license and to the GPLv2 license at the top, as recommended by the lawyers at Oracle Legal. ------------------------------------------------------------------------ r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 1/28] ------------------------------------------------------------------------ r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 2/28] ------------------------------------------------------------------------ r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 3/28] ------------------------------------------------------------------------ r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 4/28] ------------------------------------------------------------------------ r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 5/28] ------------------------------------------------------------------------ r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 6/28] ------------------------------------------------------------------------ r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 7/28] ------------------------------------------------------------------------ r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 8/28] ------------------------------------------------------------------------ r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 9/28] ------------------------------------------------------------------------ r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 10/28] ------------------------------------------------------------------------ r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 11/28] ------------------------------------------------------------------------ r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 12/28] ------------------------------------------------------------------------ r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 15/28] ------------------------------------------------------------------------ r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 16/28] ------------------------------------------------------------------------ r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 17/28] ------------------------------------------------------------------------ r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 18/28] ------------------------------------------------------------------------ r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 19/28] ------------------------------------------------------------------------ r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 20/28] ------------------------------------------------------------------------ r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 21/28] ------------------------------------------------------------------------ r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 22/28] ------------------------------------------------------------------------ r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 23/28] ------------------------------------------------------------------------ r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 24/28] ------------------------------------------------------------------------ r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 25/28] ------------------------------------------------------------------------ r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 26/28] ------------------------------------------------------------------------ r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 27/28] ------------------------------------------------------------------------ r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 28/28] ------------------------------------------------------------------------ r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add the copyright notice to the non C files. ------------------------------------------------------------------------ r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines Minor cleanup of the Google SMP patch. sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning about the return value of os_atomic_increment() being ignored. rw_lock_create_func(): Properly indent the preprocessor directives. rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly. rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning. Do not mix statements and variable declarations. ------------------------------------------------------------------------ r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines branches/zip: When assigning lock->recursive = FALSE, also flag lock->writer_thread invalid, so that Valgrind will catch more errors. This is related to Issue #175. ------------------------------------------------------------------------ r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning about a while(0); statement. This should fix (part of) Issue #176. ------------------------------------------------------------------------ r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning about an empty body of a "for" statement. This fixes part of Issue #176. ------------------------------------------------------------------------ r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines branches/zip: Protect ut_total_allocated_memory with ut_list_mutex. Unprotected updates to ut_total_allocated_memory in os_mem_alloc_large() and os_mem_free_large(), called during fast index creation, may corrupt the variable and cause assertion failures. Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can detect more errors. rb://90 approved by Heikki Tuuri. This addresses Issue #177. ------------------------------------------------------------------------ r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning about an empty body in a "for" statement. This closes Issue #176. ------------------------------------------------------------------------ r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines branches/zip: Issue #178 rb://91 Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that both .c and .cc files get compiled with same flags. To fix the issue where UNIV_LINUX was defined only in .c files. Approved by: Marko ------------------------------------------------------------------------ r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Cleanup in ChangeLog: * Wrap lines at 78 characters * Changed files are listed alphabetically * White-space cleanup ------------------------------------------------------------------------ r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines branches/zip: ChangeLog: Remove include/os0sync.ic from the entry about the google patch, this file was modified later to not include Google's code. ------------------------------------------------------------------------ r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines branches/zip: Merge revisions 4035:4261 from branches/5.1: ------------------------------------------------------------------------ r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC is only defined for integer columns. This caused an assertion failure when we checked for the maximum value of a column type. We now calculate the max value for floating-point autoinc columns too. Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns rb://84 and Mantis issue://162 ------------------------------------------------------------------------ r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add the ULL suffix otherwise there is an overflow. ------------------------------------------------------------------------ r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2709.20.31 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2008-12-19 01:28:51 +0100 message: Disable part of innodb-autoinc.test, because the MySQL server asserts when compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and increment > 1". This change should be reverted when that bug is fixed (and a a few other minor changes to the test as described in comments). modified: mysql-test/r/innodb-autoinc.result mysql-test/t/innodb-autoinc.test ------------------------------------------------------------------------ r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: [looks like the changes to innodb-autoinc.test were made as part of the following huge merge, but we are merging only changes to that file] ------------------------------------------------------------ revno: 2546.47.1 committer: Luis Soares <luis.soares@sun.com> branch nick: 5.1-rpl timestamp: Fri 2009-01-23 13:22:05 +0100 message: merge: 5.1 -> 5.1-rpl conflicts: Text conflict in client/mysqltest.cc Text conflict in mysql-test/include/wait_until_connected_again.inc Text conflict in mysql-test/lib/mtr_report.pm Text conflict in mysql-test/mysql-test-run.pl Text conflict in mysql-test/r/events_bugs.result Text conflict in mysql-test/r/log_state.result Text conflict in mysql-test/r/myisam_data_pointer_size_func.result Text conflict in mysql-test/r/mysqlcheck.result Text conflict in mysql-test/r/query_cache.result Text conflict in mysql-test/r/status.result Text conflict in mysql-test/suite/binlog/r/binlog_index.result Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_packet.result Text conflict in mysql-test/suite/rpl/t/rpl_packet.test Text conflict in mysql-test/t/disabled.def Text conflict in mysql-test/t/events_bugs.test Text conflict in mysql-test/t/log_state.test Text conflict in mysql-test/t/myisam_data_pointer_size_func.test Text conflict in mysql-test/t/mysqlcheck.test Text conflict in mysql-test/t/query_cache.test Text conflict in mysql-test/t/rpl_init_slave_func.test Text conflict in mysql-test/t/status.test removed: mysql-test/suite/parts/r/partition_bit_ndb.result mysql-test/suite/parts/t/partition_bit_ndb.test mysql-test/suite/parts/t/partition_sessions.test mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test mysql-test/t/log_bin_trust_function_creators_func-master.opt mysql-test/t/rpl_init_slave_func-slave.opt added: mysql-test/include/check_events_off.inc mysql-test/include/cleanup_fake_relay_log.inc mysql-test/include/have_simple_parser.inc mysql-test/include/no_running_event_scheduler.inc mysql-test/include/no_running_events.inc mysql-test/include/running_event_scheduler.inc mysql-test/include/setup_fake_relay_log.inc mysql-test/include/wait_condition_sp.inc mysql-test/r/fulltext_plugin.result mysql-test/r/have_simple_parser.require mysql-test/r/innodb_bug38231.result mysql-test/r/innodb_bug39438.result mysql-test/r/innodb_mysql_rbk.result mysql-test/r/partition_innodb_semi_consistent.result mysql-test/r/query_cache_28249.result mysql-test/r/status2.result mysql-test/std_data/bug40482-bin.000001 mysql-test/suite/binlog/r/binlog_innodb_row.result mysql-test/suite/binlog/t/binlog_innodb_row.test mysql-test/suite/rpl/r/rpl_binlog_corruption.result mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt mysql-test/suite/rpl/t/rpl_binlog_corruption.test mysql-test/suite/sys_vars/r/tmp_table_size_basic.result mysql-test/suite/sys_vars/t/tmp_table_size_basic.test mysql-test/t/fulltext_plugin-master.opt mysql-test/t/fulltext_plugin.test mysql-test/t/innodb_bug38231.test mysql-test/t/innodb_bug39438-master.opt mysql-test/t/innodb_bug39438.test mysql-test/t/innodb_mysql_rbk-master.opt mysql-test/t/innodb_mysql_rbk.test mysql-test/t/partition_innodb_semi_consistent-master.opt mysql-test/t/partition_innodb_semi_consistent.test mysql-test/t/query_cache_28249.test mysql-test/t/status2.test renamed: mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test modified: .bzr-mysql/default.conf CMakeLists.txt client/mysql.cc client/mysql_upgrade.c client/mysqlcheck.c client/mysqltest.cc configure.in extra/resolve_stack_dump.c extra/yassl/include/openssl/ssl.h include/config-win.h include/m_ctype.h include/my_global.h mysql-test/extra/binlog_tests/database.test mysql-test/extra/rpl_tests/rpl_auto_increment.test mysql-test/include/commit.inc mysql-test/include/have_32bit.inc mysql-test/include/have_64bit.inc mysql-test/include/index_merge1.inc mysql-test/include/linux_sys_vars.inc mysql-test/include/windows_sys_vars.inc mysql-test/lib/mtr_report.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/commit_1innodb.result mysql-test/r/create.result mysql-test/r/csv.result mysql-test/r/ctype_ucs.result mysql-test/r/date_formats.result mysql-test/r/events_bugs.result mysql-test/r/events_scheduling.result mysql-test/r/fulltext.result mysql-test/r/func_if.result mysql-test/r/func_in.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb-autoinc.result mysql-test/r/innodb.result mysql-test/r/innodb_mysql.result mysql-test/r/log_bin_trust_function_creators_func.result mysql-test/r/log_state.result mysql-test/r/myisampack.result mysql-test/r/mysql.result mysql-test/r/mysqlcheck.result mysql-test/r/partition_datatype.result mysql-test/r/partition_mgm.result mysql-test/r/partition_pruning.result mysql-test/r/query_cache.result mysql-test/r/read_buffer_size_basic.result mysql-test/r/read_rnd_buffer_size_basic.result mysql-test/r/rpl_init_slave_func.result mysql-test/r/select.result mysql-test/r/status.result mysql-test/r/strict.result mysql-test/r/temp_table.result mysql-test/r/type_bit.result mysql-test/r/type_date.result mysql-test/r/type_float.result mysql-test/r/warnings_engine_disabled.result mysql-test/r/xml.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_index.result mysql-test/suite/binlog/r/binlog_innodb.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_innodb.test mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_engines.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/funcs_1/storedproc/param_check.inc mysql-test/suite/funcs_2/t/disabled.def mysql-test/suite/ndb/t/disabled.def mysql-test/suite/parts/r/partition_bit_innodb.result mysql-test/suite/parts/r/partition_bit_myisam.result mysql-test/suite/parts/r/partition_special_innodb.result mysql-test/suite/parts/t/disabled.def mysql-test/suite/parts/t/partition_special_innodb.test mysql-test/suite/parts/t/partition_value_innodb.test mysql-test/suite/parts/t/partition_value_myisam.test mysql-test/suite/parts/t/partition_value_ndb.test mysql-test/suite/rpl/r/rpl_auto_increment.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_slave_skip.result mysql-test/suite/rpl/r/rpl_trigger.result mysql-test/suite/rpl/t/disabled.def mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_slave_skip.test mysql-test/suite/rpl/t/rpl_trigger.test mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/alter_table.test mysql-test/t/create.test mysql-test/t/csv.test mysql-test/t/ctype_ucs.test mysql-test/t/date_formats.test mysql-test/t/disabled.def mysql-test/t/events_bugs.test mysql-test/t/events_scheduling.test mysql-test/t/fulltext.test mysql-test/t/func_if.test mysql-test/t/func_in.test mysql-test/t/func_str.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/information_schema.test mysql-test/t/innodb-autoinc.test mysql-test/t/innodb.test mysql-test/t/innodb_mysql.test mysql-test/t/log_bin_trust_function_creators_func.test mysql-test/t/log_state.test mysql-test/t/myisam_data_pointer_size_func.test mysql-test/t/myisampack.test mysql-test/t/mysql.test mysql-test/t/mysqlcheck.test mysql-test/t/partition_innodb_stmt.test mysql-test/t/partition_mgm.test mysql-test/t/partition_pruning.test mysql-test/t/query_cache.test mysql-test/t/rpl_init_slave_func.test mysql-test/t/select.test mysql-test/t/status.test mysql-test/t/strict.test mysql-test/t/temp_table.test mysql-test/t/type_bit.test mysql-test/t/type_date.test mysql-test/t/type_float.test mysql-test/t/warnings_engine_disabled.test mysql-test/t/xml.test mysys/my_getopt.c mysys/my_init.c scripts/mysql_install_db.sh sql-common/my_time.c sql/field.cc sql/field.h sql/filesort.cc sql/ha_partition.cc sql/ha_partition.h sql/item.cc sql/item_cmpfunc.cc sql/item_func.h sql/item_strfunc.cc sql/item_sum.cc sql/item_timefunc.cc sql/item_timefunc.h sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/mysql_priv.h sql/mysqld.cc sql/opt_range.cc sql/partition_info.cc sql/repl_failsafe.cc sql/rpl_constants.h sql/set_var.cc sql/slave.cc sql/spatial.h sql/sql_acl.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_delete.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_locale.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_profile.cc sql/sql_repl.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_trigger.h sql/table.cc sql/table.h sql/unireg.cc storage/csv/ha_tina.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/innobase/Makefile.am storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/include/btr0sea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0mem.h storage/innobase/include/ha_prototypes.h storage/innobase/include/lock0lock.h storage/innobase/include/row0mysql.h storage/innobase/include/sync0sync.ic storage/innobase/include/ut0ut.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/plug.in storage/innobase/row/row0mysql.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0ut.c storage/myisam/ft_boolean_search.c strings/ctype.c strings/xml.c tests/mysql_client_test.c win/configure.js mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test ------------------------------------------------------------------------ r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: minor non-functional changes. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines branches/zip: Add a ChangeLog entry for a change in r4262. ------------------------------------------------------------------------ r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines branches/zip: Make innodb_use_sys_malloc=ON the default. Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc) to improve branch prediction in the default case. Approved by Ken over the IM. ------------------------------------------------------------------------ r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Add a sentence at the top of COPYING.Google to clarify that this license does not apply to the whole InnoDB. Suggested by: Ken ------------------------------------------------------------------------ r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines branches/zip: Initialize ut_list_mutex at startup. Without this fix, ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1. This fix addresses Issue #181. ut_mem_block_list_init(): Rename to ut_mem_init() and make public. ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited). mem_init(): Call ut_mem_init(). ------------------------------------------------------------------------ r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in FIL_PAGE_TYPE. (Bug #43043, Issue #182) btr_check_blob_fil_page_type(): New function. btr_free_externally_stored_field(), btr_copy_blob_prefix(): Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE. ------------------------------------------------------------------------ r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion. btr_check_blob_fil_page_type(): Replace the parameter const char* op with ibool read. Do not print anything about page type mismatch when reading a BLOB page in Antelope format. Print space id before page number. ------------------------------------------------------------------------ r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited. ------------------------------------------------------------------------ r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines branches/zip: Fix bugs in the fix of Issue #181. Tested inside and outside Valgrind, with innodb_use_sys_malloc set to 0 and 1. mem_init(): Invoke ut_mem_init() before mem_pool_create(), because the latter one will invoke ut_malloc(). srv_general_init(): Do not initialize the memory subsystem (mem_init()). innobase_init(): Initialize the memory subsystem (mem_init()) before calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc(). Call ut_free_all_mem() in error handling to clean up after the mem_init(). ------------------------------------------------------------------------ r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove unused function os_mem_alloc_nocache(). ------------------------------------------------------------------------ r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove the unused function dict_index_get_type(). ------------------------------------------------------------------------ r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h". ------------------------------------------------------------------------ r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h". ------------------------------------------------------------------------ r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines branches/zip: Merge revisions 4261:4287 from branches/5.1: ------------------------------------------------------------------------ r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two changes to the autoinc handling. 1. To fix the immediate problem from the bug report, we must ensure that the value written to the table is always less than the max value stored in dict_table_t. 2. The second related change is that according to MySQL documentation when the offset is greater than the increment, we should ignore the offset. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the fix in r4288. ------------------------------------------------------------------------ r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines branches/zip: Make ChangeLog entries for bugs in bugs.mysql.com in the form: Fix Bug#12345 bug title (for bugs after 1.0.2 was released and the ChangeLog published) There is no need to bloat the ChangeLog with information that is available via bugs.mysql.com. Discussed with: Marko ------------------------------------------------------------------------ r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Fix Bug synopsis and remove explanation ------------------------------------------------------------------------ r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines branches/zip: Correct the initialization of the memory subsystem once again, to finally put Issue #181 to rest. Revert some parts of r4274. It is best not to call ut_malloc() before srv_general_init(). mem_init(): Do not call ut_mem_init(). srv_general_init(): Initialize the memory subsystem in two phases: first ut_mem_init(), then mem_init(). This is because os_sync_init() and sync_init() depend on ut_mem_init() and mem_init() depends on os_sync_init() or sync_init(). srv_parse_data_file_paths_and_sizes(), srv_parse_log_group_home_dirs(): Remove the output parameters. Assign to the global variables directly. Allocate memory with malloc() instead of ut_malloc(), because these functions will be called before srv_general_init(). srv_free_paths_and_sizes(): New function, for cleaning up after srv_parse_data_file_paths_and_sizes() and srv_parse_log_group_home_dirs(). rb://92 approved by Sunny Bains ------------------------------------------------------------------------ r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: White-space cleanup in the ChangeLog ------------------------------------------------------------------------ r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines branches/zip: Do not output the commands that restore the environment because they depend on the state of the environment before the test starts executing. ------------------------------------------------------------------------ r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines branches/zip: Apply any necessary patches to the mysql tree at the end of setup.sh This step was previously done manually (and sometimes forgotten). ------------------------------------------------------------------------ r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines branches/zip: btr_check_blob_fil_page_type(): Do not report FIL_PAGE_TYPE mismatch even when purging a BLOB. Heavy users may have large data files created with MySQL 5.0 or earlier, and they don not want to have the error log flooded with such messages. This fixes Issue #182. ------------------------------------------------------------------------ r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines branches/zip This is to revert the changes made to the plug.in (r4251) as a fix for issue# 178. Changes to plug.in will not propogate to a plugin installation unless autotools are rerun which is unacceptable. A fix for issue# 178 will be committed in a separate commit. ------------------------------------------------------------------------ r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines branches/zip This is a fix for issue#178. Instead of using UNIV_LINUX which is defined through CFLAGS we use compiler generated define __linux__ that is effective for both .c and .cc files. ------------------------------------------------------------------------ r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines branches/zip: Add FreeBSD to the list of the operating systems that have sizeof(pthread_t) == sizeof(void*) (i.e. word size). On FreeBSD pthread_t is defined like: /usr/include/sys/_pthreadtypes.h: typedef struct pthread *pthread_t; I did the following tests (per Inaam's recommendation): a) appropriate version of GCC is available on that platform (4.1.2 or higher for atomics to be available) On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default one is 4.2.1. One can always install the version of choice from the ports collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be defined and thus the change I am committing will make no difference. b) find out if sizeof(pthread_t) == sizeof(long) On 32 bit both are 4 bytes, on 64 bit both are 8 bytes. c) find out the compiler generated platform define (e.g.: __aix, __sunos__ etc.) The macro is __FreeBSD__. d) patch univ.i with the appropriate platform define e) build the mysql f) ensure it is using atomic builtins (look at the err.log message at system startup. It should say we are using atomics for both mutexes and rw-locks) g) do sanity testing (keeping in view the smp changes) I ran the mysql-test suite. All tests pass. ------------------------------------------------------------------------ r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines branches/zip: As suggested by Ken, print a message that says that the Google SMP patch (GCC atomics) is disabled if it is. Also extend the message when the patch is partially enabled to make it clear that it is partially enabled. ------------------------------------------------------------------------ r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Fix typo made in r4353. ------------------------------------------------------------------------ r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Implement a check whether pthread_t objects can be used by GCC atomic builtin functions. This check is implemented in plug.in and defines the macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the relevant part of the code enabled (the one that uses GCC atomics against pthread_t objects). In addition to this, the same program that is compiled as part of the plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source archives that are shipped to the users, a generated Makefile.in is added. That Makefile.in will be modified to compile ut/ut0auxconf.c and define the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e. Makefile.in will emulate the work that is done by plug.in. This is done in order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually defined without regenerating MySQL's ./configure from ./storage/innobase/plug.in. The point is not to ask users to install the autotools and regenerate ./configure. rb://95 Approved by: Marko ------------------------------------------------------------------------ r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines branches/zip: Merge revisions 4287:4357 from branches/5.1: ------------------------------------------------------------------------ r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv It was not a SIGSEGV but an assertion failure. The assertion was checking the invariant that *first_value passed in by MySQL doesn't contain a value that is greater than the max value for that type. The assertion has been changed to a check and if the value is greater than the max we report a generic AUTOINC failure. rb://93 Approved by Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): ------------------------------------------------------------------------ r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.19.1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2009-02-03 11:36:46 +0000 message: BUG#42445 Warning messages in innobase/handler/ha_innodb.cc There was a type casting problem in the storage/innobase/handler/ha_innodb.cc, (int ha_innobase::write_row(...)). Innobase uses has an internal error variable of type 'ulint' while mysql uses an 'int'. To fix the problem the function manipulates an error variable of type 'ulint' and only casts it into 'int' when needs to return the value. modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Merge revision 4359 from branches/5.1: ------------------------------------------------------------------------ r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2747 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2009-01-16 17:49:07 +0100 message: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Add ChangeLog entry for the bugfix in c4360. ------------------------------------------------------------------------ r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin The dynamic plugin on Windows used to be built with MYSQL_SERVER compile flag, while it is not the case for other platforms. r3797 assumed MYSQL_SERVER was not defined for dynamic plugin, which introduced the engine crash during dropping a database. ------------------------------------------------------------------------ r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE in a separate redo log entry. This will make ibbackup --apply-log debugging easier. ------------------------------------------------------------------------ r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, initialize FIL_PAGE_TYPE. This will make it easier to write the debug assertions for ibbackup --apply-log. ------------------------------------------------------------------------ r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines branches/zip: Merge revisions 4359:4400 from branches/5.1: ------------------------------------------------------------------------ r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position also for unlock_row(). (Bug #39320) ------------------------------------------------------------------------ r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines branches/5.1: Fix a bug in multi-table semi-consistent reads. Remember the acquired record locks per table handle (row_prebuilt_t) rather than per transaction (trx_t), so that unlock_row should successfully unlock all non-matching rows in multi-table operations. This deficiency was found while investigating Bug #39320. ------------------------------------------------------------------------ These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri. ------------------------------------------------------------------------ r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and adjust all callers. ------------------------------------------------------------------------ r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL before dereferencing it. In this way, ut_list_node_313 will be pointing to the last non-NULL list item at the time of the assertion failure. (gcc-4.3.2 -O3 seems to optimize the common subexpressions and make the variable NULL, though.) ------------------------------------------------------------------------ r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: sync_thread_add_level(): Make the assertions about level == SYNC_BUF_BLOCK more readable. ------------------------------------------------------------------------ r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines branches/zip: Remove mysql-test/patches/bug32625.diff because that bug was fixed in the mysql repository (1 year and 4 months after sending them the simple patch!). See http://bugs.mysql.com/32625 ------------------------------------------------------------------------ r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line branches/zip: buf0buddy.c: Add and adjust some debug assertions. ------------------------------------------------------------------------ r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines branches/zip: Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that 1.0.3 has been released. ------------------------------------------------------------------------ r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug41893.diff because that bug has been fixed in the MySQL repository, see http://bugs.mysql.com/41893. ------------------------------------------------------------------------ r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions. ------------------------------------------------------------------------ r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line branches/zip: buf_buddy_free_low(): Correct the function comment. ------------------------------------------------------------------------ r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines branches/zip: Merge revisions 4400:4481 from branches/5.1: ------------------------------------------------------------------------ r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines branches/5.1: row_unlock_for_mysql(): Do not unlock records that were modified by the current transaction. This bug was introduced or unmasked in r4400. rb://97 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup: Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with dict_ind_redundant and dict_ind_compact, initialized in dict_init(). ------------------------------------------------------------------------ r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines branches/zip: Add const qualifiers or in/out comments to some function parameters in log0log. ------------------------------------------------------------------------ r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines branches/zip: page_validate(): Always report the space id and the name of the index. In Hot Backup, do not invoke comparison functions, as MySQL collations will be unavailable. ------------------------------------------------------------------------ r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id(). ------------------------------------------------------------------------ r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars. This eliminates some "unused variable" warnings when building InnoDB Hot Backup in such a way that all mutex operations are no-ops. ------------------------------------------------------------------------ r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. ------------------------------------------------------------------------ r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_recover_page(): Remove compile-time constant parameters. ------------------------------------------------------------------------ r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_sys_init(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change: Add const qualifiers. log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf(): The log block is read-only. Make it const. ------------------------------------------------------------------------ r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: fil_init(): Add the parameter hash_size. ------------------------------------------------------------------------ r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Add any entry about the release of 1.0.3 in the ChangeLog. ------------------------------------------------------------------------ r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. Make it a no-op in UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use PAGE_ZIP_MATCH. In UNIV_HOTBACKUP builds, assume fixed allocation. ------------------------------------------------------------------------ r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Exclude some operating system interface code from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove the remaining references to hash_table_t::adapive from UNIV_HOTBACKUP builds. This should have been done in r4515. ------------------------------------------------------------------------ r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Enclose recv_recovery_from_backup_on and recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE. ------------------------------------------------------------------------ r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions ensuring that FIL_PAGE_TYPE makes sense when applying log records. ------------------------------------------------------------------------ r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove unneeded definitions and dependencies from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines branches/zip: adjust build files on Windows Adjust the patch positions based on the latest MySQL source. Also add the patches to the .bat files for vs9. ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/**************************************************//**
@file srv/srv0srv.c
2005-10-27 07:29:40 +00:00
The database server main program
NOTE: SQL Server 7 uses something which the documentation
calls user mode scheduled threads (UMS threads). One such
thread is usually allocated per processor. Win32
documentation does not know any UMS threads, which suggests
that the concept is internal to SQL Server 7. It may mean that
SQL Server 7 does all the scheduling of threads itself, even
in i/o waits. We should maybe modify InnoDB to use the same
technique, because thread switches within NT may be too slow.
SQL Server 7 also mentions fibers, which are cooperatively
scheduled threads. They can boost performance by 5 %,
according to the Delaney and Soukup's book.
Windows 2000 will have something called thread pooling
(see msdn website), which we could possibly use.
Another possibility could be to use some very fast user space
thread library. This might confuse NT though.
Created 10/8/1995 Heikki Tuuri
*******************************************************/
branches/innodb+: Merge revisions 4150:4528 from branches/zip: ------------------------------------------------------------------------ r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: When innodb_use_sys_malloc is set, ignore innodb_additional_mem_pool_size, because nothing will be allocated from mem_comm_pool. mem_pool_create(): Remove the assertion about size. The function will work with any size. However, an assertion would fail in ut_malloc_low() when size==0. mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create(). mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c. ------------------------------------------------------------------------ r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines branches/zip: (followup to r4145) Non-functional change: Change the os_atomic_increment() and os_compare_and_swap() functions to macros to avoid artificial limitations on the types of those functions' arguments. As a consequence typecasts from the source code can be removed. Also remove Google's copyright from os0sync.ic because that file no longer contains code from Google. Approved by: Marko (rb://88), also ok from Inaam via IM ------------------------------------------------------------------------ r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Make innodb_thread_concurrency=0 the default. The old default was 8. ------------------------------------------------------------------------ r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines branches/zip: Adjust the result file of innodb_thread_concurrency_basic test. The default value of innodb_thread_concurrency is changed to 0 (from 8) via r4163. ------------------------------------------------------------------------ r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Fix pathname of the file to patch. ------------------------------------------------------------------------ r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines branches/zip: Fix the failing mysql-test partition_innodb, which failed only if run after innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into the output of SHOW ENGINE INNODB STATUS). Find further explanation for the failure at the top of the added patch partition_innodb.diff. ------------------------------------------------------------------------ r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: Add the full text of the GPLv2 license into the root directory of the plugin. In previous releases this file was copied from an external source (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when creating the source and binary archives. It is less confusing to have this present in the root directory of the SVN branch. ------------------------------------------------------------------------ r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add Google's license into COPYING.Google. ------------------------------------------------------------------------ r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines branches/zip: To the files touched by the Google patch from c4144 (excluding include/os0sync.ic because later we removed Google code from that file): * Remove the Google license * Remove old Innobase copyright lines * Add a reference to the Google license and to the GPLv2 license at the top, as recommended by the lawyers at Oracle Legal. ------------------------------------------------------------------------ r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 1/28] ------------------------------------------------------------------------ r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 2/28] ------------------------------------------------------------------------ r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 3/28] ------------------------------------------------------------------------ r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 4/28] ------------------------------------------------------------------------ r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 5/28] ------------------------------------------------------------------------ r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 6/28] ------------------------------------------------------------------------ r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 7/28] ------------------------------------------------------------------------ r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 8/28] ------------------------------------------------------------------------ r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 9/28] ------------------------------------------------------------------------ r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 10/28] ------------------------------------------------------------------------ r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 11/28] ------------------------------------------------------------------------ r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 12/28] ------------------------------------------------------------------------ r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 15/28] ------------------------------------------------------------------------ r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 16/28] ------------------------------------------------------------------------ r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 17/28] ------------------------------------------------------------------------ r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 18/28] ------------------------------------------------------------------------ r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 19/28] ------------------------------------------------------------------------ r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 20/28] ------------------------------------------------------------------------ r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 21/28] ------------------------------------------------------------------------ r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 22/28] ------------------------------------------------------------------------ r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 23/28] ------------------------------------------------------------------------ r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 24/28] ------------------------------------------------------------------------ r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 25/28] ------------------------------------------------------------------------ r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 26/28] ------------------------------------------------------------------------ r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 27/28] ------------------------------------------------------------------------ r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 28/28] ------------------------------------------------------------------------ r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add the copyright notice to the non C files. ------------------------------------------------------------------------ r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines Minor cleanup of the Google SMP patch. sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning about the return value of os_atomic_increment() being ignored. rw_lock_create_func(): Properly indent the preprocessor directives. rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly. rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning. Do not mix statements and variable declarations. ------------------------------------------------------------------------ r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines branches/zip: When assigning lock->recursive = FALSE, also flag lock->writer_thread invalid, so that Valgrind will catch more errors. This is related to Issue #175. ------------------------------------------------------------------------ r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning about a while(0); statement. This should fix (part of) Issue #176. ------------------------------------------------------------------------ r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning about an empty body of a "for" statement. This fixes part of Issue #176. ------------------------------------------------------------------------ r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines branches/zip: Protect ut_total_allocated_memory with ut_list_mutex. Unprotected updates to ut_total_allocated_memory in os_mem_alloc_large() and os_mem_free_large(), called during fast index creation, may corrupt the variable and cause assertion failures. Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can detect more errors. rb://90 approved by Heikki Tuuri. This addresses Issue #177. ------------------------------------------------------------------------ r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning about an empty body in a "for" statement. This closes Issue #176. ------------------------------------------------------------------------ r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines branches/zip: Issue #178 rb://91 Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that both .c and .cc files get compiled with same flags. To fix the issue where UNIV_LINUX was defined only in .c files. Approved by: Marko ------------------------------------------------------------------------ r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Cleanup in ChangeLog: * Wrap lines at 78 characters * Changed files are listed alphabetically * White-space cleanup ------------------------------------------------------------------------ r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines branches/zip: ChangeLog: Remove include/os0sync.ic from the entry about the google patch, this file was modified later to not include Google's code. ------------------------------------------------------------------------ r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines branches/zip: Merge revisions 4035:4261 from branches/5.1: ------------------------------------------------------------------------ r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC is only defined for integer columns. This caused an assertion failure when we checked for the maximum value of a column type. We now calculate the max value for floating-point autoinc columns too. Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns rb://84 and Mantis issue://162 ------------------------------------------------------------------------ r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add the ULL suffix otherwise there is an overflow. ------------------------------------------------------------------------ r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2709.20.31 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2008-12-19 01:28:51 +0100 message: Disable part of innodb-autoinc.test, because the MySQL server asserts when compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and increment > 1". This change should be reverted when that bug is fixed (and a a few other minor changes to the test as described in comments). modified: mysql-test/r/innodb-autoinc.result mysql-test/t/innodb-autoinc.test ------------------------------------------------------------------------ r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: [looks like the changes to innodb-autoinc.test were made as part of the following huge merge, but we are merging only changes to that file] ------------------------------------------------------------ revno: 2546.47.1 committer: Luis Soares <luis.soares@sun.com> branch nick: 5.1-rpl timestamp: Fri 2009-01-23 13:22:05 +0100 message: merge: 5.1 -> 5.1-rpl conflicts: Text conflict in client/mysqltest.cc Text conflict in mysql-test/include/wait_until_connected_again.inc Text conflict in mysql-test/lib/mtr_report.pm Text conflict in mysql-test/mysql-test-run.pl Text conflict in mysql-test/r/events_bugs.result Text conflict in mysql-test/r/log_state.result Text conflict in mysql-test/r/myisam_data_pointer_size_func.result Text conflict in mysql-test/r/mysqlcheck.result Text conflict in mysql-test/r/query_cache.result Text conflict in mysql-test/r/status.result Text conflict in mysql-test/suite/binlog/r/binlog_index.result Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_packet.result Text conflict in mysql-test/suite/rpl/t/rpl_packet.test Text conflict in mysql-test/t/disabled.def Text conflict in mysql-test/t/events_bugs.test Text conflict in mysql-test/t/log_state.test Text conflict in mysql-test/t/myisam_data_pointer_size_func.test Text conflict in mysql-test/t/mysqlcheck.test Text conflict in mysql-test/t/query_cache.test Text conflict in mysql-test/t/rpl_init_slave_func.test Text conflict in mysql-test/t/status.test removed: mysql-test/suite/parts/r/partition_bit_ndb.result mysql-test/suite/parts/t/partition_bit_ndb.test mysql-test/suite/parts/t/partition_sessions.test mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test mysql-test/t/log_bin_trust_function_creators_func-master.opt mysql-test/t/rpl_init_slave_func-slave.opt added: mysql-test/include/check_events_off.inc mysql-test/include/cleanup_fake_relay_log.inc mysql-test/include/have_simple_parser.inc mysql-test/include/no_running_event_scheduler.inc mysql-test/include/no_running_events.inc mysql-test/include/running_event_scheduler.inc mysql-test/include/setup_fake_relay_log.inc mysql-test/include/wait_condition_sp.inc mysql-test/r/fulltext_plugin.result mysql-test/r/have_simple_parser.require mysql-test/r/innodb_bug38231.result mysql-test/r/innodb_bug39438.result mysql-test/r/innodb_mysql_rbk.result mysql-test/r/partition_innodb_semi_consistent.result mysql-test/r/query_cache_28249.result mysql-test/r/status2.result mysql-test/std_data/bug40482-bin.000001 mysql-test/suite/binlog/r/binlog_innodb_row.result mysql-test/suite/binlog/t/binlog_innodb_row.test mysql-test/suite/rpl/r/rpl_binlog_corruption.result mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt mysql-test/suite/rpl/t/rpl_binlog_corruption.test mysql-test/suite/sys_vars/r/tmp_table_size_basic.result mysql-test/suite/sys_vars/t/tmp_table_size_basic.test mysql-test/t/fulltext_plugin-master.opt mysql-test/t/fulltext_plugin.test mysql-test/t/innodb_bug38231.test mysql-test/t/innodb_bug39438-master.opt mysql-test/t/innodb_bug39438.test mysql-test/t/innodb_mysql_rbk-master.opt mysql-test/t/innodb_mysql_rbk.test mysql-test/t/partition_innodb_semi_consistent-master.opt mysql-test/t/partition_innodb_semi_consistent.test mysql-test/t/query_cache_28249.test mysql-test/t/status2.test renamed: mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test modified: .bzr-mysql/default.conf CMakeLists.txt client/mysql.cc client/mysql_upgrade.c client/mysqlcheck.c client/mysqltest.cc configure.in extra/resolve_stack_dump.c extra/yassl/include/openssl/ssl.h include/config-win.h include/m_ctype.h include/my_global.h mysql-test/extra/binlog_tests/database.test mysql-test/extra/rpl_tests/rpl_auto_increment.test mysql-test/include/commit.inc mysql-test/include/have_32bit.inc mysql-test/include/have_64bit.inc mysql-test/include/index_merge1.inc mysql-test/include/linux_sys_vars.inc mysql-test/include/windows_sys_vars.inc mysql-test/lib/mtr_report.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/commit_1innodb.result mysql-test/r/create.result mysql-test/r/csv.result mysql-test/r/ctype_ucs.result mysql-test/r/date_formats.result mysql-test/r/events_bugs.result mysql-test/r/events_scheduling.result mysql-test/r/fulltext.result mysql-test/r/func_if.result mysql-test/r/func_in.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb-autoinc.result mysql-test/r/innodb.result mysql-test/r/innodb_mysql.result mysql-test/r/log_bin_trust_function_creators_func.result mysql-test/r/log_state.result mysql-test/r/myisampack.result mysql-test/r/mysql.result mysql-test/r/mysqlcheck.result mysql-test/r/partition_datatype.result mysql-test/r/partition_mgm.result mysql-test/r/partition_pruning.result mysql-test/r/query_cache.result mysql-test/r/read_buffer_size_basic.result mysql-test/r/read_rnd_buffer_size_basic.result mysql-test/r/rpl_init_slave_func.result mysql-test/r/select.result mysql-test/r/status.result mysql-test/r/strict.result mysql-test/r/temp_table.result mysql-test/r/type_bit.result mysql-test/r/type_date.result mysql-test/r/type_float.result mysql-test/r/warnings_engine_disabled.result mysql-test/r/xml.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_index.result mysql-test/suite/binlog/r/binlog_innodb.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_innodb.test mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_engines.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/funcs_1/storedproc/param_check.inc mysql-test/suite/funcs_2/t/disabled.def mysql-test/suite/ndb/t/disabled.def mysql-test/suite/parts/r/partition_bit_innodb.result mysql-test/suite/parts/r/partition_bit_myisam.result mysql-test/suite/parts/r/partition_special_innodb.result mysql-test/suite/parts/t/disabled.def mysql-test/suite/parts/t/partition_special_innodb.test mysql-test/suite/parts/t/partition_value_innodb.test mysql-test/suite/parts/t/partition_value_myisam.test mysql-test/suite/parts/t/partition_value_ndb.test mysql-test/suite/rpl/r/rpl_auto_increment.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_slave_skip.result mysql-test/suite/rpl/r/rpl_trigger.result mysql-test/suite/rpl/t/disabled.def mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_slave_skip.test mysql-test/suite/rpl/t/rpl_trigger.test mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/alter_table.test mysql-test/t/create.test mysql-test/t/csv.test mysql-test/t/ctype_ucs.test mysql-test/t/date_formats.test mysql-test/t/disabled.def mysql-test/t/events_bugs.test mysql-test/t/events_scheduling.test mysql-test/t/fulltext.test mysql-test/t/func_if.test mysql-test/t/func_in.test mysql-test/t/func_str.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/information_schema.test mysql-test/t/innodb-autoinc.test mysql-test/t/innodb.test mysql-test/t/innodb_mysql.test mysql-test/t/log_bin_trust_function_creators_func.test mysql-test/t/log_state.test mysql-test/t/myisam_data_pointer_size_func.test mysql-test/t/myisampack.test mysql-test/t/mysql.test mysql-test/t/mysqlcheck.test mysql-test/t/partition_innodb_stmt.test mysql-test/t/partition_mgm.test mysql-test/t/partition_pruning.test mysql-test/t/query_cache.test mysql-test/t/rpl_init_slave_func.test mysql-test/t/select.test mysql-test/t/status.test mysql-test/t/strict.test mysql-test/t/temp_table.test mysql-test/t/type_bit.test mysql-test/t/type_date.test mysql-test/t/type_float.test mysql-test/t/warnings_engine_disabled.test mysql-test/t/xml.test mysys/my_getopt.c mysys/my_init.c scripts/mysql_install_db.sh sql-common/my_time.c sql/field.cc sql/field.h sql/filesort.cc sql/ha_partition.cc sql/ha_partition.h sql/item.cc sql/item_cmpfunc.cc sql/item_func.h sql/item_strfunc.cc sql/item_sum.cc sql/item_timefunc.cc sql/item_timefunc.h sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/mysql_priv.h sql/mysqld.cc sql/opt_range.cc sql/partition_info.cc sql/repl_failsafe.cc sql/rpl_constants.h sql/set_var.cc sql/slave.cc sql/spatial.h sql/sql_acl.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_delete.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_locale.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_profile.cc sql/sql_repl.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_trigger.h sql/table.cc sql/table.h sql/unireg.cc storage/csv/ha_tina.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/innobase/Makefile.am storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/include/btr0sea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0mem.h storage/innobase/include/ha_prototypes.h storage/innobase/include/lock0lock.h storage/innobase/include/row0mysql.h storage/innobase/include/sync0sync.ic storage/innobase/include/ut0ut.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/plug.in storage/innobase/row/row0mysql.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0ut.c storage/myisam/ft_boolean_search.c strings/ctype.c strings/xml.c tests/mysql_client_test.c win/configure.js mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test ------------------------------------------------------------------------ r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: minor non-functional changes. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines branches/zip: Add a ChangeLog entry for a change in r4262. ------------------------------------------------------------------------ r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines branches/zip: Make innodb_use_sys_malloc=ON the default. Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc) to improve branch prediction in the default case. Approved by Ken over the IM. ------------------------------------------------------------------------ r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Add a sentence at the top of COPYING.Google to clarify that this license does not apply to the whole InnoDB. Suggested by: Ken ------------------------------------------------------------------------ r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines branches/zip: Initialize ut_list_mutex at startup. Without this fix, ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1. This fix addresses Issue #181. ut_mem_block_list_init(): Rename to ut_mem_init() and make public. ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited). mem_init(): Call ut_mem_init(). ------------------------------------------------------------------------ r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in FIL_PAGE_TYPE. (Bug #43043, Issue #182) btr_check_blob_fil_page_type(): New function. btr_free_externally_stored_field(), btr_copy_blob_prefix(): Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE. ------------------------------------------------------------------------ r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion. btr_check_blob_fil_page_type(): Replace the parameter const char* op with ibool read. Do not print anything about page type mismatch when reading a BLOB page in Antelope format. Print space id before page number. ------------------------------------------------------------------------ r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited. ------------------------------------------------------------------------ r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines branches/zip: Fix bugs in the fix of Issue #181. Tested inside and outside Valgrind, with innodb_use_sys_malloc set to 0 and 1. mem_init(): Invoke ut_mem_init() before mem_pool_create(), because the latter one will invoke ut_malloc(). srv_general_init(): Do not initialize the memory subsystem (mem_init()). innobase_init(): Initialize the memory subsystem (mem_init()) before calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc(). Call ut_free_all_mem() in error handling to clean up after the mem_init(). ------------------------------------------------------------------------ r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove unused function os_mem_alloc_nocache(). ------------------------------------------------------------------------ r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove the unused function dict_index_get_type(). ------------------------------------------------------------------------ r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h". ------------------------------------------------------------------------ r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h". ------------------------------------------------------------------------ r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines branches/zip: Merge revisions 4261:4287 from branches/5.1: ------------------------------------------------------------------------ r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two changes to the autoinc handling. 1. To fix the immediate problem from the bug report, we must ensure that the value written to the table is always less than the max value stored in dict_table_t. 2. The second related change is that according to MySQL documentation when the offset is greater than the increment, we should ignore the offset. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the fix in r4288. ------------------------------------------------------------------------ r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines branches/zip: Make ChangeLog entries for bugs in bugs.mysql.com in the form: Fix Bug#12345 bug title (for bugs after 1.0.2 was released and the ChangeLog published) There is no need to bloat the ChangeLog with information that is available via bugs.mysql.com. Discussed with: Marko ------------------------------------------------------------------------ r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Fix Bug synopsis and remove explanation ------------------------------------------------------------------------ r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines branches/zip: Correct the initialization of the memory subsystem once again, to finally put Issue #181 to rest. Revert some parts of r4274. It is best not to call ut_malloc() before srv_general_init(). mem_init(): Do not call ut_mem_init(). srv_general_init(): Initialize the memory subsystem in two phases: first ut_mem_init(), then mem_init(). This is because os_sync_init() and sync_init() depend on ut_mem_init() and mem_init() depends on os_sync_init() or sync_init(). srv_parse_data_file_paths_and_sizes(), srv_parse_log_group_home_dirs(): Remove the output parameters. Assign to the global variables directly. Allocate memory with malloc() instead of ut_malloc(), because these functions will be called before srv_general_init(). srv_free_paths_and_sizes(): New function, for cleaning up after srv_parse_data_file_paths_and_sizes() and srv_parse_log_group_home_dirs(). rb://92 approved by Sunny Bains ------------------------------------------------------------------------ r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: White-space cleanup in the ChangeLog ------------------------------------------------------------------------ r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines branches/zip: Do not output the commands that restore the environment because they depend on the state of the environment before the test starts executing. ------------------------------------------------------------------------ r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines branches/zip: Apply any necessary patches to the mysql tree at the end of setup.sh This step was previously done manually (and sometimes forgotten). ------------------------------------------------------------------------ r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines branches/zip: btr_check_blob_fil_page_type(): Do not report FIL_PAGE_TYPE mismatch even when purging a BLOB. Heavy users may have large data files created with MySQL 5.0 or earlier, and they don not want to have the error log flooded with such messages. This fixes Issue #182. ------------------------------------------------------------------------ r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines branches/zip This is to revert the changes made to the plug.in (r4251) as a fix for issue# 178. Changes to plug.in will not propogate to a plugin installation unless autotools are rerun which is unacceptable. A fix for issue# 178 will be committed in a separate commit. ------------------------------------------------------------------------ r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines branches/zip This is a fix for issue#178. Instead of using UNIV_LINUX which is defined through CFLAGS we use compiler generated define __linux__ that is effective for both .c and .cc files. ------------------------------------------------------------------------ r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines branches/zip: Add FreeBSD to the list of the operating systems that have sizeof(pthread_t) == sizeof(void*) (i.e. word size). On FreeBSD pthread_t is defined like: /usr/include/sys/_pthreadtypes.h: typedef struct pthread *pthread_t; I did the following tests (per Inaam's recommendation): a) appropriate version of GCC is available on that platform (4.1.2 or higher for atomics to be available) On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default one is 4.2.1. One can always install the version of choice from the ports collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be defined and thus the change I am committing will make no difference. b) find out if sizeof(pthread_t) == sizeof(long) On 32 bit both are 4 bytes, on 64 bit both are 8 bytes. c) find out the compiler generated platform define (e.g.: __aix, __sunos__ etc.) The macro is __FreeBSD__. d) patch univ.i with the appropriate platform define e) build the mysql f) ensure it is using atomic builtins (look at the err.log message at system startup. It should say we are using atomics for both mutexes and rw-locks) g) do sanity testing (keeping in view the smp changes) I ran the mysql-test suite. All tests pass. ------------------------------------------------------------------------ r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines branches/zip: As suggested by Ken, print a message that says that the Google SMP patch (GCC atomics) is disabled if it is. Also extend the message when the patch is partially enabled to make it clear that it is partially enabled. ------------------------------------------------------------------------ r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Fix typo made in r4353. ------------------------------------------------------------------------ r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Implement a check whether pthread_t objects can be used by GCC atomic builtin functions. This check is implemented in plug.in and defines the macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the relevant part of the code enabled (the one that uses GCC atomics against pthread_t objects). In addition to this, the same program that is compiled as part of the plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source archives that are shipped to the users, a generated Makefile.in is added. That Makefile.in will be modified to compile ut/ut0auxconf.c and define the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e. Makefile.in will emulate the work that is done by plug.in. This is done in order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually defined without regenerating MySQL's ./configure from ./storage/innobase/plug.in. The point is not to ask users to install the autotools and regenerate ./configure. rb://95 Approved by: Marko ------------------------------------------------------------------------ r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines branches/zip: Merge revisions 4287:4357 from branches/5.1: ------------------------------------------------------------------------ r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv It was not a SIGSEGV but an assertion failure. The assertion was checking the invariant that *first_value passed in by MySQL doesn't contain a value that is greater than the max value for that type. The assertion has been changed to a check and if the value is greater than the max we report a generic AUTOINC failure. rb://93 Approved by Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): ------------------------------------------------------------------------ r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.19.1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2009-02-03 11:36:46 +0000 message: BUG#42445 Warning messages in innobase/handler/ha_innodb.cc There was a type casting problem in the storage/innobase/handler/ha_innodb.cc, (int ha_innobase::write_row(...)). Innobase uses has an internal error variable of type 'ulint' while mysql uses an 'int'. To fix the problem the function manipulates an error variable of type 'ulint' and only casts it into 'int' when needs to return the value. modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Merge revision 4359 from branches/5.1: ------------------------------------------------------------------------ r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2747 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2009-01-16 17:49:07 +0100 message: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Add ChangeLog entry for the bugfix in c4360. ------------------------------------------------------------------------ r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin The dynamic plugin on Windows used to be built with MYSQL_SERVER compile flag, while it is not the case for other platforms. r3797 assumed MYSQL_SERVER was not defined for dynamic plugin, which introduced the engine crash during dropping a database. ------------------------------------------------------------------------ r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE in a separate redo log entry. This will make ibbackup --apply-log debugging easier. ------------------------------------------------------------------------ r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, initialize FIL_PAGE_TYPE. This will make it easier to write the debug assertions for ibbackup --apply-log. ------------------------------------------------------------------------ r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines branches/zip: Merge revisions 4359:4400 from branches/5.1: ------------------------------------------------------------------------ r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position also for unlock_row(). (Bug #39320) ------------------------------------------------------------------------ r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines branches/5.1: Fix a bug in multi-table semi-consistent reads. Remember the acquired record locks per table handle (row_prebuilt_t) rather than per transaction (trx_t), so that unlock_row should successfully unlock all non-matching rows in multi-table operations. This deficiency was found while investigating Bug #39320. ------------------------------------------------------------------------ These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri. ------------------------------------------------------------------------ r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and adjust all callers. ------------------------------------------------------------------------ r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL before dereferencing it. In this way, ut_list_node_313 will be pointing to the last non-NULL list item at the time of the assertion failure. (gcc-4.3.2 -O3 seems to optimize the common subexpressions and make the variable NULL, though.) ------------------------------------------------------------------------ r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: sync_thread_add_level(): Make the assertions about level == SYNC_BUF_BLOCK more readable. ------------------------------------------------------------------------ r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines branches/zip: Remove mysql-test/patches/bug32625.diff because that bug was fixed in the mysql repository (1 year and 4 months after sending them the simple patch!). See http://bugs.mysql.com/32625 ------------------------------------------------------------------------ r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line branches/zip: buf0buddy.c: Add and adjust some debug assertions. ------------------------------------------------------------------------ r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines branches/zip: Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that 1.0.3 has been released. ------------------------------------------------------------------------ r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug41893.diff because that bug has been fixed in the MySQL repository, see http://bugs.mysql.com/41893. ------------------------------------------------------------------------ r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions. ------------------------------------------------------------------------ r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line branches/zip: buf_buddy_free_low(): Correct the function comment. ------------------------------------------------------------------------ r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines branches/zip: Merge revisions 4400:4481 from branches/5.1: ------------------------------------------------------------------------ r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines branches/5.1: row_unlock_for_mysql(): Do not unlock records that were modified by the current transaction. This bug was introduced or unmasked in r4400. rb://97 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup: Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with dict_ind_redundant and dict_ind_compact, initialized in dict_init(). ------------------------------------------------------------------------ r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines branches/zip: Add const qualifiers or in/out comments to some function parameters in log0log. ------------------------------------------------------------------------ r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines branches/zip: page_validate(): Always report the space id and the name of the index. In Hot Backup, do not invoke comparison functions, as MySQL collations will be unavailable. ------------------------------------------------------------------------ r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id(). ------------------------------------------------------------------------ r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars. This eliminates some "unused variable" warnings when building InnoDB Hot Backup in such a way that all mutex operations are no-ops. ------------------------------------------------------------------------ r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. ------------------------------------------------------------------------ r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_recover_page(): Remove compile-time constant parameters. ------------------------------------------------------------------------ r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_sys_init(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change: Add const qualifiers. log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf(): The log block is read-only. Make it const. ------------------------------------------------------------------------ r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: fil_init(): Add the parameter hash_size. ------------------------------------------------------------------------ r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Add any entry about the release of 1.0.3 in the ChangeLog. ------------------------------------------------------------------------ r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. Make it a no-op in UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use PAGE_ZIP_MATCH. In UNIV_HOTBACKUP builds, assume fixed allocation. ------------------------------------------------------------------------ r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Exclude some operating system interface code from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove the remaining references to hash_table_t::adapive from UNIV_HOTBACKUP builds. This should have been done in r4515. ------------------------------------------------------------------------ r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Enclose recv_recovery_from_backup_on and recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE. ------------------------------------------------------------------------ r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions ensuring that FIL_PAGE_TYPE makes sense when applying log records. ------------------------------------------------------------------------ r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove unneeded definitions and dependencies from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines branches/zip: adjust build files on Windows Adjust the patch positions based on the latest MySQL source. Also add the patches to the .bat files for vs9. ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
2005-10-27 07:29:40 +00:00
/* Dummy comment */
#include "srv0srv.h"
#include "ut0mem.h"
#include "ut0ut.h"
2005-10-27 07:29:40 +00:00
#include "os0proc.h"
#include "mem0mem.h"
#include "mem0pool.h"
#include "sync0sync.h"
#include "thr0loc.h"
#include "que0que.h"
#include "srv0que.h"
#include "log0recv.h"
#include "pars0pars.h"
#include "usr0sess.h"
#include "lock0lock.h"
#include "trx0purge.h"
#include "ibuf0ibuf.h"
#include "buf0flu.h"
#include "buf0lru.h"
2005-10-27 07:29:40 +00:00
#include "btr0sea.h"
#include "dict0load.h"
#include "dict0boot.h"
#include "srv0start.h"
#include "row0mysql.h"
#include "ha_prototypes.h"
#include "trx0i_s.h"
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
#include "os0sync.h" /* for HAVE_ATOMIC_BUILTINS */
2005-10-27 07:29:40 +00:00
/* This is set to TRUE if the MySQL user has set it in MySQL; currently
affects only FOREIGN KEY definition parsing */
UNIV_INTERN ibool srv_lower_case_table_names = FALSE;
2005-10-27 07:29:40 +00:00
/* The following counter is incremented whenever there is some user activity
in the server */
UNIV_INTERN ulint srv_activity_count = 0;
2005-10-27 07:29:40 +00:00
/* The following is the maximum allowed duration of a lock wait. */
UNIV_INTERN ulint srv_fatal_semaphore_wait_threshold = 600;
2005-10-27 07:29:40 +00:00
/* How much data manipulation language (DML) statements need to be delayed,
in microseconds, in order to reduce the lagging of the purge thread. */
UNIV_INTERN ulint srv_dml_needed_delay = 0;
2005-10-27 07:29:40 +00:00
UNIV_INTERN ibool srv_lock_timeout_and_monitor_active = FALSE;
UNIV_INTERN ibool srv_error_monitor_active = FALSE;
2005-10-27 07:29:40 +00:00
UNIV_INTERN const char* srv_main_thread_op_info = "";
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/** Prefix used by MySQL to indicate pre-5.1 table name encoding */
UNIV_INTERN const char srv_mysql50_table_name_prefix[9] = "#mysql50#";
2005-10-27 07:29:40 +00:00
/* Server parameters which are read from the initfile */
/* The following three are dir paths which are catenated before file
names, where the file name itself may also contain a path */
UNIV_INTERN char* srv_data_home = NULL;
2005-10-27 07:29:40 +00:00
#ifdef UNIV_LOG_ARCHIVE
UNIV_INTERN char* srv_arch_dir = NULL;
2005-10-27 07:29:40 +00:00
#endif /* UNIV_LOG_ARCHIVE */
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/** store to its own file each table created by an user; data
dictionary tables are in the system tablespace 0 */
UNIV_INTERN my_bool srv_file_per_table;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/** The file format to use on new *.ibd files. */
UNIV_INTERN ulint srv_file_format = 0;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/** Whether to check file format during startup. A value of
DICT_TF_FORMAT_MAX + 1 means no checking ie. FALSE. The default is to
set it to the highest format we support. */
UNIV_INTERN ulint srv_check_file_format_at_startup = DICT_TF_FORMAT_MAX;
#if DICT_TF_FORMAT_51
# error "DICT_TF_FORMAT_51 must be 0!"
#endif
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/** Place locks to records only i.e. do not use next-key locking except
on duplicate key checking and foreign key checking */
UNIV_INTERN ibool srv_locks_unsafe_for_binlog = FALSE;
/* If this flag is TRUE, then we will use the native aio of the
OS (provided we compiled Innobase with it in), otherwise we will
use simulated aio we build below with threads.
Currently we support native aio on windows and linux */
UNIV_INTERN my_bool srv_use_native_aio = TRUE;
UNIV_INTERN ulint srv_n_data_files = 0;
UNIV_INTERN char** srv_data_file_names = NULL;
/* size in database pages */
UNIV_INTERN ulint* srv_data_file_sizes = NULL;
/* if TRUE, then we auto-extend the last data file */
UNIV_INTERN ibool srv_auto_extend_last_data_file = FALSE;
/* if != 0, this tells the max size auto-extending may increase the
last data file size */
UNIV_INTERN ulint srv_last_file_size_max = 0;
/* If the last data file is auto-extended, we add this
many pages to it at a time */
UNIV_INTERN ulong srv_auto_extend_increment = 8;
UNIV_INTERN ulint* srv_data_file_is_raw_partition = NULL;
2005-10-27 07:29:40 +00:00
/* If the following is TRUE we do not allow inserts etc. This protects
the user from forgetting the 'newraw' keyword to my.cnf */
UNIV_INTERN ibool srv_created_new_raw = FALSE;
UNIV_INTERN char** srv_log_group_home_dirs = NULL;
UNIV_INTERN ulint srv_n_log_groups = ULINT_MAX;
UNIV_INTERN ulint srv_n_log_files = ULINT_MAX;
/* size in database pages */
UNIV_INTERN ulint srv_log_file_size = ULINT_MAX;
/* size in database pages */
UNIV_INTERN ulint srv_log_buffer_size = ULINT_MAX;
UNIV_INTERN ulong srv_flush_log_at_trx_commit = 1;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Try to flush dirty pages so as to avoid IO bursts at
the checkpoints. */
UNIV_INTERN char srv_adaptive_flushing = TRUE;
/* The sort order table of the MySQL latin1_swedish_ci character set
collation */
UNIV_INTERN const byte* srv_latin1_ordering;
branches/innodb+: Merge revisions 3602:3931 from branches/zip: ------------------------------------------------------------------------ r3607 | marko | 2008-12-30 22:33:31 +0200 (Tue, 30 Dec 2008) | 20 lines branches/zip: Remove the dependency on the MySQL HASH table implementation. Use the InnoDB hash table for keeping track of INNOBASE_SHARE objects. struct st_innobase_share: Make table_name const uchar*. Add the member table_name_hash. innobase_open_tables: Change the type from HASH to hash_table_t*. innobase_get_key(): Remove. innobase_fold_name(): New function, for computing the fold value for the InnoDB hash table. get_share(), free_share(): Use the InnoDB hash functions. innobase_end(): Free innobase_open_tables before shutting down InnoDB. Shutting down InnoDB will invalidate all memory allocated via InnoDB. rb://65 approved by Heikki Tuuri. This addresses Issue #104. ------------------------------------------------------------------------ r3608 | marko | 2008-12-30 22:45:04 +0200 (Tue, 30 Dec 2008) | 22 lines branches/zip: When setting the PAGE_LEVEL of a compressed B-tree page from or to 0, compress the page at the same time. This is necessary, because the column information stored on the compressed page will differ between leaf and non-leaf pages. Leaf pages are identified by PAGE_LEVEL=0. This bug was reported as Issue #150. Document the similarity between btr_page_create() and btr_page_empty(). Make the function signature of btr_page_empty() identical with btr_page_create(). (This will add the parameter "level".) btr_root_raise_and_insert(): Replace some code with a call to btr_page_empty(). btr_attach_half_pages(): Assert that the page level has already been set on both block and new_block. Do not set it again. btr_discard_only_page_on_level(): Document that this function is probably never called. Make it work on any height tree. (Tested on 2-high tree by disabling btr_lift_page_up().) rb://68 ------------------------------------------------------------------------ r3612 | marko | 2009-01-02 11:02:44 +0200 (Fri, 02 Jan 2009) | 14 lines branches/zip: Merge c2998 from branches/6.0, so that the same InnoDB Plugin source tree will work both under 5.1 and 6.0. Do not add the test case innodb_ctype_ldml.test, because it would not work under MySQL 5.1. Refuse to create tables whose columns contain collation IDs above 255. This removes an assertion failure that was introduced in WL#4164 (Two-byte collation IDs). create_table_def(): Do not fail an assertion if a column contains a charset-collation ID greater than 256. Instead, issue an error and refuse to create the table. The original change (branches/6.0 r2998) was rb://51 approved by Calvin Sun. ------------------------------------------------------------------------ r3613 | inaam | 2009-01-02 15:10:50 +0200 (Fri, 02 Jan 2009) | 6 lines branches/zip: Implement the parameter innodb_use_sys_malloc (false by default), for disabling InnoDB's internal memory allocator and using system malloc/free instead. rb://62 approved by Marko ------------------------------------------------------------------------ r3614 | marko | 2009-01-02 15:55:12 +0200 (Fri, 02 Jan 2009) | 1 line branches/zip: ChangeLog: Document r3608 and r3613. ------------------------------------------------------------------------ r3615 | marko | 2009-01-02 15:57:51 +0200 (Fri, 02 Jan 2009) | 1 line branches/zip: ChangeLog: Clarify the impact of r3608. ------------------------------------------------------------------------ r3616 | marko | 2009-01-03 00:23:30 +0200 (Sat, 03 Jan 2009) | 1 line branches/zip: srv_suspend_mysql_thread(): Add some clarifying comments. ------------------------------------------------------------------------ r3618 | marko | 2009-01-05 12:54:53 +0200 (Mon, 05 Jan 2009) | 15 lines branches/zip: Merge revisions 3598:3601 from branches/5.1: ------------------------------------------------------------------------ r3601 | marko | 2008-12-22 16:05:19 +0200 (Mon, 22 Dec 2008) | 9 lines branches/5.1: Make SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED a true replacement of SET GLOBAL INNODB_LOCKS_UNSAFE_FOR_BINLOG=1. This fixes an error that was introduced in r370, causing semi-consistent read not to not unlock rows in READ COMMITTED mode. (Bug #41671, Issue #146) rb://67 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3623 | vasil | 2009-01-06 09:56:32 +0200 (Tue, 06 Jan 2009) | 7 lines branches/zip: Add patch to fix the failing main.variables mysql-test. It started failing after the variable innodb_use_sys_malloc was added because it matches '%alloc%' and the test is badly written and expects that no new variables like that will ever be added. ------------------------------------------------------------------------ r3795 | marko | 2009-01-07 16:17:47 +0200 (Wed, 07 Jan 2009) | 7 lines branches/zip: row_merge_tuple_cmp(): Do not report a duplicate key value if any of the fields are NULL. While the tuples are equal in the sorting order, SQL NULL is defined to be logically inequal to anything else. (Bug #41904) rb://70 approved by Heikki Tuuri ------------------------------------------------------------------------ r3796 | marko | 2009-01-07 16:19:32 +0200 (Wed, 07 Jan 2009) | 1 line branches/zip: Add the tests that were forgotten from r3795. ------------------------------------------------------------------------ r3797 | marko | 2009-01-07 16:22:18 +0200 (Wed, 07 Jan 2009) | 22 lines branches/zip: Do not call trx_allocate_for_mysql() directly, but use helper functions that initialize some members of the transaction struct. (Bug #41680) innobase_trx_init(): New function: initialize some fields of a transaction struct from a MySQL THD object. innobase_trx_allocate(): New function: allocate and initialize a transaction struct. check_trx_exists(): Use the above two functions. ha_innobase::delete_table(), ha_innobase::rename_table(), ha_innobase::add_index(), ha_innobase::final_drop_index(): Use innobase_trx_allocate(). innobase_drop_database(): In the Windows plugin, initialize the trx_t specially, because the THD is not available. Otherwise, use innobase_trx_allocate(). rb://69 accepted by Heikki Tuuri ------------------------------------------------------------------------ r3798 | marko | 2009-01-07 16:42:42 +0200 (Wed, 07 Jan 2009) | 8 lines branches/zip: row_merge_drop_temp_indexes(): Do not lock the rows of SYS_INDEXES when looking for partially created indexes. Use the transaction isolation level READ UNCOMMITTED to avoid interfering with locks held by incomplete transactions that will be rolled back in a subsequent step in the recovery. (Issue #152) Approved by Heikki Tuuri ------------------------------------------------------------------------ r3852 | vasil | 2009-01-08 22:10:10 +0200 (Thu, 08 Jan 2009) | 4 lines branches/zip: Add ChangeLog entries for r3795 r3796 r3797 r3798. ------------------------------------------------------------------------ r3866 | marko | 2009-01-09 15:09:51 +0200 (Fri, 09 Jan 2009) | 2 lines branches/zip: buf_flush_try_page(): Move some common code from each switch case before the switch block. ------------------------------------------------------------------------ r3867 | marko | 2009-01-09 15:13:14 +0200 (Fri, 09 Jan 2009) | 2 lines branches/zip: buf_flush_try_page(): Introduce the variable is_compressed for caching the result of buf_page_get_state(bpage) == BUF_BLOCK_FILE_PAGE. ------------------------------------------------------------------------ r3868 | marko | 2009-01-09 15:40:11 +0200 (Fri, 09 Jan 2009) | 4 lines branches/zip: buf_flush_insert_into_flush_list(), buf_flush_insert_sorted_into_flush_list(): Remove unused code. Change the parameter to buf_block_t* block and assert that block->state == BUF_BLOCK_FILE_PAGE. This is part of Issue #155. ------------------------------------------------------------------------ r3873 | marko | 2009-01-09 22:27:40 +0200 (Fri, 09 Jan 2009) | 17 lines branches/zip: Some non-functional changes related to Issue #155. buf_page_struct: Note that space and offset are also protected by buf_pool_mutex. They are only assigned to by buf_block_set_file_page(). Thus, it suffices for buf_flush_batch() to hold just buf_pool_mutex when checking these fields. buf_flush_try_page(): Rename "locked" to "is_s_latched", per Heikki's request. buf_flush_batch(): Move the common statement mutex_exit(block_mutex) from all if-else if-else branches before the if block. Remove the redundant test (buf_pool->init_flush[flush_type] == FALSE) that was apparently copied from buf_flush_write_complete(). buf_flush_write_block_low(): Note why it is safe not to hold buf_pool_mutex or block_mutex. Enumerate the assumptions in debug assertions. ------------------------------------------------------------------------ r3874 | marko | 2009-01-09 23:09:06 +0200 (Fri, 09 Jan 2009) | 4 lines branches/zip: Add comments related to Issue #155. buf_flush_try_page(): Note why it is safe to access bpage without holding buf_pool_mutex or block_mutex. ------------------------------------------------------------------------ r3875 | marko | 2009-01-09 23:15:12 +0200 (Fri, 09 Jan 2009) | 11 lines branches/zip: Non-functional change: Tighten debug assertions and remove dead code. buf_flush_ready_for_flush(), buf_flush_try_page(): Assert that flush_type is one of BUF_FLUSH_LRU or BUF_FLUSH_LIST. The flush_type comes from buf_flush_batch(), which already asserts this. The assertion holds for all calls in the source code. buf_flush_try_page(): Remove the dead case BUF_FLUSH_SINGLE_PAGE of switch (flush_type). ------------------------------------------------------------------------ r3879 | marko | 2009-01-12 12:46:44 +0200 (Mon, 12 Jan 2009) | 14 lines branches/zip: Simplify the flushing of dirty pages from the buffer pool. buf_flush_try_page(): Rename to buf_flush_page(), and change the return type to void. Replace the parameters space, offset with bpage, and remove the second page hash lookup. Note and assert that both buf_pool_mutex and block_mutex must now be held upon entering the function. They will still be released by this function. buf_flush_try_neighbors(): Replace buf_flush_try_page() with buf_flush_page(). Make the logic easier to follow by not negating the precondition of buf_flush_page(). rb://73 approved by Sunny Bains. This is related to Issue #157. ------------------------------------------------------------------------ r3880 | marko | 2009-01-12 13:24:37 +0200 (Mon, 12 Jan 2009) | 2 lines branches/zip: buf_flush_page(): Fix a comment that should have been fixed in r3879. Spotted by Sunny. ------------------------------------------------------------------------ r3881 | marko | 2009-01-12 14:25:22 +0200 (Mon, 12 Jan 2009) | 2 lines branches/zip: buf_page_get_newest_modification(): Use the block mutex instead of the buffer pool mutex. This is related to Issue #157. ------------------------------------------------------------------------ r3882 | marko | 2009-01-12 14:40:08 +0200 (Mon, 12 Jan 2009) | 3 lines branches/zip: struct mtr_struct: Remove the unused field magic_n unless UNIV_DEBUG is defined. mtr->magic_n is only assigned to and checked in UNIV_DEBUG builds. ------------------------------------------------------------------------ r3883 | marko | 2009-01-12 14:48:59 +0200 (Mon, 12 Jan 2009) | 1 line branches/zip: Non-functional change: Use ut_d when assigning to mtr->state. ------------------------------------------------------------------------ r3884 | marko | 2009-01-12 18:56:11 +0200 (Mon, 12 Jan 2009) | 16 lines branches/zip: Non-functional change: Add some debug assertions and comments. buf_page_t: Note that the LRU fields are protected by buf_pool_mutex only, not block->mutex or buf_pool_zip_mutex. buf_page_get_freed_page_clock(): Note that this is sometimes invoked without mutex protection. buf_pool_get_oldest_modification(): Note that the result may be out of date. buf_page_get_LRU_position(), buf_page_is_old(): Assert that the buffer pool mutex is being held. buf_page_release(): Assert that dirty blocks are in the flush list. ------------------------------------------------------------------------ r3896 | marko | 2009-01-13 09:30:26 +0200 (Tue, 13 Jan 2009) | 2 lines branches/zip: buf_flush_try_neighbors(): Fix a bug that was introduced in r3879 (rb://73). ------------------------------------------------------------------------ r3900 | marko | 2009-01-13 10:32:24 +0200 (Tue, 13 Jan 2009) | 1 line branches/zip: Fix some comments to say buf_pool_mutex. ------------------------------------------------------------------------ r3907 | marko | 2009-01-13 11:54:01 +0200 (Tue, 13 Jan 2009) | 3 lines branches/zip: row_merge_create_temporary_table(): On error, row_create_table_for_mysql() already frees new_table. Do not attempt to free it again. ------------------------------------------------------------------------ r3908 | marko | 2009-01-13 12:34:32 +0200 (Tue, 13 Jan 2009) | 1 line branches/zip: Enable HASH_ASSERT_OWNED independently of UNIV_SYNC_DEBUG. ------------------------------------------------------------------------ r3914 | marko | 2009-01-13 21:46:22 +0200 (Tue, 13 Jan 2009) | 37 lines branches/zip: In hash table lookups, assert that the traversed items satisfy some conditions when UNIV_DEBUG is defined. HASH_SEARCH(): New parameter: ASSERTION. All users will pass an appropriate ut_ad() or nothing. dict_table_add_to_columns(): Assert that the table being added to the data dictionary cache is not already being pointed to by the name_hash and id_hash tables. HASH_SEARCH_ALL(): New macro, for use in dict_table_add_to_columns(). dict_mem_table_free(): Set ut_d(table->cached = FALSE), so that we can check ut_ad(table->cached) when traversing the hash tables, as in HASH_SEARCH(name_hash, dict_sys->table_hash, ...) and HASH_SEARCH(id_hash, dict_sys->table_id_hash, ...). dict_table_get_low(), dict_table_get_on_id_low(): Assert ut_ad(!table || table->cached). fil_space_get_by_id(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N) in HASH_SEARCH(hash, fil_system->spaces, ...). fil_space_get_by_name(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N) in HASH_SEARCH(name_hash, fil_system->name_hash, ...). buf_buddy_block_free(): Check that the blocks are in valid state in HASH_SEARCH(hash, buf_pool->zip_hash, ...). buf_page_hash_get(): Check that the blocks are in valid state in HASH_SEARCH(hash, buf_pool->page_hash, ...). get_share(), free_share(): Check ut_ad(share->use_count > 0) in HASH_SEARCH(table_name_hash, innobase_open_tables, ...). This was posted as rb://75 for tracking down errors similar to Issue #153. ------------------------------------------------------------------------ r3931 | marko | 2009-01-14 16:06:22 +0200 (Wed, 14 Jan 2009) | 26 lines branches/zip: Merge revisions 3601:3930 from branches/5.1: ------------------------------------------------------------------------ r3911 | sunny | 2009-01-13 14:15:24 +0200 (Tue, 13 Jan 2009) | 13 lines branches/5.1: Fix Bug#38187 Error 153 when creating savepoints InnoDB previously treated savepoints as a stack e.g., SAVEPOINT a; SAVEPOINT b; SAVEPOINT c; SAVEPOINT b; <- This would delete b and c. This fix changes the behavior to: SAVEPOINT a; SAVEPOINT b; SAVEPOINT c; SAVEPOINT b; <- Does not delete savepoint c ------------------------------------------------------------------------ r3930 | marko | 2009-01-14 15:51:30 +0200 (Wed, 14 Jan 2009) | 4 lines branches/5.1: dict_load_table(): If dict_load_indexes() fails, invoke dict_table_remove_from_cache() instead of dict_mem_table_free(), so that the data dictionary will not point to freed data. (Bug #42075, Issue #153, rb://76 approved by Heikki Tuuri) ------------------------------------------------------------------------ ------------------------------------------------------------------------
2009-01-14 14:25:45 +00:00
/* use os/external memory allocator */
branches/innodb+: Merge revisions 4150:4528 from branches/zip: ------------------------------------------------------------------------ r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: When innodb_use_sys_malloc is set, ignore innodb_additional_mem_pool_size, because nothing will be allocated from mem_comm_pool. mem_pool_create(): Remove the assertion about size. The function will work with any size. However, an assertion would fail in ut_malloc_low() when size==0. mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create(). mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c. ------------------------------------------------------------------------ r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines branches/zip: (followup to r4145) Non-functional change: Change the os_atomic_increment() and os_compare_and_swap() functions to macros to avoid artificial limitations on the types of those functions' arguments. As a consequence typecasts from the source code can be removed. Also remove Google's copyright from os0sync.ic because that file no longer contains code from Google. Approved by: Marko (rb://88), also ok from Inaam via IM ------------------------------------------------------------------------ r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Make innodb_thread_concurrency=0 the default. The old default was 8. ------------------------------------------------------------------------ r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines branches/zip: Adjust the result file of innodb_thread_concurrency_basic test. The default value of innodb_thread_concurrency is changed to 0 (from 8) via r4163. ------------------------------------------------------------------------ r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Fix pathname of the file to patch. ------------------------------------------------------------------------ r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines branches/zip: Fix the failing mysql-test partition_innodb, which failed only if run after innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into the output of SHOW ENGINE INNODB STATUS). Find further explanation for the failure at the top of the added patch partition_innodb.diff. ------------------------------------------------------------------------ r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: Add the full text of the GPLv2 license into the root directory of the plugin. In previous releases this file was copied from an external source (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when creating the source and binary archives. It is less confusing to have this present in the root directory of the SVN branch. ------------------------------------------------------------------------ r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add Google's license into COPYING.Google. ------------------------------------------------------------------------ r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines branches/zip: To the files touched by the Google patch from c4144 (excluding include/os0sync.ic because later we removed Google code from that file): * Remove the Google license * Remove old Innobase copyright lines * Add a reference to the Google license and to the GPLv2 license at the top, as recommended by the lawyers at Oracle Legal. ------------------------------------------------------------------------ r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 1/28] ------------------------------------------------------------------------ r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 2/28] ------------------------------------------------------------------------ r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 3/28] ------------------------------------------------------------------------ r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 4/28] ------------------------------------------------------------------------ r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 5/28] ------------------------------------------------------------------------ r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 6/28] ------------------------------------------------------------------------ r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 7/28] ------------------------------------------------------------------------ r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 8/28] ------------------------------------------------------------------------ r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 9/28] ------------------------------------------------------------------------ r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 10/28] ------------------------------------------------------------------------ r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 11/28] ------------------------------------------------------------------------ r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 12/28] ------------------------------------------------------------------------ r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 15/28] ------------------------------------------------------------------------ r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 16/28] ------------------------------------------------------------------------ r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 17/28] ------------------------------------------------------------------------ r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 18/28] ------------------------------------------------------------------------ r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 19/28] ------------------------------------------------------------------------ r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 20/28] ------------------------------------------------------------------------ r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 21/28] ------------------------------------------------------------------------ r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 22/28] ------------------------------------------------------------------------ r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 23/28] ------------------------------------------------------------------------ r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 24/28] ------------------------------------------------------------------------ r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 25/28] ------------------------------------------------------------------------ r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 26/28] ------------------------------------------------------------------------ r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 27/28] ------------------------------------------------------------------------ r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 28/28] ------------------------------------------------------------------------ r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add the copyright notice to the non C files. ------------------------------------------------------------------------ r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines Minor cleanup of the Google SMP patch. sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning about the return value of os_atomic_increment() being ignored. rw_lock_create_func(): Properly indent the preprocessor directives. rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly. rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning. Do not mix statements and variable declarations. ------------------------------------------------------------------------ r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines branches/zip: When assigning lock->recursive = FALSE, also flag lock->writer_thread invalid, so that Valgrind will catch more errors. This is related to Issue #175. ------------------------------------------------------------------------ r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning about a while(0); statement. This should fix (part of) Issue #176. ------------------------------------------------------------------------ r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning about an empty body of a "for" statement. This fixes part of Issue #176. ------------------------------------------------------------------------ r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines branches/zip: Protect ut_total_allocated_memory with ut_list_mutex. Unprotected updates to ut_total_allocated_memory in os_mem_alloc_large() and os_mem_free_large(), called during fast index creation, may corrupt the variable and cause assertion failures. Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can detect more errors. rb://90 approved by Heikki Tuuri. This addresses Issue #177. ------------------------------------------------------------------------ r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning about an empty body in a "for" statement. This closes Issue #176. ------------------------------------------------------------------------ r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines branches/zip: Issue #178 rb://91 Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that both .c and .cc files get compiled with same flags. To fix the issue where UNIV_LINUX was defined only in .c files. Approved by: Marko ------------------------------------------------------------------------ r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Cleanup in ChangeLog: * Wrap lines at 78 characters * Changed files are listed alphabetically * White-space cleanup ------------------------------------------------------------------------ r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines branches/zip: ChangeLog: Remove include/os0sync.ic from the entry about the google patch, this file was modified later to not include Google's code. ------------------------------------------------------------------------ r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines branches/zip: Merge revisions 4035:4261 from branches/5.1: ------------------------------------------------------------------------ r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC is only defined for integer columns. This caused an assertion failure when we checked for the maximum value of a column type. We now calculate the max value for floating-point autoinc columns too. Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns rb://84 and Mantis issue://162 ------------------------------------------------------------------------ r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add the ULL suffix otherwise there is an overflow. ------------------------------------------------------------------------ r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2709.20.31 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2008-12-19 01:28:51 +0100 message: Disable part of innodb-autoinc.test, because the MySQL server asserts when compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and increment > 1". This change should be reverted when that bug is fixed (and a a few other minor changes to the test as described in comments). modified: mysql-test/r/innodb-autoinc.result mysql-test/t/innodb-autoinc.test ------------------------------------------------------------------------ r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: [looks like the changes to innodb-autoinc.test were made as part of the following huge merge, but we are merging only changes to that file] ------------------------------------------------------------ revno: 2546.47.1 committer: Luis Soares <luis.soares@sun.com> branch nick: 5.1-rpl timestamp: Fri 2009-01-23 13:22:05 +0100 message: merge: 5.1 -> 5.1-rpl conflicts: Text conflict in client/mysqltest.cc Text conflict in mysql-test/include/wait_until_connected_again.inc Text conflict in mysql-test/lib/mtr_report.pm Text conflict in mysql-test/mysql-test-run.pl Text conflict in mysql-test/r/events_bugs.result Text conflict in mysql-test/r/log_state.result Text conflict in mysql-test/r/myisam_data_pointer_size_func.result Text conflict in mysql-test/r/mysqlcheck.result Text conflict in mysql-test/r/query_cache.result Text conflict in mysql-test/r/status.result Text conflict in mysql-test/suite/binlog/r/binlog_index.result Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_packet.result Text conflict in mysql-test/suite/rpl/t/rpl_packet.test Text conflict in mysql-test/t/disabled.def Text conflict in mysql-test/t/events_bugs.test Text conflict in mysql-test/t/log_state.test Text conflict in mysql-test/t/myisam_data_pointer_size_func.test Text conflict in mysql-test/t/mysqlcheck.test Text conflict in mysql-test/t/query_cache.test Text conflict in mysql-test/t/rpl_init_slave_func.test Text conflict in mysql-test/t/status.test removed: mysql-test/suite/parts/r/partition_bit_ndb.result mysql-test/suite/parts/t/partition_bit_ndb.test mysql-test/suite/parts/t/partition_sessions.test mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test mysql-test/t/log_bin_trust_function_creators_func-master.opt mysql-test/t/rpl_init_slave_func-slave.opt added: mysql-test/include/check_events_off.inc mysql-test/include/cleanup_fake_relay_log.inc mysql-test/include/have_simple_parser.inc mysql-test/include/no_running_event_scheduler.inc mysql-test/include/no_running_events.inc mysql-test/include/running_event_scheduler.inc mysql-test/include/setup_fake_relay_log.inc mysql-test/include/wait_condition_sp.inc mysql-test/r/fulltext_plugin.result mysql-test/r/have_simple_parser.require mysql-test/r/innodb_bug38231.result mysql-test/r/innodb_bug39438.result mysql-test/r/innodb_mysql_rbk.result mysql-test/r/partition_innodb_semi_consistent.result mysql-test/r/query_cache_28249.result mysql-test/r/status2.result mysql-test/std_data/bug40482-bin.000001 mysql-test/suite/binlog/r/binlog_innodb_row.result mysql-test/suite/binlog/t/binlog_innodb_row.test mysql-test/suite/rpl/r/rpl_binlog_corruption.result mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt mysql-test/suite/rpl/t/rpl_binlog_corruption.test mysql-test/suite/sys_vars/r/tmp_table_size_basic.result mysql-test/suite/sys_vars/t/tmp_table_size_basic.test mysql-test/t/fulltext_plugin-master.opt mysql-test/t/fulltext_plugin.test mysql-test/t/innodb_bug38231.test mysql-test/t/innodb_bug39438-master.opt mysql-test/t/innodb_bug39438.test mysql-test/t/innodb_mysql_rbk-master.opt mysql-test/t/innodb_mysql_rbk.test mysql-test/t/partition_innodb_semi_consistent-master.opt mysql-test/t/partition_innodb_semi_consistent.test mysql-test/t/query_cache_28249.test mysql-test/t/status2.test renamed: mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test modified: .bzr-mysql/default.conf CMakeLists.txt client/mysql.cc client/mysql_upgrade.c client/mysqlcheck.c client/mysqltest.cc configure.in extra/resolve_stack_dump.c extra/yassl/include/openssl/ssl.h include/config-win.h include/m_ctype.h include/my_global.h mysql-test/extra/binlog_tests/database.test mysql-test/extra/rpl_tests/rpl_auto_increment.test mysql-test/include/commit.inc mysql-test/include/have_32bit.inc mysql-test/include/have_64bit.inc mysql-test/include/index_merge1.inc mysql-test/include/linux_sys_vars.inc mysql-test/include/windows_sys_vars.inc mysql-test/lib/mtr_report.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/commit_1innodb.result mysql-test/r/create.result mysql-test/r/csv.result mysql-test/r/ctype_ucs.result mysql-test/r/date_formats.result mysql-test/r/events_bugs.result mysql-test/r/events_scheduling.result mysql-test/r/fulltext.result mysql-test/r/func_if.result mysql-test/r/func_in.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb-autoinc.result mysql-test/r/innodb.result mysql-test/r/innodb_mysql.result mysql-test/r/log_bin_trust_function_creators_func.result mysql-test/r/log_state.result mysql-test/r/myisampack.result mysql-test/r/mysql.result mysql-test/r/mysqlcheck.result mysql-test/r/partition_datatype.result mysql-test/r/partition_mgm.result mysql-test/r/partition_pruning.result mysql-test/r/query_cache.result mysql-test/r/read_buffer_size_basic.result mysql-test/r/read_rnd_buffer_size_basic.result mysql-test/r/rpl_init_slave_func.result mysql-test/r/select.result mysql-test/r/status.result mysql-test/r/strict.result mysql-test/r/temp_table.result mysql-test/r/type_bit.result mysql-test/r/type_date.result mysql-test/r/type_float.result mysql-test/r/warnings_engine_disabled.result mysql-test/r/xml.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_index.result mysql-test/suite/binlog/r/binlog_innodb.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_innodb.test mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_engines.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/funcs_1/storedproc/param_check.inc mysql-test/suite/funcs_2/t/disabled.def mysql-test/suite/ndb/t/disabled.def mysql-test/suite/parts/r/partition_bit_innodb.result mysql-test/suite/parts/r/partition_bit_myisam.result mysql-test/suite/parts/r/partition_special_innodb.result mysql-test/suite/parts/t/disabled.def mysql-test/suite/parts/t/partition_special_innodb.test mysql-test/suite/parts/t/partition_value_innodb.test mysql-test/suite/parts/t/partition_value_myisam.test mysql-test/suite/parts/t/partition_value_ndb.test mysql-test/suite/rpl/r/rpl_auto_increment.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_slave_skip.result mysql-test/suite/rpl/r/rpl_trigger.result mysql-test/suite/rpl/t/disabled.def mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_slave_skip.test mysql-test/suite/rpl/t/rpl_trigger.test mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/alter_table.test mysql-test/t/create.test mysql-test/t/csv.test mysql-test/t/ctype_ucs.test mysql-test/t/date_formats.test mysql-test/t/disabled.def mysql-test/t/events_bugs.test mysql-test/t/events_scheduling.test mysql-test/t/fulltext.test mysql-test/t/func_if.test mysql-test/t/func_in.test mysql-test/t/func_str.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/information_schema.test mysql-test/t/innodb-autoinc.test mysql-test/t/innodb.test mysql-test/t/innodb_mysql.test mysql-test/t/log_bin_trust_function_creators_func.test mysql-test/t/log_state.test mysql-test/t/myisam_data_pointer_size_func.test mysql-test/t/myisampack.test mysql-test/t/mysql.test mysql-test/t/mysqlcheck.test mysql-test/t/partition_innodb_stmt.test mysql-test/t/partition_mgm.test mysql-test/t/partition_pruning.test mysql-test/t/query_cache.test mysql-test/t/rpl_init_slave_func.test mysql-test/t/select.test mysql-test/t/status.test mysql-test/t/strict.test mysql-test/t/temp_table.test mysql-test/t/type_bit.test mysql-test/t/type_date.test mysql-test/t/type_float.test mysql-test/t/warnings_engine_disabled.test mysql-test/t/xml.test mysys/my_getopt.c mysys/my_init.c scripts/mysql_install_db.sh sql-common/my_time.c sql/field.cc sql/field.h sql/filesort.cc sql/ha_partition.cc sql/ha_partition.h sql/item.cc sql/item_cmpfunc.cc sql/item_func.h sql/item_strfunc.cc sql/item_sum.cc sql/item_timefunc.cc sql/item_timefunc.h sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/mysql_priv.h sql/mysqld.cc sql/opt_range.cc sql/partition_info.cc sql/repl_failsafe.cc sql/rpl_constants.h sql/set_var.cc sql/slave.cc sql/spatial.h sql/sql_acl.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_delete.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_locale.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_profile.cc sql/sql_repl.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_trigger.h sql/table.cc sql/table.h sql/unireg.cc storage/csv/ha_tina.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/innobase/Makefile.am storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/include/btr0sea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0mem.h storage/innobase/include/ha_prototypes.h storage/innobase/include/lock0lock.h storage/innobase/include/row0mysql.h storage/innobase/include/sync0sync.ic storage/innobase/include/ut0ut.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/plug.in storage/innobase/row/row0mysql.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0ut.c storage/myisam/ft_boolean_search.c strings/ctype.c strings/xml.c tests/mysql_client_test.c win/configure.js mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test ------------------------------------------------------------------------ r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: minor non-functional changes. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines branches/zip: Add a ChangeLog entry for a change in r4262. ------------------------------------------------------------------------ r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines branches/zip: Make innodb_use_sys_malloc=ON the default. Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc) to improve branch prediction in the default case. Approved by Ken over the IM. ------------------------------------------------------------------------ r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Add a sentence at the top of COPYING.Google to clarify that this license does not apply to the whole InnoDB. Suggested by: Ken ------------------------------------------------------------------------ r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines branches/zip: Initialize ut_list_mutex at startup. Without this fix, ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1. This fix addresses Issue #181. ut_mem_block_list_init(): Rename to ut_mem_init() and make public. ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited). mem_init(): Call ut_mem_init(). ------------------------------------------------------------------------ r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in FIL_PAGE_TYPE. (Bug #43043, Issue #182) btr_check_blob_fil_page_type(): New function. btr_free_externally_stored_field(), btr_copy_blob_prefix(): Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE. ------------------------------------------------------------------------ r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion. btr_check_blob_fil_page_type(): Replace the parameter const char* op with ibool read. Do not print anything about page type mismatch when reading a BLOB page in Antelope format. Print space id before page number. ------------------------------------------------------------------------ r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited. ------------------------------------------------------------------------ r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines branches/zip: Fix bugs in the fix of Issue #181. Tested inside and outside Valgrind, with innodb_use_sys_malloc set to 0 and 1. mem_init(): Invoke ut_mem_init() before mem_pool_create(), because the latter one will invoke ut_malloc(). srv_general_init(): Do not initialize the memory subsystem (mem_init()). innobase_init(): Initialize the memory subsystem (mem_init()) before calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc(). Call ut_free_all_mem() in error handling to clean up after the mem_init(). ------------------------------------------------------------------------ r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove unused function os_mem_alloc_nocache(). ------------------------------------------------------------------------ r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove the unused function dict_index_get_type(). ------------------------------------------------------------------------ r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h". ------------------------------------------------------------------------ r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h". ------------------------------------------------------------------------ r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines branches/zip: Merge revisions 4261:4287 from branches/5.1: ------------------------------------------------------------------------ r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two changes to the autoinc handling. 1. To fix the immediate problem from the bug report, we must ensure that the value written to the table is always less than the max value stored in dict_table_t. 2. The second related change is that according to MySQL documentation when the offset is greater than the increment, we should ignore the offset. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the fix in r4288. ------------------------------------------------------------------------ r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines branches/zip: Make ChangeLog entries for bugs in bugs.mysql.com in the form: Fix Bug#12345 bug title (for bugs after 1.0.2 was released and the ChangeLog published) There is no need to bloat the ChangeLog with information that is available via bugs.mysql.com. Discussed with: Marko ------------------------------------------------------------------------ r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Fix Bug synopsis and remove explanation ------------------------------------------------------------------------ r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines branches/zip: Correct the initialization of the memory subsystem once again, to finally put Issue #181 to rest. Revert some parts of r4274. It is best not to call ut_malloc() before srv_general_init(). mem_init(): Do not call ut_mem_init(). srv_general_init(): Initialize the memory subsystem in two phases: first ut_mem_init(), then mem_init(). This is because os_sync_init() and sync_init() depend on ut_mem_init() and mem_init() depends on os_sync_init() or sync_init(). srv_parse_data_file_paths_and_sizes(), srv_parse_log_group_home_dirs(): Remove the output parameters. Assign to the global variables directly. Allocate memory with malloc() instead of ut_malloc(), because these functions will be called before srv_general_init(). srv_free_paths_and_sizes(): New function, for cleaning up after srv_parse_data_file_paths_and_sizes() and srv_parse_log_group_home_dirs(). rb://92 approved by Sunny Bains ------------------------------------------------------------------------ r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: White-space cleanup in the ChangeLog ------------------------------------------------------------------------ r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines branches/zip: Do not output the commands that restore the environment because they depend on the state of the environment before the test starts executing. ------------------------------------------------------------------------ r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines branches/zip: Apply any necessary patches to the mysql tree at the end of setup.sh This step was previously done manually (and sometimes forgotten). ------------------------------------------------------------------------ r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines branches/zip: btr_check_blob_fil_page_type(): Do not report FIL_PAGE_TYPE mismatch even when purging a BLOB. Heavy users may have large data files created with MySQL 5.0 or earlier, and they don not want to have the error log flooded with such messages. This fixes Issue #182. ------------------------------------------------------------------------ r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines branches/zip This is to revert the changes made to the plug.in (r4251) as a fix for issue# 178. Changes to plug.in will not propogate to a plugin installation unless autotools are rerun which is unacceptable. A fix for issue# 178 will be committed in a separate commit. ------------------------------------------------------------------------ r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines branches/zip This is a fix for issue#178. Instead of using UNIV_LINUX which is defined through CFLAGS we use compiler generated define __linux__ that is effective for both .c and .cc files. ------------------------------------------------------------------------ r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines branches/zip: Add FreeBSD to the list of the operating systems that have sizeof(pthread_t) == sizeof(void*) (i.e. word size). On FreeBSD pthread_t is defined like: /usr/include/sys/_pthreadtypes.h: typedef struct pthread *pthread_t; I did the following tests (per Inaam's recommendation): a) appropriate version of GCC is available on that platform (4.1.2 or higher for atomics to be available) On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default one is 4.2.1. One can always install the version of choice from the ports collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be defined and thus the change I am committing will make no difference. b) find out if sizeof(pthread_t) == sizeof(long) On 32 bit both are 4 bytes, on 64 bit both are 8 bytes. c) find out the compiler generated platform define (e.g.: __aix, __sunos__ etc.) The macro is __FreeBSD__. d) patch univ.i with the appropriate platform define e) build the mysql f) ensure it is using atomic builtins (look at the err.log message at system startup. It should say we are using atomics for both mutexes and rw-locks) g) do sanity testing (keeping in view the smp changes) I ran the mysql-test suite. All tests pass. ------------------------------------------------------------------------ r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines branches/zip: As suggested by Ken, print a message that says that the Google SMP patch (GCC atomics) is disabled if it is. Also extend the message when the patch is partially enabled to make it clear that it is partially enabled. ------------------------------------------------------------------------ r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Fix typo made in r4353. ------------------------------------------------------------------------ r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Implement a check whether pthread_t objects can be used by GCC atomic builtin functions. This check is implemented in plug.in and defines the macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the relevant part of the code enabled (the one that uses GCC atomics against pthread_t objects). In addition to this, the same program that is compiled as part of the plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source archives that are shipped to the users, a generated Makefile.in is added. That Makefile.in will be modified to compile ut/ut0auxconf.c and define the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e. Makefile.in will emulate the work that is done by plug.in. This is done in order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually defined without regenerating MySQL's ./configure from ./storage/innobase/plug.in. The point is not to ask users to install the autotools and regenerate ./configure. rb://95 Approved by: Marko ------------------------------------------------------------------------ r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines branches/zip: Merge revisions 4287:4357 from branches/5.1: ------------------------------------------------------------------------ r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv It was not a SIGSEGV but an assertion failure. The assertion was checking the invariant that *first_value passed in by MySQL doesn't contain a value that is greater than the max value for that type. The assertion has been changed to a check and if the value is greater than the max we report a generic AUTOINC failure. rb://93 Approved by Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): ------------------------------------------------------------------------ r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.19.1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2009-02-03 11:36:46 +0000 message: BUG#42445 Warning messages in innobase/handler/ha_innodb.cc There was a type casting problem in the storage/innobase/handler/ha_innodb.cc, (int ha_innobase::write_row(...)). Innobase uses has an internal error variable of type 'ulint' while mysql uses an 'int'. To fix the problem the function manipulates an error variable of type 'ulint' and only casts it into 'int' when needs to return the value. modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Merge revision 4359 from branches/5.1: ------------------------------------------------------------------------ r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2747 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2009-01-16 17:49:07 +0100 message: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Add ChangeLog entry for the bugfix in c4360. ------------------------------------------------------------------------ r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin The dynamic plugin on Windows used to be built with MYSQL_SERVER compile flag, while it is not the case for other platforms. r3797 assumed MYSQL_SERVER was not defined for dynamic plugin, which introduced the engine crash during dropping a database. ------------------------------------------------------------------------ r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE in a separate redo log entry. This will make ibbackup --apply-log debugging easier. ------------------------------------------------------------------------ r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, initialize FIL_PAGE_TYPE. This will make it easier to write the debug assertions for ibbackup --apply-log. ------------------------------------------------------------------------ r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines branches/zip: Merge revisions 4359:4400 from branches/5.1: ------------------------------------------------------------------------ r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position also for unlock_row(). (Bug #39320) ------------------------------------------------------------------------ r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines branches/5.1: Fix a bug in multi-table semi-consistent reads. Remember the acquired record locks per table handle (row_prebuilt_t) rather than per transaction (trx_t), so that unlock_row should successfully unlock all non-matching rows in multi-table operations. This deficiency was found while investigating Bug #39320. ------------------------------------------------------------------------ These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri. ------------------------------------------------------------------------ r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and adjust all callers. ------------------------------------------------------------------------ r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL before dereferencing it. In this way, ut_list_node_313 will be pointing to the last non-NULL list item at the time of the assertion failure. (gcc-4.3.2 -O3 seems to optimize the common subexpressions and make the variable NULL, though.) ------------------------------------------------------------------------ r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: sync_thread_add_level(): Make the assertions about level == SYNC_BUF_BLOCK more readable. ------------------------------------------------------------------------ r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines branches/zip: Remove mysql-test/patches/bug32625.diff because that bug was fixed in the mysql repository (1 year and 4 months after sending them the simple patch!). See http://bugs.mysql.com/32625 ------------------------------------------------------------------------ r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line branches/zip: buf0buddy.c: Add and adjust some debug assertions. ------------------------------------------------------------------------ r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines branches/zip: Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that 1.0.3 has been released. ------------------------------------------------------------------------ r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug41893.diff because that bug has been fixed in the MySQL repository, see http://bugs.mysql.com/41893. ------------------------------------------------------------------------ r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions. ------------------------------------------------------------------------ r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line branches/zip: buf_buddy_free_low(): Correct the function comment. ------------------------------------------------------------------------ r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines branches/zip: Merge revisions 4400:4481 from branches/5.1: ------------------------------------------------------------------------ r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines branches/5.1: row_unlock_for_mysql(): Do not unlock records that were modified by the current transaction. This bug was introduced or unmasked in r4400. rb://97 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup: Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with dict_ind_redundant and dict_ind_compact, initialized in dict_init(). ------------------------------------------------------------------------ r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines branches/zip: Add const qualifiers or in/out comments to some function parameters in log0log. ------------------------------------------------------------------------ r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines branches/zip: page_validate(): Always report the space id and the name of the index. In Hot Backup, do not invoke comparison functions, as MySQL collations will be unavailable. ------------------------------------------------------------------------ r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id(). ------------------------------------------------------------------------ r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars. This eliminates some "unused variable" warnings when building InnoDB Hot Backup in such a way that all mutex operations are no-ops. ------------------------------------------------------------------------ r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. ------------------------------------------------------------------------ r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_recover_page(): Remove compile-time constant parameters. ------------------------------------------------------------------------ r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_sys_init(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change: Add const qualifiers. log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf(): The log block is read-only. Make it const. ------------------------------------------------------------------------ r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: fil_init(): Add the parameter hash_size. ------------------------------------------------------------------------ r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Add any entry about the release of 1.0.3 in the ChangeLog. ------------------------------------------------------------------------ r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. Make it a no-op in UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use PAGE_ZIP_MATCH. In UNIV_HOTBACKUP builds, assume fixed allocation. ------------------------------------------------------------------------ r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Exclude some operating system interface code from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove the remaining references to hash_table_t::adapive from UNIV_HOTBACKUP builds. This should have been done in r4515. ------------------------------------------------------------------------ r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Enclose recv_recovery_from_backup_on and recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE. ------------------------------------------------------------------------ r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions ensuring that FIL_PAGE_TYPE makes sense when applying log records. ------------------------------------------------------------------------ r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove unneeded definitions and dependencies from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines branches/zip: adjust build files on Windows Adjust the patch positions based on the latest MySQL source. Also add the patches to the .bat files for vs9. ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
UNIV_INTERN my_bool srv_use_sys_malloc = TRUE;
/* requested size in kilobytes */
branches/innodb+: Merge revisions 3459:3498 from branches/zip: ------------------------------------------------------------------------ r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines branches/zip: Merge 2929:3458 from branches/5.1 (resolving conflict in c3257, note also that r3363 reverted r2933 so there are not changes in mysql-test/innodb-autoinc.result with the current merge): ------------------------------------------------------------------------ r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: correct the result file innodb-autoinc.result Change the followings: auto_increment_increment auto_increment_offset to auto-increment-increment auto-increment-offset ------------------------------------------------------------------------ r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). ------------------------------------------------------------------------ r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug#29507 is fixed in the server. Additional test was done with the fix of bug#29507 in the server. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/srv/srv0srv.c M /branches/5.1/trx/trx0trx.c branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko ------------------------------------------------------------------------ r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: revert the changes in r2933 The changes in r2933 causes test failure on Linux. More investigation is needed for Windows. Change the followings in innodb-autoinc.result: auto-increment-increment auto-increment-offset back to: auto_increment_increment auto_increment_offset ------------------------------------------------------------------------ r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines Changed paths: M /branches/5.1/trx/trx0undo.c branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... ------------------------------------------------------------------------ r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug34300.test branches/5.1: Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test: main.innodb_bug34300 [ fail ] mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value Aborting: main.innodb_bug34300 failed in default mode. The changeset is this: ------------------------------------------------------------ revno: 2709.1.10 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: b22891-51-bugteam timestamp: Thu 2008-11-20 08:51:48 +0100 message: A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. modified: mysql-test/r/func_compress.result mysql-test/r/max_allowed_packet_basic.result mysql-test/r/max_allowed_packet_func.result mysql-test/r/net_buffer_length_basic.result mysql-test/r/packet.result mysql-test/r/union.result mysql-test/r/variables.result mysql-test/t/func_compress.test mysql-test/t/innodb_bug34300.test mysql-test/t/max_allowed_packet_basic.test mysql-test/t/max_allowed_packet_func.test mysql-test/t/net_buffer_length_basic.test mysql-test/t/packet.test mysql-test/t/union.test mysql-test/t/variables.test sql/set_var.cc sql/set_var.h sql/share/errmsg.txt ------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3480 | calvin | 2008-12-10 23:56:00 +0200 (Wed, 10 Dec 2008) | 11 lines branches/zip: Merge r3458:3479 from branches/5.1: ------------------------------------------------------------------------ r3479 | calvin | 2008-12-10 15:30:05 -0600 (Wed, 10 Dec 2008) | 4 lines branches/5.1: change .result file eol-style to LF mysql-test-run only takes LF style even on Windows. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3481 | calvin | 2008-12-11 00:01:20 +0200 (Thu, 11 Dec 2008) | 4 lines branches/zip: change diff and result files eol-style to LF The patch utility takes LF style diff, and mysql-test-run also only takes LF style, even on Windows. ------------------------------------------------------------------------ r3482 | calvin | 2008-12-11 00:19:07 +0200 (Thu, 11 Dec 2008) | 9 lines branches/zip: fix Mantis issue #138 InnoDB fails if innodb_buffer_pool_size >= 4096M on x64 Windows All three srv_buf_pool related variables are defined as ulong, which is 32-bit on 64-bit Windows. They are changed to 64-bit ulint. Also system_info.dwPageSize appears to be 32-bit only. Casting to 64-bit is required. Approved by: Marko (on IM) ------------------------------------------------------------------------ r3498 | marko | 2008-12-11 17:08:14 +0200 (Thu, 11 Dec 2008) | 6 lines branches/zip: ibuf_merge_or_delete_for_page(): Restore the seemingly redundant checks for ibuf_fixed_addr_page() || fsp_descr_page() that were removed in r3432, and add a comment explaining why. Thanks to Michael for reporting this bug. ------------------------------------------------------------------------
2008-12-11 15:18:37 +00:00
UNIV_INTERN ulint srv_buf_pool_size = ULINT_MAX;
/* previously requested size */
branches/innodb+: Merge revisions 3459:3498 from branches/zip: ------------------------------------------------------------------------ r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines branches/zip: Merge 2929:3458 from branches/5.1 (resolving conflict in c3257, note also that r3363 reverted r2933 so there are not changes in mysql-test/innodb-autoinc.result with the current merge): ------------------------------------------------------------------------ r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: correct the result file innodb-autoinc.result Change the followings: auto_increment_increment auto_increment_offset to auto-increment-increment auto-increment-offset ------------------------------------------------------------------------ r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). ------------------------------------------------------------------------ r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug#29507 is fixed in the server. Additional test was done with the fix of bug#29507 in the server. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/srv/srv0srv.c M /branches/5.1/trx/trx0trx.c branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko ------------------------------------------------------------------------ r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: revert the changes in r2933 The changes in r2933 causes test failure on Linux. More investigation is needed for Windows. Change the followings in innodb-autoinc.result: auto-increment-increment auto-increment-offset back to: auto_increment_increment auto_increment_offset ------------------------------------------------------------------------ r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines Changed paths: M /branches/5.1/trx/trx0undo.c branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... ------------------------------------------------------------------------ r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug34300.test branches/5.1: Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test: main.innodb_bug34300 [ fail ] mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value Aborting: main.innodb_bug34300 failed in default mode. The changeset is this: ------------------------------------------------------------ revno: 2709.1.10 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: b22891-51-bugteam timestamp: Thu 2008-11-20 08:51:48 +0100 message: A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. modified: mysql-test/r/func_compress.result mysql-test/r/max_allowed_packet_basic.result mysql-test/r/max_allowed_packet_func.result mysql-test/r/net_buffer_length_basic.result mysql-test/r/packet.result mysql-test/r/union.result mysql-test/r/variables.result mysql-test/t/func_compress.test mysql-test/t/innodb_bug34300.test mysql-test/t/max_allowed_packet_basic.test mysql-test/t/max_allowed_packet_func.test mysql-test/t/net_buffer_length_basic.test mysql-test/t/packet.test mysql-test/t/union.test mysql-test/t/variables.test sql/set_var.cc sql/set_var.h sql/share/errmsg.txt ------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3480 | calvin | 2008-12-10 23:56:00 +0200 (Wed, 10 Dec 2008) | 11 lines branches/zip: Merge r3458:3479 from branches/5.1: ------------------------------------------------------------------------ r3479 | calvin | 2008-12-10 15:30:05 -0600 (Wed, 10 Dec 2008) | 4 lines branches/5.1: change .result file eol-style to LF mysql-test-run only takes LF style even on Windows. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3481 | calvin | 2008-12-11 00:01:20 +0200 (Thu, 11 Dec 2008) | 4 lines branches/zip: change diff and result files eol-style to LF The patch utility takes LF style diff, and mysql-test-run also only takes LF style, even on Windows. ------------------------------------------------------------------------ r3482 | calvin | 2008-12-11 00:19:07 +0200 (Thu, 11 Dec 2008) | 9 lines branches/zip: fix Mantis issue #138 InnoDB fails if innodb_buffer_pool_size >= 4096M on x64 Windows All three srv_buf_pool related variables are defined as ulong, which is 32-bit on 64-bit Windows. They are changed to 64-bit ulint. Also system_info.dwPageSize appears to be 32-bit only. Casting to 64-bit is required. Approved by: Marko (on IM) ------------------------------------------------------------------------ r3498 | marko | 2008-12-11 17:08:14 +0200 (Thu, 11 Dec 2008) | 6 lines branches/zip: ibuf_merge_or_delete_for_page(): Restore the seemingly redundant checks for ibuf_fixed_addr_page() || fsp_descr_page() that were removed in r3432, and add a comment explaining why. Thanks to Michael for reporting this bug. ------------------------------------------------------------------------
2008-12-11 15:18:37 +00:00
UNIV_INTERN ulint srv_buf_pool_old_size;
/* current size in kilobytes */
branches/innodb+: Merge revisions 3459:3498 from branches/zip: ------------------------------------------------------------------------ r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines branches/zip: Merge 2929:3458 from branches/5.1 (resolving conflict in c3257, note also that r3363 reverted r2933 so there are not changes in mysql-test/innodb-autoinc.result with the current merge): ------------------------------------------------------------------------ r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: correct the result file innodb-autoinc.result Change the followings: auto_increment_increment auto_increment_offset to auto-increment-increment auto-increment-offset ------------------------------------------------------------------------ r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). ------------------------------------------------------------------------ r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug#29507 is fixed in the server. Additional test was done with the fix of bug#29507 in the server. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/srv/srv0srv.c M /branches/5.1/trx/trx0trx.c branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko ------------------------------------------------------------------------ r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: revert the changes in r2933 The changes in r2933 causes test failure on Linux. More investigation is needed for Windows. Change the followings in innodb-autoinc.result: auto-increment-increment auto-increment-offset back to: auto_increment_increment auto_increment_offset ------------------------------------------------------------------------ r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines Changed paths: M /branches/5.1/trx/trx0undo.c branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... ------------------------------------------------------------------------ r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug34300.test branches/5.1: Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test: main.innodb_bug34300 [ fail ] mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value Aborting: main.innodb_bug34300 failed in default mode. The changeset is this: ------------------------------------------------------------ revno: 2709.1.10 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: b22891-51-bugteam timestamp: Thu 2008-11-20 08:51:48 +0100 message: A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. modified: mysql-test/r/func_compress.result mysql-test/r/max_allowed_packet_basic.result mysql-test/r/max_allowed_packet_func.result mysql-test/r/net_buffer_length_basic.result mysql-test/r/packet.result mysql-test/r/union.result mysql-test/r/variables.result mysql-test/t/func_compress.test mysql-test/t/innodb_bug34300.test mysql-test/t/max_allowed_packet_basic.test mysql-test/t/max_allowed_packet_func.test mysql-test/t/net_buffer_length_basic.test mysql-test/t/packet.test mysql-test/t/union.test mysql-test/t/variables.test sql/set_var.cc sql/set_var.h sql/share/errmsg.txt ------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3480 | calvin | 2008-12-10 23:56:00 +0200 (Wed, 10 Dec 2008) | 11 lines branches/zip: Merge r3458:3479 from branches/5.1: ------------------------------------------------------------------------ r3479 | calvin | 2008-12-10 15:30:05 -0600 (Wed, 10 Dec 2008) | 4 lines branches/5.1: change .result file eol-style to LF mysql-test-run only takes LF style even on Windows. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3481 | calvin | 2008-12-11 00:01:20 +0200 (Thu, 11 Dec 2008) | 4 lines branches/zip: change diff and result files eol-style to LF The patch utility takes LF style diff, and mysql-test-run also only takes LF style, even on Windows. ------------------------------------------------------------------------ r3482 | calvin | 2008-12-11 00:19:07 +0200 (Thu, 11 Dec 2008) | 9 lines branches/zip: fix Mantis issue #138 InnoDB fails if innodb_buffer_pool_size >= 4096M on x64 Windows All three srv_buf_pool related variables are defined as ulong, which is 32-bit on 64-bit Windows. They are changed to 64-bit ulint. Also system_info.dwPageSize appears to be 32-bit only. Casting to 64-bit is required. Approved by: Marko (on IM) ------------------------------------------------------------------------ r3498 | marko | 2008-12-11 17:08:14 +0200 (Thu, 11 Dec 2008) | 6 lines branches/zip: ibuf_merge_or_delete_for_page(): Restore the seemingly redundant checks for ibuf_fixed_addr_page() || fsp_descr_page() that were removed in r3432, and add a comment explaining why. Thanks to Michael for reporting this bug. ------------------------------------------------------------------------
2008-12-11 15:18:37 +00:00
UNIV_INTERN ulint srv_buf_pool_curr_size = 0;
/* size in bytes */
UNIV_INTERN ulint srv_mem_pool_size = ULINT_MAX;
UNIV_INTERN ulint srv_lock_table_size = ULINT_MAX;
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* This parameter is deprecated. Use srv_n_io_[read|write]_threads
instead. */
UNIV_INTERN ulint srv_n_file_io_threads = ULINT_MAX;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
UNIV_INTERN ulint srv_n_read_io_threads = ULINT_MAX;
UNIV_INTERN ulint srv_n_write_io_threads = ULINT_MAX;
/* User settable value of the number of pages that must be present
in the buffer cache and accessed sequentially for InnoDB to trigger a
readahead request. */
UNIV_INTERN ulong srv_read_ahead_threshold = 56;
2005-10-27 07:29:40 +00:00
#ifdef UNIV_LOG_ARCHIVE
UNIV_INTERN ibool srv_log_archive_on = FALSE;
UNIV_INTERN ibool srv_archive_recovery = 0;
UNIV_INTERN ib_uint64_t srv_archive_recovery_limit_lsn;
2005-10-27 07:29:40 +00:00
#endif /* UNIV_LOG_ARCHIVE */
/* This parameter is used to throttle the number of insert buffers that are
merged in a batch. By increasing this parameter on a faster disk you can
possibly reduce the number of I/O operations performed to complete the
merge operation. The value of this parameter is used as is by the
background loop when the system is idle (low load), on a busy system
the parameter is scaled down by a factor of 4, this is to avoid putting
a heavier load on the I/O sub system. */
UNIV_INTERN ulong srv_insert_buffer_batch_size = 20;
UNIV_INTERN char* srv_file_flush_method_str = NULL;
UNIV_INTERN ulint srv_unix_file_flush_method = SRV_UNIX_FSYNC;
UNIV_INTERN ulint srv_win_file_flush_method = SRV_WIN_IO_UNBUFFERED;
2005-10-27 07:29:40 +00:00
UNIV_INTERN ulint srv_max_n_open_files = 300;
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Number of IO operations per second the server can do */
UNIV_INTERN ulong srv_io_capacity = 200;
2005-10-27 07:29:40 +00:00
/* The InnoDB main thread tries to keep the ratio of modified pages
in the buffer pool to all database pages in the buffer pool smaller than
the following number. But it is not guaranteed that the value stays below
that during a time of heavy update/insert activity. */
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
UNIV_INTERN ulong srv_max_buf_pool_modified_pct = 75;
2005-10-27 07:29:40 +00:00
/* variable counts amount of data read in total (in bytes) */
UNIV_INTERN ulint srv_data_read = 0;
2005-10-27 07:29:40 +00:00
/* here we count the amount of data written in total (in bytes) */
UNIV_INTERN ulint srv_data_written = 0;
2005-10-27 07:29:40 +00:00
/* the number of the log write requests done */
UNIV_INTERN ulint srv_log_write_requests = 0;
2005-10-27 07:29:40 +00:00
/* the number of physical writes to the log performed */
UNIV_INTERN ulint srv_log_writes = 0;
2005-10-27 07:29:40 +00:00
/* amount of data written to the log files in bytes */
UNIV_INTERN ulint srv_os_log_written = 0;
2005-10-27 07:29:40 +00:00
/* amount of writes being done to the log files */
UNIV_INTERN ulint srv_os_log_pending_writes = 0;
2005-10-27 07:29:40 +00:00
/* we increase this counter, when there we don't have enough space in the
log buffer and have to flush it */
UNIV_INTERN ulint srv_log_waits = 0;
2005-10-27 07:29:40 +00:00
/* this variable counts the amount of times, when the doublewrite buffer
was flushed */
UNIV_INTERN ulint srv_dblwr_writes = 0;
2005-10-27 07:29:40 +00:00
/* here we store the number of pages that have been flushed to the
doublewrite buffer */
UNIV_INTERN ulint srv_dblwr_pages_written = 0;
2005-10-27 07:29:40 +00:00
/* in this variable we store the number of write requests issued */
UNIV_INTERN ulint srv_buf_pool_write_requests = 0;
2005-10-27 07:29:40 +00:00
/* here we store the number of times when we had to wait for a free page
in the buffer pool. It happens when the buffer pool is full and we need
to make a flush, in order to be able to read or create a page. */
UNIV_INTERN ulint srv_buf_pool_wait_free = 0;
2005-10-27 07:29:40 +00:00
/* variable to count the number of pages that were written from buffer
pool to the disk */
UNIV_INTERN ulint srv_buf_pool_flushed = 0;
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/** Number of buffer pool reads that led to the
2005-10-27 07:29:40 +00:00
reading of a disk page */
UNIV_INTERN ulint srv_buf_pool_reads = 0;
2005-10-27 07:29:40 +00:00
/* structure to pass status variables to MySQL */
UNIV_INTERN export_struc export_vars;
2005-10-27 07:29:40 +00:00
/* If the following is != 0 we do not allow inserts etc. This protects
the user from forgetting the innodb_force_recovery keyword to my.cnf */
UNIV_INTERN ulint srv_force_recovery = 0;
2005-10-27 07:29:40 +00:00
/*-----------------------*/
/* We are prepared for a situation that we have this many threads waiting for
a semaphore inside InnoDB. innobase_start_or_create_for_mysql() sets the
value. */
UNIV_INTERN ulint srv_max_n_threads = 0;
2005-10-27 07:29:40 +00:00
/* The following controls how many threads we let inside InnoDB concurrently:
threads waiting for locks are not counted into the number because otherwise
we could get a deadlock. MySQL creates a thread for each user session, and
semaphore contention and convoy problems can occur withput this restriction.
Value 10 should be good if there are less than 4 processors + 4 disks in the
computer. Bigger computers need bigger values. Value 0 will disable the
concurrency check. */
2005-10-27 07:29:40 +00:00
UNIV_INTERN ulong srv_thread_concurrency = 0;
/* this mutex protects srv_conc data structures */
UNIV_INTERN os_fast_mutex_t srv_conc_mutex;
branches/innodb+: Merge revisions 3312:3459 from branches/zip: ------------------------------------------------------------------------ r3328 | marko | 2008-12-02 10:16:05 +0200 (Tue, 02 Dec 2008) | 7 lines branches/zip: page_cur_insert_rec_zip(): When allocating insert_buf from the free list, zero out the DB_TRX_ID and DB_ROLL_PTR of the deleted record if the new record would not overwrite these fields. This fixes a harmless content mismatch reported by page_zip_validate() that was reported as Issue #111. rb://55 approved by Sunny Bains. ------------------------------------------------------------------------ r3329 | vasil | 2008-12-02 12:03:17 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Add entry in the ChangeLog for the release of 1.0.2. ------------------------------------------------------------------------ r3331 | vasil | 2008-12-02 12:09:20 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Remove an entry from the ChnageLog for a change that was made before the release of 1.0.2 but was not included in that release. ------------------------------------------------------------------------ r3333 | vasil | 2008-12-02 12:11:54 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Now that 1.0.2 is out, the current tree is version 1.0.3. ------------------------------------------------------------------------ r3336 | vasil | 2008-12-02 13:34:36 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Resurrect a ChangeLog entry that I removed in c3331 with a fake date so it does not appear that it has been included in 1.0.2. ------------------------------------------------------------------------ r3361 | vasil | 2008-12-04 18:10:08 +0200 (Thu, 04 Dec 2008) | 9 lines branches/zip: Fix Mantis issue#103 mysql_addons.c depends on THD internals - please remove it Use MySQL's thd_get_thread_id() instead of our own ib_thd_get_thread_id() since MySQL implemented the former, see http://bugs.mysql.com/30930. Approved by: Marko (https://svn.innodb.com/rb/r/40, rb://40) ------------------------------------------------------------------------ r3362 | vasil | 2008-12-04 18:49:24 +0200 (Thu, 04 Dec 2008) | 15 lines branches/zip: Revert our temporary fix for Bug#40360 Binlog related errors with binlog off This bug was fixed in MySQL code. Our fix went into r2944 and r2947, but this patch does not entirely revert those revisions because we want to leave the test case that was introduced and also r2944 itself reverted r2935 and r2936. So if we completely revert r2944 and r2947 then we would loose the test and will restore r2935 and r2936. This resolves Issue#108 We should remove ib_bin_log_is_engaged() once mysql add an equivallent, see Bug#40360 ------------------------------------------------------------------------ r3404 | marko | 2008-12-05 10:02:54 +0200 (Fri, 05 Dec 2008) | 5 lines branches/zip: row_undo_mod_del_mark_or_remove_sec_low(): Do not complain if the record is not found. Explain that this is possible when a deadlock occurs during an update. Heikki investigated this in Issue #134. ------------------------------------------------------------------------ r3432 | marko | 2008-12-08 14:14:01 +0200 (Mon, 08 Dec 2008) | 4 lines branches/zip: ibuf_merge_or_delete_for_page(): Remove the redundant checks for ibuf_fixed_addr_page() || fsp_descr_page(). The one at the beginning of the function is enough. ------------------------------------------------------------------------ r3456 | marko | 2008-12-09 10:31:26 +0200 (Tue, 09 Dec 2008) | 3 lines branches/zip: row_purge_remove_sec_if_poss_low(): Allocate mtr_vers from the stack, not with mem_alloc(). ------------------------------------------------------------------------ r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines branches/zip: Merge 2929:3458 from branches/5.1 (resolving conflict in c3257, note also that r3363 reverted r2933 so there are not changes in mysql-test/innodb-autoinc.result with the current merge): ------------------------------------------------------------------------ r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: correct the result file innodb-autoinc.result Change the followings: auto_increment_increment auto_increment_offset to auto-increment-increment auto-increment-offset ------------------------------------------------------------------------ r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). ------------------------------------------------------------------------ r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug#29507 is fixed in the server. Additional test was done with the fix of bug#29507 in the server. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/srv/srv0srv.c M /branches/5.1/trx/trx0trx.c branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko ------------------------------------------------------------------------ r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: revert the changes in r2933 The changes in r2933 causes test failure on Linux. More investigation is needed for Windows. Change the followings in innodb-autoinc.result: auto-increment-increment auto-increment-offset back to: auto_increment_increment auto_increment_offset ------------------------------------------------------------------------ r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines Changed paths: M /branches/5.1/trx/trx0undo.c branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... ------------------------------------------------------------------------ r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug34300.test branches/5.1: Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test: main.innodb_bug34300 [ fail ] mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value Aborting: main.innodb_bug34300 failed in default mode. The changeset is this: ------------------------------------------------------------ revno: 2709.1.10 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: b22891-51-bugteam timestamp: Thu 2008-11-20 08:51:48 +0100 message: A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. modified: mysql-test/r/func_compress.result mysql-test/r/max_allowed_packet_basic.result mysql-test/r/max_allowed_packet_func.result mysql-test/r/net_buffer_length_basic.result mysql-test/r/packet.result mysql-test/r/union.result mysql-test/r/variables.result mysql-test/t/func_compress.test mysql-test/t/innodb_bug34300.test mysql-test/t/max_allowed_packet_basic.test mysql-test/t/max_allowed_packet_func.test mysql-test/t/net_buffer_length_basic.test mysql-test/t/packet.test mysql-test/t/union.test mysql-test/t/variables.test sql/set_var.cc sql/set_var.h sql/share/errmsg.txt ------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------
2008-12-09 11:09:06 +00:00
/* number of transactions that have declared_to_be_inside_innodb set.
It used to be a non-error for this value to drop below zero temporarily.
This is no longer true. We'll, however, keep the lint datatype to add
assertions to catch any corner cases that we may have missed. */
UNIV_INTERN lint srv_conc_n_threads = 0;
/* number of OS threads waiting in the FIFO for a permission to enter
InnoDB */
UNIV_INTERN ulint srv_conc_n_waiting_threads = 0;
2005-10-27 07:29:40 +00:00
typedef struct srv_conc_slot_struct srv_conc_slot_t;
struct srv_conc_slot_struct{
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
os_event_t event; /*!< event to wait */
ibool reserved; /*!< TRUE if slot
2005-10-27 07:29:40 +00:00
reserved */
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
ibool wait_ended; /*!< TRUE when another
2005-10-27 07:29:40 +00:00
thread has already set
the event and the
thread in this slot is
free to proceed; but
reserved may still be
TRUE at that point */
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
UT_LIST_NODE_T(srv_conc_slot_t) srv_conc_queue; /*!< queue node */
2005-10-27 07:29:40 +00:00
};
/* queue of threads waiting to get in */
UNIV_INTERN UT_LIST_BASE_NODE_T(srv_conc_slot_t) srv_conc_queue;
/* array of wait slots */
UNIV_INTERN srv_conc_slot_t* srv_conc_slots;
2005-10-27 07:29:40 +00:00
/* Number of times a thread is allowed to enter InnoDB within the same
SQL query after it has once got the ticket at srv_conc_enter_innodb */
#define SRV_FREE_TICKETS_TO_ENTER srv_n_free_tickets_to_enter
#define SRV_THREAD_SLEEP_DELAY srv_thread_sleep_delay
/*-----------------------*/
/* If the following is set to 1 then we do not run purge and insert buffer
merge to completion before shutdown. If it is set to 2, do not even flush the
buffer pool to data files at the shutdown: we effectively 'crash'
InnoDB (but lose no committed transactions). */
UNIV_INTERN ulint srv_fast_shutdown = 0;
2005-10-27 07:29:40 +00:00
/* Generate a innodb_status.<pid> file */
UNIV_INTERN ibool srv_innodb_status = FALSE;
2005-10-27 07:29:40 +00:00
/* When estimating number of different key values in an index, sample
this many index pages */
UNIV_INTERN unsigned long long srv_stats_sample_pages = 8;
UNIV_INTERN ibool srv_use_doublewrite_buf = TRUE;
UNIV_INTERN ibool srv_use_checksums = TRUE;
2005-10-27 07:29:40 +00:00
UNIV_INTERN ibool srv_set_thread_priorities = TRUE;
UNIV_INTERN int srv_query_thread_priority = 0;
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 2774:2799 from branches/zip: ------------------------------------------------------------------------ r2781 | marko | 2008-10-13 13:40:57 +0300 (Mon, 13 Oct 2008) | 1 line branches/zip: page_cur_delete_rec(): Call page_zip_validate_low(). ------------------------------------------------------------------------ r2783 | vasil | 2008-10-13 18:34:34 +0300 (Mon, 13 Oct 2008) | 9 lines branches/zip: Remove mysql-test/patches/bug37312.diff because MySQL "fixed" Bug#37312 by removing the test. http://bugs.mysql.com/37312 http://lists.mysql.com/commits/54462 ------------------------------------------------------------------------ r2784 | marko | 2008-10-13 21:35:30 +0300 (Mon, 13 Oct 2008) | 1 line branches/zip: Add missing NULL check to the assertion added in r2781. ------------------------------------------------------------------------ r2785 | marko | 2008-10-13 22:29:12 +0300 (Mon, 13 Oct 2008) | 2 lines branches/zip: page_cur_delete_rec(): Remove the bogus page_zip_validate_low() assertion that was added in r2781 and explain why it was bogus. ------------------------------------------------------------------------ r2786 | calvin | 2008-10-14 19:14:47 +0300 (Tue, 14 Oct 2008) | 7 lines branches/zip: fix Mantis issue #96 Problem compiling ha_innodb.cc on 64-bit Windows Change the definition of srv_replication_delay from ulint to ulong. ulint is 64-bit on Win64. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r2787 | calvin | 2008-10-14 19:19:41 +0300 (Tue, 14 Oct 2008) | 7 lines branches/zip: fix compiler warning Change the definition of add_on from ulint to ullint, to eliminate the warning in .\btr\btr0cur.c: conversion from 'ullint' to 'ulint', possible loss of data Approved by: Heikki (on IM) ------------------------------------------------------------------------ r2793 | marko | 2008-10-15 10:00:06 +0300 (Wed, 15 Oct 2008) | 2 lines branches/zip: row_create_table_for_mysql(), row_create_index_for_mysql(): Note that the dictionary object will be freed. ------------------------------------------------------------------------ r2794 | marko | 2008-10-15 10:32:40 +0300 (Wed, 15 Oct 2008) | 9 lines branches/zip: When invoking page_zip_copy_recs(), update the lock table and the adaptive hash index. This should fix Issue #95 and Issue #87. page_zip_copy_recs(): Copy PAGE_MAX_TRX_ID as well, to have similar behavior to page_copy_rec_list_start() and page_copy_rec_list_end(). btr_root_raise_and_insert(), btr_page_split_and_insert(), btr_lift_page_up(): Update the lock table and the adaptive hash index. ------------------------------------------------------------------------ r2797 | marko | 2008-10-15 13:21:54 +0300 (Wed, 15 Oct 2008) | 3 lines branches/zip: Introduce UNIV_ZIP_COPY for invoking page_zip_copy_recs() more often in B-tree operations. ------------------------------------------------------------------------ r2799 | marko | 2008-10-15 14:27:42 +0300 (Wed, 15 Oct 2008) | 25 lines branches/zip: When the server crashes while freeing an externally stored column of a compressed table, the BTR_EXTERN_LEN field in the BLOB pointer will be written as 0. Tolerate this in the functions that deal with externally stored columns. This fixes Issue #80 and was posted at rb://26. Note that the clustered index record is always deleted or purged last, after any secondary index records referring to it have been deleted. btr_free_externally_stored_field(): On an uncompressed table, zero out the BTR_EXTERN_LEN, so that half-deleted BLOBs can be detected after crash recovery. btr_copy_externally_stored_field_prefix(): Return 0 if the BLOB has been half-deleted. row_upd_ext_fetch(): Assert that the externally stored column exists. row_ext_cache_fill(): Allow btr_copy_externally_stored_field_prefix() to return 0. row_sel_sec_rec_is_for_blob(): Return FALSE if the BLOB has been half-deleted. This is correct, because the clustered index record would have been deleted or purged last, after any secondary index records referring to it had been deleted. ------------------------------------------------------------------------
2008-10-15 12:09:17 +00:00
UNIV_INTERN ulong srv_replication_delay = 0;
2005-10-27 07:29:40 +00:00
/*-------------------------------------------*/
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
UNIV_INTERN ulong srv_n_spin_wait_rounds = 30;
UNIV_INTERN ulong srv_n_free_tickets_to_enter = 500;
UNIV_INTERN ulong srv_thread_sleep_delay = 10000;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
UNIV_INTERN ulong srv_spin_wait_delay = 6;
UNIV_INTERN ibool srv_priority_boost = TRUE;
2005-10-27 07:29:40 +00:00
#ifdef UNIV_DEBUG
UNIV_INTERN ibool srv_print_thread_releases = FALSE;
UNIV_INTERN ibool srv_print_lock_waits = FALSE;
UNIV_INTERN ibool srv_print_buf_io = FALSE;
UNIV_INTERN ibool srv_print_log_io = FALSE;
UNIV_INTERN ibool srv_print_latch_waits = FALSE;
#endif /* UNIV_DEBUG */
2005-10-27 07:29:40 +00:00
UNIV_INTERN ulint srv_n_rows_inserted = 0;
UNIV_INTERN ulint srv_n_rows_updated = 0;
UNIV_INTERN ulint srv_n_rows_deleted = 0;
UNIV_INTERN ulint srv_n_rows_read = 0;
branches/innodb+: Merge revisions 4528:4657 from branches/zip: ------------------------------------------------------------------------ r4530 | marko | 2009-03-24 14:02:29 +0200 (Tue, 24 Mar 2009) | 3 lines branches/zip: Remove references to UNIV_HOTBACKUP from files that are not used when building InnoDB Hot Backup. Declare innobase_invalidate_query_cache() in ha_prototypes.h. ------------------------------------------------------------------------ r4531 | marko | 2009-03-24 15:46:12 +0200 (Tue, 24 Mar 2009) | 7 lines branches/zip: Note that buf_page_t::list and buf_page_t::in_flush_list are only protected by buf_pool_mutex, not by the block mutex. buf_page_release(): Remove the assertion on in_flush_list. The function is only holding block->mutex, not buf_pool_mutex. This was reported by Sunny. This was the only piece of code that accessed in_flush_list while not holding buf_pool_mutex. ------------------------------------------------------------------------ r4532 | calvin | 2009-03-24 17:59:45 +0200 (Tue, 24 Mar 2009) | 13 lines branches/zip: Mantis issue #201 - remove innodb_plugin_init() due to new option --ignore_builtin_innodb Starting 5.1.33, MySQL has a new option --ignore_builtin_innodb for using the dynamic plugin. It is required to remove innodb_plugin_init() in the plugin. This patch removes innodb_plugin_init() as well as functions, variables used by innodb_plugin_init(). rb://98 Approved by: Marko ------------------------------------------------------------------------ r4543 | inaam | 2009-03-25 19:18:33 +0200 (Wed, 25 Mar 2009) | 17 lines branches/zip SHOW ENGINE INNODB MUTEX shows all mutexes and rw_locks. This can be overwhelming particularly when the buffer pool is very large (note that each block in buffer pool has at least one mutex, one rw_lock and an additional mutex if rw_lock does not use atomics). With this patch status of following mutexes and rw-locks is not shown: 1) block->mutex 2) block->lock 3) block->lock->mutex (if applicable) 4) All other mutexes and rw-locks for which number of os-waits are zero Addresses issue# 179 rb://99 Approved by: Marko ------------------------------------------------------------------------ r4579 | marko | 2009-03-31 10:40:58 +0300 (Tue, 31 Mar 2009) | 3 lines branches/zip: struct read_view_struct: Add clarifying comments about low_limit_id and up_limit_id. ------------------------------------------------------------------------ r4630 | calvin | 2009-04-02 15:46:47 +0300 (Thu, 02 Apr 2009) | 6 lines branches/zip: Mantis issue #197 - Make srv_spin_wait_delay configurable New parameter innodb_spin_wait_delay to set the maximum delay between polling for a spin lock. 5 is the default. Approved by: Marko (on IM) ------------------------------------------------------------------------ r4631 | marko | 2009-04-02 16:23:12 +0300 (Thu, 02 Apr 2009) | 24 lines branches/zip: Refuse to use newly created indexes that may lack history. This addresses Mantis issue #116. dict_index_t: Enable the storage of trx_id. row_prebuilt_t: Make many fields bit-fields to reduce the memory footprint. Add index_usable. ha_innobase::change_active_index(): Check if the index is usable and set prebuilt->index_usable accordingly. Unfortunately, the return status of this function is ignored by MySQL, and the actual refusal to use the index must be made in row_search_for_mysql(). row_search_for_mysql(): Return DB_MISSING_HISTORY if !prebuilt->index_usable. convert_error_code_to_mysql(): Map DB_MISSING_HISTORY to HA_ERR_TABLE_DEF_CHANGED. innodb-index.test: Add a test case where access to a newly created secondary index must be blocked for old transactions. rb://100 approved by Heikki Tuuri ------------------------------------------------------------------------ r4647 | vasil | 2009-04-06 10:05:25 +0300 (Mon, 06 Apr 2009) | 4 lines branches/zip: Add changelog entry for c4630. ------------------------------------------------------------------------ r4648 | vasil | 2009-04-06 10:07:26 +0300 (Mon, 06 Apr 2009) | 4 lines branches/zip: Fix formatting in ChangeLog to be consistent. ------------------------------------------------------------------------ r4657 | marko | 2009-04-06 15:13:45 +0300 (Mon, 06 Apr 2009) | 1 line branches/zip: Remove the bogus failure reported in Issue #219. ------------------------------------------------------------------------
2009-04-06 11:18:22 +00:00
2005-10-27 07:29:40 +00:00
static ulint srv_n_rows_inserted_old = 0;
static ulint srv_n_rows_updated_old = 0;
static ulint srv_n_rows_deleted_old = 0;
static ulint srv_n_rows_read_old = 0;
UNIV_INTERN ulint srv_n_lock_wait_count = 0;
UNIV_INTERN ulint srv_n_lock_wait_current_count = 0;
UNIV_INTERN ib_int64_t srv_n_lock_wait_time = 0;
UNIV_INTERN ulint srv_n_lock_max_wait_time = 0;
2005-10-27 07:29:40 +00:00
/*
Set the following to 0 if you want InnoDB to write messages on
stderr on startup/shutdown
*/
UNIV_INTERN ibool srv_print_verbose_log = TRUE;
UNIV_INTERN ibool srv_print_innodb_monitor = FALSE;
UNIV_INTERN ibool srv_print_innodb_lock_monitor = FALSE;
UNIV_INTERN ibool srv_print_innodb_tablespace_monitor = FALSE;
UNIV_INTERN ibool srv_print_innodb_table_monitor = FALSE;
2005-10-27 07:29:40 +00:00
/* Array of English strings describing the current state of an
i/o handler thread */
UNIV_INTERN const char* srv_io_thread_op_info[SRV_MAX_N_IO_THREADS];
UNIV_INTERN const char* srv_io_thread_function[SRV_MAX_N_IO_THREADS];
2005-10-27 07:29:40 +00:00
UNIV_INTERN time_t srv_last_monitor_time;
2005-10-27 07:29:40 +00:00
UNIV_INTERN mutex_t srv_innodb_monitor_mutex;
2005-10-27 07:29:40 +00:00
/* Mutex for locking srv_monitor_file */
UNIV_INTERN mutex_t srv_monitor_file_mutex;
2005-10-27 07:29:40 +00:00
/* Temporary file for innodb monitor output */
UNIV_INTERN FILE* srv_monitor_file;
/* Mutex for locking srv_dict_tmpfile.
This mutex has a very high rank; threads reserving it should not
be holding any InnoDB latches. */
UNIV_INTERN mutex_t srv_dict_tmpfile_mutex;
/* Temporary file for output from the data dictionary */
UNIV_INTERN FILE* srv_dict_tmpfile;
/* Mutex for locking srv_misc_tmpfile.
This mutex has a very low rank; threads reserving it should not
acquire any further latches or sleep before releasing this one. */
UNIV_INTERN mutex_t srv_misc_tmpfile_mutex;
/* Temporary file for miscellanous diagnostic output */
UNIV_INTERN FILE* srv_misc_tmpfile;
2005-10-27 07:29:40 +00:00
UNIV_INTERN ulint srv_main_thread_process_no = 0;
UNIV_INTERN ulint srv_main_thread_id = 0;
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* The following count work done by srv_master_thread. */
/* Iterations by the 'once per second' loop. */
static ulint srv_main_1_second_loops = 0;
/* Calls to sleep by the 'once per second' loop. */
static ulint srv_main_sleeps = 0;
/* Iterations by the 'once per 10 seconds' loop. */
static ulint srv_main_10_second_loops = 0;
/* Iterations of the loop bounded by the 'background_loop' label. */
static ulint srv_main_background_loops = 0;
/* Iterations of the loop bounded by the 'flush_loop' label. */
static ulint srv_main_flush_loops = 0;
/* Log writes involving flush. */
static ulint srv_log_writes_and_flush = 0;
/* This is only ever touched by the master thread. It records the
time when the last flush of log file has happened. The master
thread ensures that we flush the log files at least once per
second. */
static time_t srv_last_log_flush_time;
/* The master thread performs various tasks based on the current
state of IO activity and the level of IO utilization is past
intervals. Following macros define thresholds for these conditions. */
#define SRV_PEND_IO_THRESHOLD (PCT_IO(3))
#define SRV_RECENT_IO_ACTIVITY (PCT_IO(5))
#define SRV_PAST_IO_ACTIVITY (PCT_IO(200))
2005-10-27 07:29:40 +00:00
/*
IMPLEMENTATION OF THE SERVER MAIN PROGRAM
=========================================
There is the following analogue between this database
server and an operating system kernel:
DB concept equivalent OS concept
---------- ---------------------
transaction -- process;
query thread -- thread;
lock -- semaphore;
transaction set to
the rollback state -- kill signal delivered to a process;
kernel -- kernel;
query thread execution:
(a) without kernel mutex
reserved -- process executing in user mode;
2005-10-27 07:29:40 +00:00
(b) with kernel mutex reserved
-- process executing in kernel mode;
The server is controlled by a master thread which runs at
a priority higher than normal, that is, higher than user threads.
It sleeps most of the time, and wakes up, say, every 300 milliseconds,
to check whether there is anything happening in the server which
requires intervention of the master thread. Such situations may be,
for example, when flushing of dirty blocks is needed in the buffer
pool or old version of database rows have to be cleaned away.
The threads which we call user threads serve the queries of
the clients and input from the console of the server.
They run at normal priority. The server may have several
communications endpoints. A dedicated set of user threads waits
at each of these endpoints ready to receive a client request.
Each request is taken by a single user thread, which then starts
processing and, when the result is ready, sends it to the client
and returns to wait at the same endpoint the thread started from.
So, we do not have dedicated communication threads listening at
the endpoints and dealing the jobs to dedicated worker threads.
Our architecture saves one thread swithch per request, compared
to the solution with dedicated communication threads
which amounts to 15 microseconds on 100 MHz Pentium
running NT. If the client
is communicating over a network, this saving is negligible, but
if the client resides in the same machine, maybe in an SMP machine
on a different processor from the server thread, the saving
can be important as the threads can communicate over shared
memory with an overhead of a few microseconds.
We may later implement a dedicated communication thread solution
for those endpoints which communicate over a network.
Our solution with user threads has two problems: for each endpoint
there has to be a number of listening threads. If there are many
communication endpoints, it may be difficult to set the right number
of concurrent threads in the system, as many of the threads
may always be waiting at less busy endpoints. Another problem
is queuing of the messages, as the server internally does not
offer any queue for jobs.
Another group of user threads is intended for splitting the
queries and processing them in parallel. Let us call these
parallel communication threads. These threads are waiting for
parallelized tasks, suspended on event semaphores.
A single user thread waits for input from the console,
like a command to shut the database.
Utility threads are a different group of threads which takes
care of the buffer pool flushing and other, mainly background
operations, in the server.
Some of these utility threads always run at a lower than normal
priority, so that they are always in background. Some of them
may dynamically boost their priority by the pri_adjust function,
even to higher than normal priority, if their task becomes urgent.
The running of utilities is controlled by high- and low-water marks
of urgency. The urgency may be measured by the number of dirty blocks
in the buffer pool, in the case of the flush thread, for example.
When the high-water mark is exceeded, an utility starts running, until
the urgency drops under the low-water mark. Then the utility thread
suspend itself to wait for an event. The master thread is
responsible of signaling this event when the utility thread is
again needed.
For each individual type of utility, some threads always remain
at lower than normal priority. This is because pri_adjust is implemented
so that the threads at normal or higher priority control their
share of running time by calling sleep. Thus, if the load of the
system sudenly drops, these threads cannot necessarily utilize
the system fully. The background priority threads make up for this,
starting to run when the load drops.
When there is no activity in the system, also the master thread
suspends itself to wait for an event making
the server totally silent. The responsibility to signal this
event is on the user thread which again receives a message
from a client.
There is still one complication in our server design. If a
background utility thread obtains a resource (e.g., mutex) needed by a user
thread, and there is also some other user activity in the system,
the user thread may have to wait indefinitely long for the
resource, as the OS does not schedule a background thread if
there is some other runnable user thread. This problem is called
priority inversion in real-time programming.
One solution to the priority inversion problem would be to
keep record of which thread owns which resource and
in the above case boost the priority of the background thread
so that it will be scheduled and it can release the resource.
This solution is called priority inheritance in real-time programming.
A drawback of this solution is that the overhead of acquiring a mutex
2005-10-27 07:29:40 +00:00
increases slightly, maybe 0.2 microseconds on a 100 MHz Pentium, because
the thread has to call os_thread_get_curr_id.
This may be compared to 0.5 microsecond overhead for a mutex lock-unlock
pair. Note that the thread
cannot store the information in the resource, say mutex, itself,
because competing threads could wipe out the information if it is
stored before acquiring the mutex, and if it stored afterwards,
the information is outdated for the time of one machine instruction,
at least. (To be precise, the information could be stored to
lock_word in mutex if the machine supports atomic swap.)
The above solution with priority inheritance may become actual in the
future, but at the moment we plan to implement a more coarse solution,
which could be called a global priority inheritance. If a thread
has to wait for a long time, say 300 milliseconds, for a resource,
we just guess that it may be waiting for a resource owned by a background
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
thread, and boost the priority of all runnable background threads
2005-10-27 07:29:40 +00:00
to the normal level. The background threads then themselves adjust
their fixed priority back to background after releasing all resources
they had (or, at some fixed points in their program code).
What is the performance of the global priority inheritance solution?
We may weigh the length of the wait time 300 milliseconds, during
which the system processes some other thread
to the cost of boosting the priority of each runnable background
thread, rescheduling it, and lowering the priority again.
On 100 MHz Pentium + NT this overhead may be of the order 100
microseconds per thread. So, if the number of runnable background
threads is not very big, say < 100, the cost is tolerable.
Utility threads probably will access resources used by
user threads not very often, so collisions of user threads
to preempted utility threads should not happen very often.
The thread table contains
information of the current status of each thread existing in the system,
and also the event semaphores used in suspending the master thread
and utility and parallel communication threads when they have nothing to do.
The thread table can be seen as an analogue to the process table
in a traditional Unix implementation.
The thread table is also used in the global priority inheritance
scheme. This brings in one additional complication: threads accessing
the thread table must have at least normal fixed priority,
because the priority inheritance solution does not work if a background
thread is preempted while possessing the mutex protecting the thread table.
So, if a thread accesses the thread table, its priority has to be
boosted at least to normal. This priority requirement can be seen similar to
the privileged mode used when processing the kernel calls in traditional
Unix.*/
/* Thread slot in the thread table */
struct srv_slot_struct{
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
os_thread_id_t id; /*!< thread id */
os_thread_t handle; /*!< thread handle */
unsigned type:3; /*!< thread type: user, utility etc. */
unsigned in_use:1; /*!< TRUE if this slot is in use */
unsigned suspended:1; /*!< TRUE if the thread is waiting
2005-10-27 07:29:40 +00:00
for the event of this slot */
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
ib_time_t suspend_time; /*!< time when the thread was
2005-10-27 07:29:40 +00:00
suspended */
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
os_event_t event; /*!< event used in suspending the
2005-10-27 07:29:40 +00:00
thread when it has nothing to do */
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
que_thr_t* thr; /*!< suspended query thread (only
2005-10-27 07:29:40 +00:00
used for MySQL threads) */
};
/* Table for MySQL threads where they will be suspended to wait for locks */
UNIV_INTERN srv_slot_t* srv_mysql_table = NULL;
2005-10-27 07:29:40 +00:00
UNIV_INTERN os_event_t srv_lock_timeout_thread_event;
2005-10-27 07:29:40 +00:00
UNIV_INTERN srv_sys_t* srv_sys = NULL;
2005-10-27 07:29:40 +00:00
/* padding to prevent other memory update hotspots from residing on
the same memory cache line */
UNIV_INTERN byte srv_pad1[64];
/* mutex protecting the server, trx structs, query threads, and lock table */
UNIV_INTERN mutex_t* kernel_mutex_temp;
/* padding to prevent other memory update hotspots from residing on
the same memory cache line */
UNIV_INTERN byte srv_pad2[64];
2005-10-27 07:29:40 +00:00
#if 0
2005-10-27 07:29:40 +00:00
/* The following three values measure the urgency of the jobs of
buffer, version, and insert threads. They may vary from 0 - 1000.
The server mutex protects all these variables. The low-water values
tell that the server can acquiesce the utility when the value
drops below this low-water mark. */
static ulint srv_meter[SRV_MASTER + 1];
static ulint srv_meter_low_water[SRV_MASTER + 1];
static ulint srv_meter_high_water[SRV_MASTER + 1];
static ulint srv_meter_high_water2[SRV_MASTER + 1];
static ulint srv_meter_foreground[SRV_MASTER + 1];
#endif
2005-10-27 07:29:40 +00:00
/* The following values give info about the activity going on in
the database. They are protected by the server mutex. The arrays
are indexed by the type of the thread. */
UNIV_INTERN ulint srv_n_threads_active[SRV_MASTER + 1];
UNIV_INTERN ulint srv_n_threads[SRV_MASTER + 1];
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/***********************************************************************
Prints counters for work done by srv_master_thread. */
static
void
srv_print_master_thread_info(
/*=========================*/
FILE *file) /* in: output stream */
{
fprintf(file, "srv_master_thread loops: %lu 1_second, %lu sleeps, "
"%lu 10_second, %lu background, %lu flush\n",
srv_main_1_second_loops, srv_main_sleeps,
srv_main_10_second_loops, srv_main_background_loops,
srv_main_flush_loops);
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
fprintf(file, "srv_master_thread log flush and writes: %lu\n",
srv_log_writes_and_flush);
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Sets the info describing an i/o thread current state. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_set_io_thread_op_info(
/*======================*/
ulint i, /*!< in: the 'segment' of the i/o thread */
const char* str) /*!< in: constant char string describing the
2005-10-27 07:29:40 +00:00
state */
{
ut_a(i < SRV_MAX_N_IO_THREADS);
srv_io_thread_op_info[i] = str;
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Accessor function to get pointer to n'th slot in the server thread
table.
@return pointer to the slot */
2005-10-27 07:29:40 +00:00
static
srv_slot_t*
srv_table_get_nth_slot(
/*===================*/
ulint index) /*!< in: index of the slot */
2005-10-27 07:29:40 +00:00
{
ut_a(index < OS_THREAD_MAX_N);
return(srv_sys->threads + index);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
Gets the number of threads in the system.
@return sum of srv_n_threads[] */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
ulint
srv_get_n_threads(void)
/*===================*/
{
ulint i;
ulint n_threads = 0;
mutex_enter(&kernel_mutex);
for (i = SRV_COM; i < SRV_MASTER + 1; i++) {
2005-10-27 07:29:40 +00:00
n_threads += srv_n_threads[i];
}
mutex_exit(&kernel_mutex);
return(n_threads);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Reserves a slot in the thread table for the current thread. Also creates the
thread local storage struct for the current thread. NOTE! The server mutex
has to be reserved by the caller!
@return reserved slot index */
2005-10-27 07:29:40 +00:00
static
ulint
srv_table_reserve_slot(
/*===================*/
enum srv_thread_type type) /*!< in: type of the thread */
2005-10-27 07:29:40 +00:00
{
srv_slot_t* slot;
ulint i;
2005-10-27 07:29:40 +00:00
ut_a(type > 0);
ut_a(type <= SRV_MASTER);
i = 0;
slot = srv_table_get_nth_slot(i);
while (slot->in_use) {
i++;
slot = srv_table_get_nth_slot(i);
}
ut_a(slot->in_use == FALSE);
2005-10-27 07:29:40 +00:00
slot->in_use = TRUE;
slot->suspended = FALSE;
slot->type = type;
2005-10-27 07:29:40 +00:00
slot->id = os_thread_get_curr_id();
slot->handle = os_thread_get_curr();
thr_local_create();
thr_local_set_slot_no(os_thread_get_curr_id(), i);
return(i);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Suspends the calling thread to wait for the event in its thread slot.
NOTE! The server mutex has to be reserved by the caller!
@return event for the calling thread to wait */
2005-10-27 07:29:40 +00:00
static
os_event_t
srv_suspend_thread(void)
/*====================*/
{
srv_slot_t* slot;
os_event_t event;
ulint slot_no;
enum srv_thread_type type;
2005-10-27 07:29:40 +00:00
ut_ad(mutex_own(&kernel_mutex));
2005-10-27 07:29:40 +00:00
slot_no = thr_local_get_slot_no(os_thread_get_curr_id());
if (srv_print_thread_releases) {
fprintf(stderr,
"Suspending thread %lu to slot %lu\n",
(ulong) os_thread_get_curr_id(), (ulong) slot_no);
2005-10-27 07:29:40 +00:00
}
slot = srv_table_get_nth_slot(slot_no);
type = slot->type;
ut_ad(type >= SRV_WORKER);
ut_ad(type <= SRV_MASTER);
event = slot->event;
2005-10-27 07:29:40 +00:00
slot->suspended = TRUE;
ut_ad(srv_n_threads_active[type] > 0);
srv_n_threads_active[type]--;
os_event_reset(event);
return(event);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Releases threads of the type given from suspension in the thread table.
NOTE! The server mutex has to be reserved by the caller!
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
@return number of threads released: this may be less than n if not
enough threads were suspended at the moment */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
ulint
srv_release_threads(
/*================*/
enum srv_thread_type type, /*!< in: thread type */
ulint n) /*!< in: number of threads to release */
2005-10-27 07:29:40 +00:00
{
srv_slot_t* slot;
ulint i;
ulint count = 0;
ut_ad(type >= SRV_WORKER);
ut_ad(type <= SRV_MASTER);
ut_ad(n > 0);
ut_ad(mutex_own(&kernel_mutex));
2005-10-27 07:29:40 +00:00
for (i = 0; i < OS_THREAD_MAX_N; i++) {
2005-10-27 07:29:40 +00:00
slot = srv_table_get_nth_slot(i);
if (slot->in_use && slot->type == type && slot->suspended) {
2005-10-27 07:29:40 +00:00
slot->suspended = FALSE;
srv_n_threads_active[type]++;
os_event_set(slot->event);
if (srv_print_thread_releases) {
fprintf(stderr,
"Releasing thread %lu type %lu"
" from slot %lu\n",
(ulong) slot->id, (ulong) type,
(ulong) i);
2005-10-27 07:29:40 +00:00
}
count++;
if (count == n) {
break;
}
}
}
return(count);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
Returns the calling thread type.
@return SRV_COM, ... */
UNIV_INTERN
enum srv_thread_type
2005-10-27 07:29:40 +00:00
srv_get_thread_type(void)
/*=====================*/
{
ulint slot_no;
srv_slot_t* slot;
enum srv_thread_type type;
2005-10-27 07:29:40 +00:00
mutex_enter(&kernel_mutex);
2005-10-27 07:29:40 +00:00
slot_no = thr_local_get_slot_no(os_thread_get_curr_id());
slot = srv_table_get_nth_slot(slot_no);
type = slot->type;
ut_ad(type >= SRV_WORKER);
ut_ad(type <= SRV_MASTER);
mutex_exit(&kernel_mutex);
return(type);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Initializes the server. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_init(void)
/*==========*/
{
srv_conc_slot_t* conc_slot;
2005-10-27 07:29:40 +00:00
srv_slot_t* slot;
ulint i;
srv_sys = mem_alloc(sizeof(srv_sys_t));
kernel_mutex_temp = mem_alloc(sizeof(mutex_t));
mutex_create(&kernel_mutex, SYNC_KERNEL);
2005-10-27 07:29:40 +00:00
mutex_create(&srv_innodb_monitor_mutex, SYNC_NO_ORDER_CHECK);
2005-10-27 07:29:40 +00:00
srv_sys->threads = mem_alloc(OS_THREAD_MAX_N * sizeof(srv_slot_t));
for (i = 0; i < OS_THREAD_MAX_N; i++) {
slot = srv_table_get_nth_slot(i);
slot->in_use = FALSE;
slot->type=0; /* Avoid purify errors */
2005-10-27 07:29:40 +00:00
slot->event = os_event_create(NULL);
ut_a(slot->event);
}
srv_mysql_table = mem_alloc(OS_THREAD_MAX_N * sizeof(srv_slot_t));
for (i = 0; i < OS_THREAD_MAX_N; i++) {
slot = srv_mysql_table + i;
slot->in_use = FALSE;
slot->type = 0;
slot->event = os_event_create(NULL);
ut_a(slot->event);
}
srv_lock_timeout_thread_event = os_event_create(NULL);
2005-10-27 07:29:40 +00:00
for (i = 0; i < SRV_MASTER + 1; i++) {
srv_n_threads_active[i] = 0;
srv_n_threads[i] = 0;
#if 0
2005-10-27 07:29:40 +00:00
srv_meter[i] = 30;
srv_meter_low_water[i] = 50;
srv_meter_high_water[i] = 100;
srv_meter_high_water2[i] = 200;
srv_meter_foreground[i] = 250;
#endif
2005-10-27 07:29:40 +00:00
}
2005-10-27 07:29:40 +00:00
UT_LIST_INIT(srv_sys->tasks);
branches/innodb+: Merge revisions 4150:4528 from branches/zip: ------------------------------------------------------------------------ r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: When innodb_use_sys_malloc is set, ignore innodb_additional_mem_pool_size, because nothing will be allocated from mem_comm_pool. mem_pool_create(): Remove the assertion about size. The function will work with any size. However, an assertion would fail in ut_malloc_low() when size==0. mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create(). mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c. ------------------------------------------------------------------------ r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines branches/zip: (followup to r4145) Non-functional change: Change the os_atomic_increment() and os_compare_and_swap() functions to macros to avoid artificial limitations on the types of those functions' arguments. As a consequence typecasts from the source code can be removed. Also remove Google's copyright from os0sync.ic because that file no longer contains code from Google. Approved by: Marko (rb://88), also ok from Inaam via IM ------------------------------------------------------------------------ r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Make innodb_thread_concurrency=0 the default. The old default was 8. ------------------------------------------------------------------------ r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines branches/zip: Adjust the result file of innodb_thread_concurrency_basic test. The default value of innodb_thread_concurrency is changed to 0 (from 8) via r4163. ------------------------------------------------------------------------ r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Fix pathname of the file to patch. ------------------------------------------------------------------------ r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines branches/zip: Fix the failing mysql-test partition_innodb, which failed only if run after innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into the output of SHOW ENGINE INNODB STATUS). Find further explanation for the failure at the top of the added patch partition_innodb.diff. ------------------------------------------------------------------------ r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: Add the full text of the GPLv2 license into the root directory of the plugin. In previous releases this file was copied from an external source (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when creating the source and binary archives. It is less confusing to have this present in the root directory of the SVN branch. ------------------------------------------------------------------------ r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add Google's license into COPYING.Google. ------------------------------------------------------------------------ r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines branches/zip: To the files touched by the Google patch from c4144 (excluding include/os0sync.ic because later we removed Google code from that file): * Remove the Google license * Remove old Innobase copyright lines * Add a reference to the Google license and to the GPLv2 license at the top, as recommended by the lawyers at Oracle Legal. ------------------------------------------------------------------------ r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 1/28] ------------------------------------------------------------------------ r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 2/28] ------------------------------------------------------------------------ r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 3/28] ------------------------------------------------------------------------ r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 4/28] ------------------------------------------------------------------------ r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 5/28] ------------------------------------------------------------------------ r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 6/28] ------------------------------------------------------------------------ r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 7/28] ------------------------------------------------------------------------ r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 8/28] ------------------------------------------------------------------------ r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 9/28] ------------------------------------------------------------------------ r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 10/28] ------------------------------------------------------------------------ r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 11/28] ------------------------------------------------------------------------ r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 12/28] ------------------------------------------------------------------------ r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 15/28] ------------------------------------------------------------------------ r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 16/28] ------------------------------------------------------------------------ r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 17/28] ------------------------------------------------------------------------ r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 18/28] ------------------------------------------------------------------------ r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 19/28] ------------------------------------------------------------------------ r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 20/28] ------------------------------------------------------------------------ r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 21/28] ------------------------------------------------------------------------ r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 22/28] ------------------------------------------------------------------------ r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 23/28] ------------------------------------------------------------------------ r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 24/28] ------------------------------------------------------------------------ r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 25/28] ------------------------------------------------------------------------ r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 26/28] ------------------------------------------------------------------------ r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 27/28] ------------------------------------------------------------------------ r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 28/28] ------------------------------------------------------------------------ r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add the copyright notice to the non C files. ------------------------------------------------------------------------ r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines Minor cleanup of the Google SMP patch. sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning about the return value of os_atomic_increment() being ignored. rw_lock_create_func(): Properly indent the preprocessor directives. rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly. rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning. Do not mix statements and variable declarations. ------------------------------------------------------------------------ r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines branches/zip: When assigning lock->recursive = FALSE, also flag lock->writer_thread invalid, so that Valgrind will catch more errors. This is related to Issue #175. ------------------------------------------------------------------------ r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning about a while(0); statement. This should fix (part of) Issue #176. ------------------------------------------------------------------------ r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning about an empty body of a "for" statement. This fixes part of Issue #176. ------------------------------------------------------------------------ r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines branches/zip: Protect ut_total_allocated_memory with ut_list_mutex. Unprotected updates to ut_total_allocated_memory in os_mem_alloc_large() and os_mem_free_large(), called during fast index creation, may corrupt the variable and cause assertion failures. Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can detect more errors. rb://90 approved by Heikki Tuuri. This addresses Issue #177. ------------------------------------------------------------------------ r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning about an empty body in a "for" statement. This closes Issue #176. ------------------------------------------------------------------------ r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines branches/zip: Issue #178 rb://91 Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that both .c and .cc files get compiled with same flags. To fix the issue where UNIV_LINUX was defined only in .c files. Approved by: Marko ------------------------------------------------------------------------ r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Cleanup in ChangeLog: * Wrap lines at 78 characters * Changed files are listed alphabetically * White-space cleanup ------------------------------------------------------------------------ r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines branches/zip: ChangeLog: Remove include/os0sync.ic from the entry about the google patch, this file was modified later to not include Google's code. ------------------------------------------------------------------------ r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines branches/zip: Merge revisions 4035:4261 from branches/5.1: ------------------------------------------------------------------------ r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC is only defined for integer columns. This caused an assertion failure when we checked for the maximum value of a column type. We now calculate the max value for floating-point autoinc columns too. Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns rb://84 and Mantis issue://162 ------------------------------------------------------------------------ r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add the ULL suffix otherwise there is an overflow. ------------------------------------------------------------------------ r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2709.20.31 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2008-12-19 01:28:51 +0100 message: Disable part of innodb-autoinc.test, because the MySQL server asserts when compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and increment > 1". This change should be reverted when that bug is fixed (and a a few other minor changes to the test as described in comments). modified: mysql-test/r/innodb-autoinc.result mysql-test/t/innodb-autoinc.test ------------------------------------------------------------------------ r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: [looks like the changes to innodb-autoinc.test were made as part of the following huge merge, but we are merging only changes to that file] ------------------------------------------------------------ revno: 2546.47.1 committer: Luis Soares <luis.soares@sun.com> branch nick: 5.1-rpl timestamp: Fri 2009-01-23 13:22:05 +0100 message: merge: 5.1 -> 5.1-rpl conflicts: Text conflict in client/mysqltest.cc Text conflict in mysql-test/include/wait_until_connected_again.inc Text conflict in mysql-test/lib/mtr_report.pm Text conflict in mysql-test/mysql-test-run.pl Text conflict in mysql-test/r/events_bugs.result Text conflict in mysql-test/r/log_state.result Text conflict in mysql-test/r/myisam_data_pointer_size_func.result Text conflict in mysql-test/r/mysqlcheck.result Text conflict in mysql-test/r/query_cache.result Text conflict in mysql-test/r/status.result Text conflict in mysql-test/suite/binlog/r/binlog_index.result Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_packet.result Text conflict in mysql-test/suite/rpl/t/rpl_packet.test Text conflict in mysql-test/t/disabled.def Text conflict in mysql-test/t/events_bugs.test Text conflict in mysql-test/t/log_state.test Text conflict in mysql-test/t/myisam_data_pointer_size_func.test Text conflict in mysql-test/t/mysqlcheck.test Text conflict in mysql-test/t/query_cache.test Text conflict in mysql-test/t/rpl_init_slave_func.test Text conflict in mysql-test/t/status.test removed: mysql-test/suite/parts/r/partition_bit_ndb.result mysql-test/suite/parts/t/partition_bit_ndb.test mysql-test/suite/parts/t/partition_sessions.test mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test mysql-test/t/log_bin_trust_function_creators_func-master.opt mysql-test/t/rpl_init_slave_func-slave.opt added: mysql-test/include/check_events_off.inc mysql-test/include/cleanup_fake_relay_log.inc mysql-test/include/have_simple_parser.inc mysql-test/include/no_running_event_scheduler.inc mysql-test/include/no_running_events.inc mysql-test/include/running_event_scheduler.inc mysql-test/include/setup_fake_relay_log.inc mysql-test/include/wait_condition_sp.inc mysql-test/r/fulltext_plugin.result mysql-test/r/have_simple_parser.require mysql-test/r/innodb_bug38231.result mysql-test/r/innodb_bug39438.result mysql-test/r/innodb_mysql_rbk.result mysql-test/r/partition_innodb_semi_consistent.result mysql-test/r/query_cache_28249.result mysql-test/r/status2.result mysql-test/std_data/bug40482-bin.000001 mysql-test/suite/binlog/r/binlog_innodb_row.result mysql-test/suite/binlog/t/binlog_innodb_row.test mysql-test/suite/rpl/r/rpl_binlog_corruption.result mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt mysql-test/suite/rpl/t/rpl_binlog_corruption.test mysql-test/suite/sys_vars/r/tmp_table_size_basic.result mysql-test/suite/sys_vars/t/tmp_table_size_basic.test mysql-test/t/fulltext_plugin-master.opt mysql-test/t/fulltext_plugin.test mysql-test/t/innodb_bug38231.test mysql-test/t/innodb_bug39438-master.opt mysql-test/t/innodb_bug39438.test mysql-test/t/innodb_mysql_rbk-master.opt mysql-test/t/innodb_mysql_rbk.test mysql-test/t/partition_innodb_semi_consistent-master.opt mysql-test/t/partition_innodb_semi_consistent.test mysql-test/t/query_cache_28249.test mysql-test/t/status2.test renamed: mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test modified: .bzr-mysql/default.conf CMakeLists.txt client/mysql.cc client/mysql_upgrade.c client/mysqlcheck.c client/mysqltest.cc configure.in extra/resolve_stack_dump.c extra/yassl/include/openssl/ssl.h include/config-win.h include/m_ctype.h include/my_global.h mysql-test/extra/binlog_tests/database.test mysql-test/extra/rpl_tests/rpl_auto_increment.test mysql-test/include/commit.inc mysql-test/include/have_32bit.inc mysql-test/include/have_64bit.inc mysql-test/include/index_merge1.inc mysql-test/include/linux_sys_vars.inc mysql-test/include/windows_sys_vars.inc mysql-test/lib/mtr_report.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/commit_1innodb.result mysql-test/r/create.result mysql-test/r/csv.result mysql-test/r/ctype_ucs.result mysql-test/r/date_formats.result mysql-test/r/events_bugs.result mysql-test/r/events_scheduling.result mysql-test/r/fulltext.result mysql-test/r/func_if.result mysql-test/r/func_in.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb-autoinc.result mysql-test/r/innodb.result mysql-test/r/innodb_mysql.result mysql-test/r/log_bin_trust_function_creators_func.result mysql-test/r/log_state.result mysql-test/r/myisampack.result mysql-test/r/mysql.result mysql-test/r/mysqlcheck.result mysql-test/r/partition_datatype.result mysql-test/r/partition_mgm.result mysql-test/r/partition_pruning.result mysql-test/r/query_cache.result mysql-test/r/read_buffer_size_basic.result mysql-test/r/read_rnd_buffer_size_basic.result mysql-test/r/rpl_init_slave_func.result mysql-test/r/select.result mysql-test/r/status.result mysql-test/r/strict.result mysql-test/r/temp_table.result mysql-test/r/type_bit.result mysql-test/r/type_date.result mysql-test/r/type_float.result mysql-test/r/warnings_engine_disabled.result mysql-test/r/xml.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_index.result mysql-test/suite/binlog/r/binlog_innodb.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_innodb.test mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_engines.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/funcs_1/storedproc/param_check.inc mysql-test/suite/funcs_2/t/disabled.def mysql-test/suite/ndb/t/disabled.def mysql-test/suite/parts/r/partition_bit_innodb.result mysql-test/suite/parts/r/partition_bit_myisam.result mysql-test/suite/parts/r/partition_special_innodb.result mysql-test/suite/parts/t/disabled.def mysql-test/suite/parts/t/partition_special_innodb.test mysql-test/suite/parts/t/partition_value_innodb.test mysql-test/suite/parts/t/partition_value_myisam.test mysql-test/suite/parts/t/partition_value_ndb.test mysql-test/suite/rpl/r/rpl_auto_increment.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_slave_skip.result mysql-test/suite/rpl/r/rpl_trigger.result mysql-test/suite/rpl/t/disabled.def mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_slave_skip.test mysql-test/suite/rpl/t/rpl_trigger.test mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/alter_table.test mysql-test/t/create.test mysql-test/t/csv.test mysql-test/t/ctype_ucs.test mysql-test/t/date_formats.test mysql-test/t/disabled.def mysql-test/t/events_bugs.test mysql-test/t/events_scheduling.test mysql-test/t/fulltext.test mysql-test/t/func_if.test mysql-test/t/func_in.test mysql-test/t/func_str.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/information_schema.test mysql-test/t/innodb-autoinc.test mysql-test/t/innodb.test mysql-test/t/innodb_mysql.test mysql-test/t/log_bin_trust_function_creators_func.test mysql-test/t/log_state.test mysql-test/t/myisam_data_pointer_size_func.test mysql-test/t/myisampack.test mysql-test/t/mysql.test mysql-test/t/mysqlcheck.test mysql-test/t/partition_innodb_stmt.test mysql-test/t/partition_mgm.test mysql-test/t/partition_pruning.test mysql-test/t/query_cache.test mysql-test/t/rpl_init_slave_func.test mysql-test/t/select.test mysql-test/t/status.test mysql-test/t/strict.test mysql-test/t/temp_table.test mysql-test/t/type_bit.test mysql-test/t/type_date.test mysql-test/t/type_float.test mysql-test/t/warnings_engine_disabled.test mysql-test/t/xml.test mysys/my_getopt.c mysys/my_init.c scripts/mysql_install_db.sh sql-common/my_time.c sql/field.cc sql/field.h sql/filesort.cc sql/ha_partition.cc sql/ha_partition.h sql/item.cc sql/item_cmpfunc.cc sql/item_func.h sql/item_strfunc.cc sql/item_sum.cc sql/item_timefunc.cc sql/item_timefunc.h sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/mysql_priv.h sql/mysqld.cc sql/opt_range.cc sql/partition_info.cc sql/repl_failsafe.cc sql/rpl_constants.h sql/set_var.cc sql/slave.cc sql/spatial.h sql/sql_acl.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_delete.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_locale.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_profile.cc sql/sql_repl.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_trigger.h sql/table.cc sql/table.h sql/unireg.cc storage/csv/ha_tina.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/innobase/Makefile.am storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/include/btr0sea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0mem.h storage/innobase/include/ha_prototypes.h storage/innobase/include/lock0lock.h storage/innobase/include/row0mysql.h storage/innobase/include/sync0sync.ic storage/innobase/include/ut0ut.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/plug.in storage/innobase/row/row0mysql.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0ut.c storage/myisam/ft_boolean_search.c strings/ctype.c strings/xml.c tests/mysql_client_test.c win/configure.js mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test ------------------------------------------------------------------------ r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: minor non-functional changes. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines branches/zip: Add a ChangeLog entry for a change in r4262. ------------------------------------------------------------------------ r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines branches/zip: Make innodb_use_sys_malloc=ON the default. Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc) to improve branch prediction in the default case. Approved by Ken over the IM. ------------------------------------------------------------------------ r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Add a sentence at the top of COPYING.Google to clarify that this license does not apply to the whole InnoDB. Suggested by: Ken ------------------------------------------------------------------------ r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines branches/zip: Initialize ut_list_mutex at startup. Without this fix, ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1. This fix addresses Issue #181. ut_mem_block_list_init(): Rename to ut_mem_init() and make public. ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited). mem_init(): Call ut_mem_init(). ------------------------------------------------------------------------ r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in FIL_PAGE_TYPE. (Bug #43043, Issue #182) btr_check_blob_fil_page_type(): New function. btr_free_externally_stored_field(), btr_copy_blob_prefix(): Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE. ------------------------------------------------------------------------ r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion. btr_check_blob_fil_page_type(): Replace the parameter const char* op with ibool read. Do not print anything about page type mismatch when reading a BLOB page in Antelope format. Print space id before page number. ------------------------------------------------------------------------ r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited. ------------------------------------------------------------------------ r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines branches/zip: Fix bugs in the fix of Issue #181. Tested inside and outside Valgrind, with innodb_use_sys_malloc set to 0 and 1. mem_init(): Invoke ut_mem_init() before mem_pool_create(), because the latter one will invoke ut_malloc(). srv_general_init(): Do not initialize the memory subsystem (mem_init()). innobase_init(): Initialize the memory subsystem (mem_init()) before calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc(). Call ut_free_all_mem() in error handling to clean up after the mem_init(). ------------------------------------------------------------------------ r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove unused function os_mem_alloc_nocache(). ------------------------------------------------------------------------ r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove the unused function dict_index_get_type(). ------------------------------------------------------------------------ r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h". ------------------------------------------------------------------------ r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h". ------------------------------------------------------------------------ r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines branches/zip: Merge revisions 4261:4287 from branches/5.1: ------------------------------------------------------------------------ r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two changes to the autoinc handling. 1. To fix the immediate problem from the bug report, we must ensure that the value written to the table is always less than the max value stored in dict_table_t. 2. The second related change is that according to MySQL documentation when the offset is greater than the increment, we should ignore the offset. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the fix in r4288. ------------------------------------------------------------------------ r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines branches/zip: Make ChangeLog entries for bugs in bugs.mysql.com in the form: Fix Bug#12345 bug title (for bugs after 1.0.2 was released and the ChangeLog published) There is no need to bloat the ChangeLog with information that is available via bugs.mysql.com. Discussed with: Marko ------------------------------------------------------------------------ r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Fix Bug synopsis and remove explanation ------------------------------------------------------------------------ r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines branches/zip: Correct the initialization of the memory subsystem once again, to finally put Issue #181 to rest. Revert some parts of r4274. It is best not to call ut_malloc() before srv_general_init(). mem_init(): Do not call ut_mem_init(). srv_general_init(): Initialize the memory subsystem in two phases: first ut_mem_init(), then mem_init(). This is because os_sync_init() and sync_init() depend on ut_mem_init() and mem_init() depends on os_sync_init() or sync_init(). srv_parse_data_file_paths_and_sizes(), srv_parse_log_group_home_dirs(): Remove the output parameters. Assign to the global variables directly. Allocate memory with malloc() instead of ut_malloc(), because these functions will be called before srv_general_init(). srv_free_paths_and_sizes(): New function, for cleaning up after srv_parse_data_file_paths_and_sizes() and srv_parse_log_group_home_dirs(). rb://92 approved by Sunny Bains ------------------------------------------------------------------------ r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: White-space cleanup in the ChangeLog ------------------------------------------------------------------------ r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines branches/zip: Do not output the commands that restore the environment because they depend on the state of the environment before the test starts executing. ------------------------------------------------------------------------ r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines branches/zip: Apply any necessary patches to the mysql tree at the end of setup.sh This step was previously done manually (and sometimes forgotten). ------------------------------------------------------------------------ r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines branches/zip: btr_check_blob_fil_page_type(): Do not report FIL_PAGE_TYPE mismatch even when purging a BLOB. Heavy users may have large data files created with MySQL 5.0 or earlier, and they don not want to have the error log flooded with such messages. This fixes Issue #182. ------------------------------------------------------------------------ r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines branches/zip This is to revert the changes made to the plug.in (r4251) as a fix for issue# 178. Changes to plug.in will not propogate to a plugin installation unless autotools are rerun which is unacceptable. A fix for issue# 178 will be committed in a separate commit. ------------------------------------------------------------------------ r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines branches/zip This is a fix for issue#178. Instead of using UNIV_LINUX which is defined through CFLAGS we use compiler generated define __linux__ that is effective for both .c and .cc files. ------------------------------------------------------------------------ r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines branches/zip: Add FreeBSD to the list of the operating systems that have sizeof(pthread_t) == sizeof(void*) (i.e. word size). On FreeBSD pthread_t is defined like: /usr/include/sys/_pthreadtypes.h: typedef struct pthread *pthread_t; I did the following tests (per Inaam's recommendation): a) appropriate version of GCC is available on that platform (4.1.2 or higher for atomics to be available) On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default one is 4.2.1. One can always install the version of choice from the ports collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be defined and thus the change I am committing will make no difference. b) find out if sizeof(pthread_t) == sizeof(long) On 32 bit both are 4 bytes, on 64 bit both are 8 bytes. c) find out the compiler generated platform define (e.g.: __aix, __sunos__ etc.) The macro is __FreeBSD__. d) patch univ.i with the appropriate platform define e) build the mysql f) ensure it is using atomic builtins (look at the err.log message at system startup. It should say we are using atomics for both mutexes and rw-locks) g) do sanity testing (keeping in view the smp changes) I ran the mysql-test suite. All tests pass. ------------------------------------------------------------------------ r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines branches/zip: As suggested by Ken, print a message that says that the Google SMP patch (GCC atomics) is disabled if it is. Also extend the message when the patch is partially enabled to make it clear that it is partially enabled. ------------------------------------------------------------------------ r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Fix typo made in r4353. ------------------------------------------------------------------------ r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Implement a check whether pthread_t objects can be used by GCC atomic builtin functions. This check is implemented in plug.in and defines the macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the relevant part of the code enabled (the one that uses GCC atomics against pthread_t objects). In addition to this, the same program that is compiled as part of the plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source archives that are shipped to the users, a generated Makefile.in is added. That Makefile.in will be modified to compile ut/ut0auxconf.c and define the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e. Makefile.in will emulate the work that is done by plug.in. This is done in order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually defined without regenerating MySQL's ./configure from ./storage/innobase/plug.in. The point is not to ask users to install the autotools and regenerate ./configure. rb://95 Approved by: Marko ------------------------------------------------------------------------ r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines branches/zip: Merge revisions 4287:4357 from branches/5.1: ------------------------------------------------------------------------ r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv It was not a SIGSEGV but an assertion failure. The assertion was checking the invariant that *first_value passed in by MySQL doesn't contain a value that is greater than the max value for that type. The assertion has been changed to a check and if the value is greater than the max we report a generic AUTOINC failure. rb://93 Approved by Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): ------------------------------------------------------------------------ r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.19.1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2009-02-03 11:36:46 +0000 message: BUG#42445 Warning messages in innobase/handler/ha_innodb.cc There was a type casting problem in the storage/innobase/handler/ha_innodb.cc, (int ha_innobase::write_row(...)). Innobase uses has an internal error variable of type 'ulint' while mysql uses an 'int'. To fix the problem the function manipulates an error variable of type 'ulint' and only casts it into 'int' when needs to return the value. modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Merge revision 4359 from branches/5.1: ------------------------------------------------------------------------ r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2747 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2009-01-16 17:49:07 +0100 message: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Add ChangeLog entry for the bugfix in c4360. ------------------------------------------------------------------------ r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin The dynamic plugin on Windows used to be built with MYSQL_SERVER compile flag, while it is not the case for other platforms. r3797 assumed MYSQL_SERVER was not defined for dynamic plugin, which introduced the engine crash during dropping a database. ------------------------------------------------------------------------ r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE in a separate redo log entry. This will make ibbackup --apply-log debugging easier. ------------------------------------------------------------------------ r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, initialize FIL_PAGE_TYPE. This will make it easier to write the debug assertions for ibbackup --apply-log. ------------------------------------------------------------------------ r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines branches/zip: Merge revisions 4359:4400 from branches/5.1: ------------------------------------------------------------------------ r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position also for unlock_row(). (Bug #39320) ------------------------------------------------------------------------ r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines branches/5.1: Fix a bug in multi-table semi-consistent reads. Remember the acquired record locks per table handle (row_prebuilt_t) rather than per transaction (trx_t), so that unlock_row should successfully unlock all non-matching rows in multi-table operations. This deficiency was found while investigating Bug #39320. ------------------------------------------------------------------------ These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri. ------------------------------------------------------------------------ r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and adjust all callers. ------------------------------------------------------------------------ r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL before dereferencing it. In this way, ut_list_node_313 will be pointing to the last non-NULL list item at the time of the assertion failure. (gcc-4.3.2 -O3 seems to optimize the common subexpressions and make the variable NULL, though.) ------------------------------------------------------------------------ r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: sync_thread_add_level(): Make the assertions about level == SYNC_BUF_BLOCK more readable. ------------------------------------------------------------------------ r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines branches/zip: Remove mysql-test/patches/bug32625.diff because that bug was fixed in the mysql repository (1 year and 4 months after sending them the simple patch!). See http://bugs.mysql.com/32625 ------------------------------------------------------------------------ r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line branches/zip: buf0buddy.c: Add and adjust some debug assertions. ------------------------------------------------------------------------ r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines branches/zip: Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that 1.0.3 has been released. ------------------------------------------------------------------------ r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug41893.diff because that bug has been fixed in the MySQL repository, see http://bugs.mysql.com/41893. ------------------------------------------------------------------------ r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions. ------------------------------------------------------------------------ r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line branches/zip: buf_buddy_free_low(): Correct the function comment. ------------------------------------------------------------------------ r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines branches/zip: Merge revisions 4400:4481 from branches/5.1: ------------------------------------------------------------------------ r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines branches/5.1: row_unlock_for_mysql(): Do not unlock records that were modified by the current transaction. This bug was introduced or unmasked in r4400. rb://97 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup: Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with dict_ind_redundant and dict_ind_compact, initialized in dict_init(). ------------------------------------------------------------------------ r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines branches/zip: Add const qualifiers or in/out comments to some function parameters in log0log. ------------------------------------------------------------------------ r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines branches/zip: page_validate(): Always report the space id and the name of the index. In Hot Backup, do not invoke comparison functions, as MySQL collations will be unavailable. ------------------------------------------------------------------------ r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id(). ------------------------------------------------------------------------ r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars. This eliminates some "unused variable" warnings when building InnoDB Hot Backup in such a way that all mutex operations are no-ops. ------------------------------------------------------------------------ r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. ------------------------------------------------------------------------ r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_recover_page(): Remove compile-time constant parameters. ------------------------------------------------------------------------ r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_sys_init(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change: Add const qualifiers. log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf(): The log block is read-only. Make it const. ------------------------------------------------------------------------ r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: fil_init(): Add the parameter hash_size. ------------------------------------------------------------------------ r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Add any entry about the release of 1.0.3 in the ChangeLog. ------------------------------------------------------------------------ r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. Make it a no-op in UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use PAGE_ZIP_MATCH. In UNIV_HOTBACKUP builds, assume fixed allocation. ------------------------------------------------------------------------ r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Exclude some operating system interface code from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove the remaining references to hash_table_t::adapive from UNIV_HOTBACKUP builds. This should have been done in r4515. ------------------------------------------------------------------------ r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Enclose recv_recovery_from_backup_on and recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE. ------------------------------------------------------------------------ r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions ensuring that FIL_PAGE_TYPE makes sense when applying log records. ------------------------------------------------------------------------ r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove unneeded definitions and dependencies from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines branches/zip: adjust build files on Windows Adjust the patch positions based on the latest MySQL source. Also add the patches to the .bat files for vs9. ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
/* Create dummy indexes for infimum and supremum records */
dict_ind_init();
2005-10-27 07:29:40 +00:00
/* Init the server concurrency restriction data structures */
os_fast_mutex_init(&srv_conc_mutex);
2005-10-27 07:29:40 +00:00
UT_LIST_INIT(srv_conc_queue);
srv_conc_slots = mem_alloc(OS_THREAD_MAX_N * sizeof(srv_conc_slot_t));
for (i = 0; i < OS_THREAD_MAX_N; i++) {
conc_slot = srv_conc_slots + i;
conc_slot->reserved = FALSE;
conc_slot->event = os_event_create(NULL);
ut_a(conc_slot->event);
}
/* Initialize some INFORMATION SCHEMA internal structures */
trx_i_s_cache_init(trx_i_s_cache);
}
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
branches/innodb+: Merge revisions r5971:6130 from branches/zip. ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 23:03:51 +1000 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5972 | marko | 2009-09-24 05:44:52 +1000 (Thu, 24 Sep 2009) | 5 lines branches/zip: fil_node_open_file(): In InnoDB Hot Backup, determine the page size of single-file tablespaces before computing the file node size. Otherwise, the space->size of compressed tablespaces would be computed with UNIV_PAGE_SIZE instead of key_block_size. This should fix Issue #313. ------------------------------------------------------------------------ r5973 | marko | 2009-09-24 05:53:21 +1000 (Thu, 24 Sep 2009) | 2 lines branches/zip: recv_add_to_hash_table(): Simplify obfuscated pointer arithmetics. ------------------------------------------------------------------------ r5978 | marko | 2009-09-24 17:47:56 +1000 (Thu, 24 Sep 2009) | 1 line branches/zip: Fix warnings and errors when UNIV_HOTBACKUP is defined. ------------------------------------------------------------------------ r5979 | marko | 2009-09-24 20:16:10 +1000 (Thu, 24 Sep 2009) | 4 lines branches/zip: ha_innodb.cc: Define MYSQL_PLUGIN_IMPORT when necessary. This preprocessor symbol has been recently introduced in MySQL 5.1. The InnoDB Plugin should remain source compatible with MySQL 5.1.24 and later. ------------------------------------------------------------------------ r5988 | calvin | 2009-09-26 05:14:43 +1000 (Sat, 26 Sep 2009) | 8 lines branches/zip: fix bug#47055 unconditional exit(1) on ERROR_WORKING_SET_QUOTA 1453 (0x5AD) for InnoDB backend When error ERROR_WORKING_SET_QUOTA or ERROR_NO_SYSTEM_RESOURCES occurs, yields for 100ms and retries the operation. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5992 | vasil | 2009-09-28 17:10:29 +1000 (Mon, 28 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for c5988. ------------------------------------------------------------------------ r5994 | marko | 2009-09-28 18:33:59 +1000 (Mon, 28 Sep 2009) | 17 lines branches/zip: Try to prevent the reuse of tablespace identifiers after InnoDB has crashed during table creation. Also, refuse to start if files with duplicate tablespace identifiers are encountered. fil_node_create(): Update fil_system->max_assigned_id. This should prevent the reuse of a space->id when InnoDB does a full crash recovery and invokes fil_load_single_table_tablespaces(). Normally, fil_system->max_assigned_id is initialized from SELECT MAX(ID) FROM SYS_TABLES. fil_open_single_table_tablespace(): Return FALSE when fil_space_create() fails. fil_load_single_table_tablespace(): Exit if fil_space_create() fails and innodb_force_recovery=0. rb://173 approved by Heikki Tuuri. This addresses Issue #335. ------------------------------------------------------------------------ r5995 | marko | 2009-09-28 18:52:25 +1000 (Mon, 28 Sep 2009) | 17 lines branches/zip: Do not write to PAGE_INDEX_ID after page creation, not even when restoring an uncompressed page after a compression failure. btr_page_reorganize_low(): On compression failure, do not restore those page header fields that should not be affected by the reorganization. Instead, compare the fields. page_zip_decompress(): Add the parameter ibool all, for copying all page header fields. Pass the parameter all=TRUE on block read completion, redo log application, and page_zip_validate(); pass all=FALSE in all other cases. page_zip_reorganize(): Do not restore the uncompressed page on failure. It will be restored (to pre-modification state) by the caller anyway. rb://167, Issue #346 ------------------------------------------------------------------------ r5996 | marko | 2009-09-28 22:46:02 +1000 (Mon, 28 Sep 2009) | 4 lines branches/zip: Address Issue #350 in comments. lock_rec_queue_validate(), lock_rec_queue_validate(): Note that this debug code may violate the latching order and cause deadlocks. ------------------------------------------------------------------------ r5997 | marko | 2009-09-28 23:03:58 +1000 (Mon, 28 Sep 2009) | 12 lines branches/zip: Remove an assertion failure when the InnoDB data dictionary is inconsistent with the MySQL .frm file. ha_innobase::index_read(): When the index cannot be found, return an error. ha_innobase::change_active_index(): When prebuilt->index == NULL, set also prebuilt->index_usable = FALSE. This is not needed for correctness, because prebuilt->index_usable is only checked by row_search_for_mysql(), which requires prebuilt->index != NULL. This addresses Issue #349. Approved by Heikki Tuuri over IM. ------------------------------------------------------------------------ r6005 | vasil | 2009-09-29 18:09:52 +1000 (Tue, 29 Sep 2009) | 4 lines branches/zip: ChangeLog: wrap around 78th column, not earlier. ------------------------------------------------------------------------ r6006 | vasil | 2009-09-29 20:15:25 +1000 (Tue, 29 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for the release of 1.0.4. ------------------------------------------------------------------------ r6007 | vasil | 2009-09-29 23:19:59 +1000 (Tue, 29 Sep 2009) | 6 lines branches/zip: Fix the year, should be 2009. Pointed by: Calvin ------------------------------------------------------------------------ r6026 | marko | 2009-09-30 17:18:24 +1000 (Wed, 30 Sep 2009) | 1 line branches/zip: Add some debug assertions for checking FSEG_MAGIC_N. ------------------------------------------------------------------------ r6028 | marko | 2009-09-30 23:55:23 +1000 (Wed, 30 Sep 2009) | 3 lines branches/zip: recv_no_log_write: New debug flag for tracking down Mantis Issue #347. No modifications should be made to the database while recv_apply_hashed_log_recs() is about to complete. ------------------------------------------------------------------------ r6029 | calvin | 2009-10-01 06:32:02 +1000 (Thu, 01 Oct 2009) | 4 lines branches/zip: non-functional changes Fix typo. ------------------------------------------------------------------------ r6031 | marko | 2009-10-01 21:24:33 +1000 (Thu, 01 Oct 2009) | 49 lines branches/zip: Clean up after a crash during DROP INDEX. When InnoDB crashes while dropping an index, ensure that the index will be completely dropped during crash recovery. row_merge_drop_index(): Before dropping an index, rename the index to start with TEMP_INDEX_PREFIX_STR and commit the change, so that row_merge_drop_temp_indexes() will drop the index after crash recovery if the server crashes while dropping the index. fseg_inode_try_get(): New function, forked from fseg_inode_get(). Return NULL if the file segment index node is free. fseg_inode_get(): Assert that the file segment index node is not free. fseg_free_step(): If the file segment index node is already free, print a diagnostic message and return TRUE. fsp_free_seg_inode(): Write a nonzero number to FSEG_MAGIC_N, so that allocated-and-freed file segment index nodes can be better distinguished from uninitialized ones. This is rb://174, addressing Issue #348. Tested by restarting mysqld upon the completion of the added log_write_up_to() invocation below, during DROP INDEX. The index was dropped after crash recovery, and re-issuing the DROP INDEX did not crash the server. Index: btr/btr0btr.c =================================================================== --- btr/btr0btr.c (revision 6026) +++ btr/btr0btr.c (working copy) @@ -42,6 +42,7 @@ Created 6/2/1994 Heikki Tuuri #include "ibuf0ibuf.h" #include "trx0trx.h" +#include "log0log.h" /* Latching strategy of the InnoDB B-tree -------------------------------------- @@ -873,6 +874,8 @@ leaf_loop: goto leaf_loop; } + + log_write_up_to(mtr.end_lsn, LOG_WAIT_ALL_GROUPS, TRUE); top_loop: mtr_start(&mtr); ------------------------------------------------------------------------ r6033 | calvin | 2009-10-02 06:19:46 +1000 (Fri, 02 Oct 2009) | 4 lines branches/zip: fix a typo in error message Reported as bug#47763. ------------------------------------------------------------------------ r6043 | inaam | 2009-10-06 01:45:35 +1100 (Tue, 06 Oct 2009) | 12 lines branches/zip rb://176 Do not invalidate buffer pool while an LRU batch is active. Added code to buf_pool_invalidate() to wait for the running batches to finish. This patch also resets the state of buf_pool struct at invalidation. This addresses the concern where buf_pool->freed_page_clock becomes non-zero because we read in a system tablespace page for file format info at startup. Approved by: Marko ------------------------------------------------------------------------ r6044 | pekka | 2009-10-07 01:44:54 +1100 (Wed, 07 Oct 2009) | 5 lines branches/zip: Add os_file_is_same() function for Hot Backup (inside ifdef UNIV_HOTBACKUP). This is part of the fix for Issue #186. Note! The Windows implementation is incomplete. ------------------------------------------------------------------------ r6046 | pekka | 2009-10-08 20:24:56 +1100 (Thu, 08 Oct 2009) | 3 lines branches/zip: Revert r6044 which added os_file_is_same() function (issue#186). This functionality is moved to Hot Backup source tree. ------------------------------------------------------------------------ r6048 | vasil | 2009-10-09 16:42:55 +1100 (Fri, 09 Oct 2009) | 16 lines branches/zip: When scanning a directory readdir() is called and stat() after it, if a file is deleted between the two calls stat will fail and the whole precedure will fail. Change this behavior to continue with the next entry if stat() fails because of nonexistent file. This is transparent change as it will make it look as if the file was deleted before the readdir() call. This change is needed in order to fix https://svn.innodb.com/mantis/view.php?id=174 in which we need to abort if os_file_readdir_next_file() encounters "real" errors. Approved by: Marko, Pekka (rb://177) ------------------------------------------------------------------------ r6049 | vasil | 2009-10-10 03:05:26 +1100 (Sat, 10 Oct 2009) | 7 lines branches/zip: Fix compilation warning in Hot Backup: innodb/fil/fil0fil.c: In function 'fil_load_single_table_tablespace': innodb/fil/fil0fil.c:3253: warning: format '%lld' expects type 'long long int', but argument 6 has type 'ib_int64_t' ------------------------------------------------------------------------ r6064 | calvin | 2009-10-14 02:23:35 +1100 (Wed, 14 Oct 2009) | 4 lines branches/zip: non-functional changes Changes from MySQL to fix build issue. ------------------------------------------------------------------------ r6065 | inaam | 2009-10-14 04:43:13 +1100 (Wed, 14 Oct 2009) | 7 lines branches/zip rb://182 Call fsync() on datafiles after a batch of pages is written to disk even when skip_innodb_doublewrite is set. Approved by: Heikki ------------------------------------------------------------------------ r6080 | sunny | 2009-10-15 09:29:01 +1100 (Thu, 15 Oct 2009) | 3 lines branches/zip: Change page_mem_alloc_free() to inline. Fix Bug #47058 - Failure to compile innodb_plugin on solaris 10u7 + spro cc/CC 5.10 ------------------------------------------------------------------------ r6084 | vasil | 2009-10-15 16:21:17 +1100 (Thu, 15 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6080. ------------------------------------------------------------------------ r6095 | vasil | 2009-10-20 00:04:59 +1100 (Tue, 20 Oct 2009) | 7 lines branches/zip: Fix Bug#47808 innodb_information_schema.test fails when run under valgrind by using the wait_until_rows_count macro that loops until the number of rows becomes 14 instead of sleep 0.1, which is obviously very fragile. ------------------------------------------------------------------------ r6096 | vasil | 2009-10-20 00:06:09 +1100 (Tue, 20 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6095. ------------------------------------------------------------------------ r6099 | jyang | 2009-10-22 13:58:39 +1100 (Thu, 22 Oct 2009) | 7 lines branches/zip: Port bug #46000 related changes from 5.1 to zip branch. Due to different code path for creating index in zip branch comparing to 5.1), the index reserved name check function is extended to be used in ha_innobase::add_index(). rb://190 Approved by: Marko ------------------------------------------------------------------------ r6100 | jyang | 2009-10-22 14:51:07 +1100 (Thu, 22 Oct 2009) | 6 lines branches/zip: As a request from mysql, WARN_LEVEL_ERROR cannot be used for push_warning_* call any more. Switch to WARN_LEVEL_WARN. Bug #47233. rb://172 approved by Sunny Bains and Marko. ------------------------------------------------------------------------ r6101 | jyang | 2009-10-23 19:45:50 +1100 (Fri, 23 Oct 2009) | 7 lines branches/zip: Update test result with the WARN_LEVEL_ERROR to WARN_LEVEL_WARN change. This is the same result as submitted in rb://172 review, which approved by Sunny Bains and Marko. ------------------------------------------------------------------------ r6102 | marko | 2009-10-26 18:32:23 +1100 (Mon, 26 Oct 2009) | 1 line branches/zip: row_prebuilt_struct::prebuilts: Unused field, remove. ------------------------------------------------------------------------ r6103 | marko | 2009-10-27 00:46:18 +1100 (Tue, 27 Oct 2009) | 4 lines branches/zip: row_ins_alloc_sys_fields(): Zero out the system columns DB_TRX_ID, DB_ROLL_PTR and DB_ROW_ID, in order to avoid harmless Valgrind warnings about uninitialized data. (The warnings were harmless, because the fields would be initialized at a later stage.) ------------------------------------------------------------------------ r6105 | calvin | 2009-10-28 09:05:52 +1100 (Wed, 28 Oct 2009) | 6 lines branches/zip: backport r3848 from 6.0 branch ---- branches/6.0: innobase_start_or_create_for_mysql(): Make the 10 MB minimum tablespace limit independent of UNIV_PAGE_SIZE. (Bug #41490) ------------------------------------------------------------------------ r6107 | marko | 2009-10-29 01:10:34 +1100 (Thu, 29 Oct 2009) | 5 lines branches/zip: buf_page_set_old(): Improve UNIV_LRU_DEBUG diagnostics in order to catch the buf_pool->LRU_old corruption reported in Issue #381. buf_LRU_old_init(): Set the property from the tail towards the front of the buf_pool->LRU list, in order not to trip the debug check. ------------------------------------------------------------------------ r6108 | calvin | 2009-10-29 16:58:04 +1100 (Thu, 29 Oct 2009) | 5 lines branches/zip: close file handle when building with UNIV_HOTBACKUP The change does not affect regular InnoDB engine. Confirmed by Marko. ------------------------------------------------------------------------ r6109 | jyang | 2009-10-29 19:37:32 +1100 (Thu, 29 Oct 2009) | 7 lines branches/zip: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------------------ r6110 | marko | 2009-10-29 21:44:57 +1100 (Thu, 29 Oct 2009) | 2 lines branches/zip: Makefile.am (INCLUDES): Merge a change from MySQL: Use $(srcdir)/include instead of $(top_srcdir)/storage/innobase/include. ------------------------------------------------------------------------ r6111 | marko | 2009-10-29 22:04:11 +1100 (Thu, 29 Oct 2009) | 33 lines branches/zip: Fix corruption of buf_pool->LRU_old and improve debug assertions. This was reported as Issue #381. buf_page_set_old(): Assert that blocks may only be set old if buf_pool->LRU_old is initialized and buf_pool->LRU_old_len is nonzero. Assert that buf_pool->LRU_old points to the block at the old/new boundary. buf_LRU_old_adjust_len(): Invoke buf_page_set_old() after adjusting buf_pool->LRU_old and buf_pool->LRU_old_len, in order not to violate the added assertions. buf_LRU_old_init(): Replace buf_page_set_old() with a direct assignment to bpage->old, because these loops that initialize all the blocks would temporarily violate the assertions about buf_pool->LRU_old. buf_LRU_remove_block(): When setting buf_pool->LRU_old = NULL, also clear all bpage->old flags and set buf_pool->LRU_old_len = 0. buf_LRU_add_block_to_end_low(), buf_LRU_add_block_low(): Move the buf_page_set_old() call later in order not to violate the debug assertions. If buf_pool->LRU_old is NULL, set old=FALSE. buf_LRU_free_block(): Replace the UNIV_LRU_DEBUG assertion with a dummy buf_page_set_old() call that performs more thorough checks. buf_LRU_validate(): Do not tolerate garbage in buf_pool->LRU_old_len even if buf_pool->LRU_old is NULL. Check that bpage->old is monotonic. buf_relocate(): Make the UNIV_LRU_DEBUG checks stricter. buf0buf.h: Revise the documentation of buf_page_t::old and buf_pool_t::LRU_old_len. ------------------------------------------------------------------------ r6112 | calvin | 2009-10-30 01:21:15 +1100 (Fri, 30 Oct 2009) | 4 lines branches/zip: consideration for icc compilers Proposed by MySQL, and approved by Marko. ------------------------------------------------------------------------ r6113 | vasil | 2009-10-30 03:15:50 +1100 (Fri, 30 Oct 2009) | 93 lines branches/zip: Merge r5912:6112 from branches/5.1: (after this merge the innodb-autoinc test starts to fail, but I commit anyway because it would be easier to investigate the failure this way) ------------------------------------------------------------------------ r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#42383: Can't create table 'test.bug39438' For embedded server, MySQL may pass in full path, which is currently disallowed. It is needed to relax the condition by accepting full paths in the embedded case. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix Bug#38996 Race condition in ANALYZE TABLE by serializing ANALYZE TABLE inside InnoDB. Approved by: Heikki (rb://175) ------------------------------------------------------------------------ r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug47777.result A /branches/5.1/mysql-test/innodb_bug47777.test branches/5.1: Fix bug #47777. Treat the Geometry data same as Binary BLOB in ha_innobase::store_key_val_for_row(), since the Geometry data is stored as Binary BLOB in Innodb. Review: rb://180 approved by Marko Makela. ------------------------------------------------------------------------ r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Ignore negative values supplied by the user when calculating the next value to store in dict_table_t. Setting autoincrement columns top negative values is undefined behavior and this change should bring the behavior of InnoDB closer to what users expect. Added several tests to check. rb://162 ------------------------------------------------------------------------ r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix the test results too. rb://164 ------------------------------------------------------------------------ r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Copy the maximum AUTOINC value from the old table to the new table when MySQL does a CREATE INDEX ON T. This is required because MySQL does a table copy, rename and drops the old table. Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb rb://168 ------------------------------------------------------------------------ r6076 | vasil | 2009-10-14 19:30:12 +0300 (Wed, 14 Oct 2009) | 4 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.1: Fix typo. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6114 | vasil | 2009-10-30 03:43:51 +1100 (Fri, 30 Oct 2009) | 6 lines branches/zip: * Add ChangeLog entries for latest changes * Obey alphabetical order in the list of the files * White-space fixup ------------------------------------------------------------------------ r6121 | sunny | 2009-10-30 10:42:11 +1100 (Fri, 30 Oct 2009) | 7 lines branches/zip: This test has been problematic for sometime now. The underlying bug is that the data dictionaries get out of sync. In the AUTOINC code we try and apply salve to the symptoms. In the past MySQL made some unrelated change and the dictionaries stopped getting out of sync and this test started to fail. Now, it seems they have reverted that changed and the test is passing again. I suspect this is not he last time that this test will change. ------------------------------------------------------------------------ r6124 | jyang | 2009-10-30 19:02:31 +1100 (Fri, 30 Oct 2009) | 5 lines branches/zip: Correct the bug number for -r6109 change from # 48273 to #48237 ------------------------------------------------------------------------ r6126 | vasil | 2009-10-30 19:36:07 +1100 (Fri, 30 Oct 2009) | 45 lines branches/zip: Merge r6112:6125 from branches/5.1: (skipping r6122 and r6123, Jimmy says these are already present and need not be merged): ------------------------------------------------------------------------ r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug44369.result M /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/mysql-test/innodb_bug46000.result M /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN for push_warning_printf() call in innodb. Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR) rb://170 approved by Marko. ------------------------------------------------------------------------ r6123 | jyang | 2009-10-30 05:43:06 +0200 (Fri, 30 Oct 2009) | 8 lines Changed paths: M /branches/5.1/os/os0proc.c branches/5.1: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. This is a port from branches/zip. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------------------ r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: White-space fixup. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6130 | marko | 2009-11-02 20:42:56 +1100 (Mon, 02 Nov 2009) | 9 lines branches/zip: Free all resources at shutdown. Set pointers to NULL, so that Valgrind will not complain about freed data structures that are reachable via pointers. This addresses Bug #45992 and Bug #46656. This patch is mostly based on changes copied from branches/embedded-1.0, mainly c5432, c3439, c3134, c2994, c2978, but also some other code was copied. Some added cleanup code is specific to MySQL/InnoDB. rb://199 approved by Sunny Bains ------------------------------------------------------------------------
2009-11-04 06:02:00 +00:00
Frees the data structures created in srv_init(). */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_free(void)
/*==========*/
{
os_fast_mutex_free(&srv_conc_mutex);
branches/innodb+: Merge revisions r5971:6130 from branches/zip. ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 23:03:51 +1000 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5972 | marko | 2009-09-24 05:44:52 +1000 (Thu, 24 Sep 2009) | 5 lines branches/zip: fil_node_open_file(): In InnoDB Hot Backup, determine the page size of single-file tablespaces before computing the file node size. Otherwise, the space->size of compressed tablespaces would be computed with UNIV_PAGE_SIZE instead of key_block_size. This should fix Issue #313. ------------------------------------------------------------------------ r5973 | marko | 2009-09-24 05:53:21 +1000 (Thu, 24 Sep 2009) | 2 lines branches/zip: recv_add_to_hash_table(): Simplify obfuscated pointer arithmetics. ------------------------------------------------------------------------ r5978 | marko | 2009-09-24 17:47:56 +1000 (Thu, 24 Sep 2009) | 1 line branches/zip: Fix warnings and errors when UNIV_HOTBACKUP is defined. ------------------------------------------------------------------------ r5979 | marko | 2009-09-24 20:16:10 +1000 (Thu, 24 Sep 2009) | 4 lines branches/zip: ha_innodb.cc: Define MYSQL_PLUGIN_IMPORT when necessary. This preprocessor symbol has been recently introduced in MySQL 5.1. The InnoDB Plugin should remain source compatible with MySQL 5.1.24 and later. ------------------------------------------------------------------------ r5988 | calvin | 2009-09-26 05:14:43 +1000 (Sat, 26 Sep 2009) | 8 lines branches/zip: fix bug#47055 unconditional exit(1) on ERROR_WORKING_SET_QUOTA 1453 (0x5AD) for InnoDB backend When error ERROR_WORKING_SET_QUOTA or ERROR_NO_SYSTEM_RESOURCES occurs, yields for 100ms and retries the operation. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5992 | vasil | 2009-09-28 17:10:29 +1000 (Mon, 28 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for c5988. ------------------------------------------------------------------------ r5994 | marko | 2009-09-28 18:33:59 +1000 (Mon, 28 Sep 2009) | 17 lines branches/zip: Try to prevent the reuse of tablespace identifiers after InnoDB has crashed during table creation. Also, refuse to start if files with duplicate tablespace identifiers are encountered. fil_node_create(): Update fil_system->max_assigned_id. This should prevent the reuse of a space->id when InnoDB does a full crash recovery and invokes fil_load_single_table_tablespaces(). Normally, fil_system->max_assigned_id is initialized from SELECT MAX(ID) FROM SYS_TABLES. fil_open_single_table_tablespace(): Return FALSE when fil_space_create() fails. fil_load_single_table_tablespace(): Exit if fil_space_create() fails and innodb_force_recovery=0. rb://173 approved by Heikki Tuuri. This addresses Issue #335. ------------------------------------------------------------------------ r5995 | marko | 2009-09-28 18:52:25 +1000 (Mon, 28 Sep 2009) | 17 lines branches/zip: Do not write to PAGE_INDEX_ID after page creation, not even when restoring an uncompressed page after a compression failure. btr_page_reorganize_low(): On compression failure, do not restore those page header fields that should not be affected by the reorganization. Instead, compare the fields. page_zip_decompress(): Add the parameter ibool all, for copying all page header fields. Pass the parameter all=TRUE on block read completion, redo log application, and page_zip_validate(); pass all=FALSE in all other cases. page_zip_reorganize(): Do not restore the uncompressed page on failure. It will be restored (to pre-modification state) by the caller anyway. rb://167, Issue #346 ------------------------------------------------------------------------ r5996 | marko | 2009-09-28 22:46:02 +1000 (Mon, 28 Sep 2009) | 4 lines branches/zip: Address Issue #350 in comments. lock_rec_queue_validate(), lock_rec_queue_validate(): Note that this debug code may violate the latching order and cause deadlocks. ------------------------------------------------------------------------ r5997 | marko | 2009-09-28 23:03:58 +1000 (Mon, 28 Sep 2009) | 12 lines branches/zip: Remove an assertion failure when the InnoDB data dictionary is inconsistent with the MySQL .frm file. ha_innobase::index_read(): When the index cannot be found, return an error. ha_innobase::change_active_index(): When prebuilt->index == NULL, set also prebuilt->index_usable = FALSE. This is not needed for correctness, because prebuilt->index_usable is only checked by row_search_for_mysql(), which requires prebuilt->index != NULL. This addresses Issue #349. Approved by Heikki Tuuri over IM. ------------------------------------------------------------------------ r6005 | vasil | 2009-09-29 18:09:52 +1000 (Tue, 29 Sep 2009) | 4 lines branches/zip: ChangeLog: wrap around 78th column, not earlier. ------------------------------------------------------------------------ r6006 | vasil | 2009-09-29 20:15:25 +1000 (Tue, 29 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for the release of 1.0.4. ------------------------------------------------------------------------ r6007 | vasil | 2009-09-29 23:19:59 +1000 (Tue, 29 Sep 2009) | 6 lines branches/zip: Fix the year, should be 2009. Pointed by: Calvin ------------------------------------------------------------------------ r6026 | marko | 2009-09-30 17:18:24 +1000 (Wed, 30 Sep 2009) | 1 line branches/zip: Add some debug assertions for checking FSEG_MAGIC_N. ------------------------------------------------------------------------ r6028 | marko | 2009-09-30 23:55:23 +1000 (Wed, 30 Sep 2009) | 3 lines branches/zip: recv_no_log_write: New debug flag for tracking down Mantis Issue #347. No modifications should be made to the database while recv_apply_hashed_log_recs() is about to complete. ------------------------------------------------------------------------ r6029 | calvin | 2009-10-01 06:32:02 +1000 (Thu, 01 Oct 2009) | 4 lines branches/zip: non-functional changes Fix typo. ------------------------------------------------------------------------ r6031 | marko | 2009-10-01 21:24:33 +1000 (Thu, 01 Oct 2009) | 49 lines branches/zip: Clean up after a crash during DROP INDEX. When InnoDB crashes while dropping an index, ensure that the index will be completely dropped during crash recovery. row_merge_drop_index(): Before dropping an index, rename the index to start with TEMP_INDEX_PREFIX_STR and commit the change, so that row_merge_drop_temp_indexes() will drop the index after crash recovery if the server crashes while dropping the index. fseg_inode_try_get(): New function, forked from fseg_inode_get(). Return NULL if the file segment index node is free. fseg_inode_get(): Assert that the file segment index node is not free. fseg_free_step(): If the file segment index node is already free, print a diagnostic message and return TRUE. fsp_free_seg_inode(): Write a nonzero number to FSEG_MAGIC_N, so that allocated-and-freed file segment index nodes can be better distinguished from uninitialized ones. This is rb://174, addressing Issue #348. Tested by restarting mysqld upon the completion of the added log_write_up_to() invocation below, during DROP INDEX. The index was dropped after crash recovery, and re-issuing the DROP INDEX did not crash the server. Index: btr/btr0btr.c =================================================================== --- btr/btr0btr.c (revision 6026) +++ btr/btr0btr.c (working copy) @@ -42,6 +42,7 @@ Created 6/2/1994 Heikki Tuuri #include "ibuf0ibuf.h" #include "trx0trx.h" +#include "log0log.h" /* Latching strategy of the InnoDB B-tree -------------------------------------- @@ -873,6 +874,8 @@ leaf_loop: goto leaf_loop; } + + log_write_up_to(mtr.end_lsn, LOG_WAIT_ALL_GROUPS, TRUE); top_loop: mtr_start(&mtr); ------------------------------------------------------------------------ r6033 | calvin | 2009-10-02 06:19:46 +1000 (Fri, 02 Oct 2009) | 4 lines branches/zip: fix a typo in error message Reported as bug#47763. ------------------------------------------------------------------------ r6043 | inaam | 2009-10-06 01:45:35 +1100 (Tue, 06 Oct 2009) | 12 lines branches/zip rb://176 Do not invalidate buffer pool while an LRU batch is active. Added code to buf_pool_invalidate() to wait for the running batches to finish. This patch also resets the state of buf_pool struct at invalidation. This addresses the concern where buf_pool->freed_page_clock becomes non-zero because we read in a system tablespace page for file format info at startup. Approved by: Marko ------------------------------------------------------------------------ r6044 | pekka | 2009-10-07 01:44:54 +1100 (Wed, 07 Oct 2009) | 5 lines branches/zip: Add os_file_is_same() function for Hot Backup (inside ifdef UNIV_HOTBACKUP). This is part of the fix for Issue #186. Note! The Windows implementation is incomplete. ------------------------------------------------------------------------ r6046 | pekka | 2009-10-08 20:24:56 +1100 (Thu, 08 Oct 2009) | 3 lines branches/zip: Revert r6044 which added os_file_is_same() function (issue#186). This functionality is moved to Hot Backup source tree. ------------------------------------------------------------------------ r6048 | vasil | 2009-10-09 16:42:55 +1100 (Fri, 09 Oct 2009) | 16 lines branches/zip: When scanning a directory readdir() is called and stat() after it, if a file is deleted between the two calls stat will fail and the whole precedure will fail. Change this behavior to continue with the next entry if stat() fails because of nonexistent file. This is transparent change as it will make it look as if the file was deleted before the readdir() call. This change is needed in order to fix https://svn.innodb.com/mantis/view.php?id=174 in which we need to abort if os_file_readdir_next_file() encounters "real" errors. Approved by: Marko, Pekka (rb://177) ------------------------------------------------------------------------ r6049 | vasil | 2009-10-10 03:05:26 +1100 (Sat, 10 Oct 2009) | 7 lines branches/zip: Fix compilation warning in Hot Backup: innodb/fil/fil0fil.c: In function 'fil_load_single_table_tablespace': innodb/fil/fil0fil.c:3253: warning: format '%lld' expects type 'long long int', but argument 6 has type 'ib_int64_t' ------------------------------------------------------------------------ r6064 | calvin | 2009-10-14 02:23:35 +1100 (Wed, 14 Oct 2009) | 4 lines branches/zip: non-functional changes Changes from MySQL to fix build issue. ------------------------------------------------------------------------ r6065 | inaam | 2009-10-14 04:43:13 +1100 (Wed, 14 Oct 2009) | 7 lines branches/zip rb://182 Call fsync() on datafiles after a batch of pages is written to disk even when skip_innodb_doublewrite is set. Approved by: Heikki ------------------------------------------------------------------------ r6080 | sunny | 2009-10-15 09:29:01 +1100 (Thu, 15 Oct 2009) | 3 lines branches/zip: Change page_mem_alloc_free() to inline. Fix Bug #47058 - Failure to compile innodb_plugin on solaris 10u7 + spro cc/CC 5.10 ------------------------------------------------------------------------ r6084 | vasil | 2009-10-15 16:21:17 +1100 (Thu, 15 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6080. ------------------------------------------------------------------------ r6095 | vasil | 2009-10-20 00:04:59 +1100 (Tue, 20 Oct 2009) | 7 lines branches/zip: Fix Bug#47808 innodb_information_schema.test fails when run under valgrind by using the wait_until_rows_count macro that loops until the number of rows becomes 14 instead of sleep 0.1, which is obviously very fragile. ------------------------------------------------------------------------ r6096 | vasil | 2009-10-20 00:06:09 +1100 (Tue, 20 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6095. ------------------------------------------------------------------------ r6099 | jyang | 2009-10-22 13:58:39 +1100 (Thu, 22 Oct 2009) | 7 lines branches/zip: Port bug #46000 related changes from 5.1 to zip branch. Due to different code path for creating index in zip branch comparing to 5.1), the index reserved name check function is extended to be used in ha_innobase::add_index(). rb://190 Approved by: Marko ------------------------------------------------------------------------ r6100 | jyang | 2009-10-22 14:51:07 +1100 (Thu, 22 Oct 2009) | 6 lines branches/zip: As a request from mysql, WARN_LEVEL_ERROR cannot be used for push_warning_* call any more. Switch to WARN_LEVEL_WARN. Bug #47233. rb://172 approved by Sunny Bains and Marko. ------------------------------------------------------------------------ r6101 | jyang | 2009-10-23 19:45:50 +1100 (Fri, 23 Oct 2009) | 7 lines branches/zip: Update test result with the WARN_LEVEL_ERROR to WARN_LEVEL_WARN change. This is the same result as submitted in rb://172 review, which approved by Sunny Bains and Marko. ------------------------------------------------------------------------ r6102 | marko | 2009-10-26 18:32:23 +1100 (Mon, 26 Oct 2009) | 1 line branches/zip: row_prebuilt_struct::prebuilts: Unused field, remove. ------------------------------------------------------------------------ r6103 | marko | 2009-10-27 00:46:18 +1100 (Tue, 27 Oct 2009) | 4 lines branches/zip: row_ins_alloc_sys_fields(): Zero out the system columns DB_TRX_ID, DB_ROLL_PTR and DB_ROW_ID, in order to avoid harmless Valgrind warnings about uninitialized data. (The warnings were harmless, because the fields would be initialized at a later stage.) ------------------------------------------------------------------------ r6105 | calvin | 2009-10-28 09:05:52 +1100 (Wed, 28 Oct 2009) | 6 lines branches/zip: backport r3848 from 6.0 branch ---- branches/6.0: innobase_start_or_create_for_mysql(): Make the 10 MB minimum tablespace limit independent of UNIV_PAGE_SIZE. (Bug #41490) ------------------------------------------------------------------------ r6107 | marko | 2009-10-29 01:10:34 +1100 (Thu, 29 Oct 2009) | 5 lines branches/zip: buf_page_set_old(): Improve UNIV_LRU_DEBUG diagnostics in order to catch the buf_pool->LRU_old corruption reported in Issue #381. buf_LRU_old_init(): Set the property from the tail towards the front of the buf_pool->LRU list, in order not to trip the debug check. ------------------------------------------------------------------------ r6108 | calvin | 2009-10-29 16:58:04 +1100 (Thu, 29 Oct 2009) | 5 lines branches/zip: close file handle when building with UNIV_HOTBACKUP The change does not affect regular InnoDB engine. Confirmed by Marko. ------------------------------------------------------------------------ r6109 | jyang | 2009-10-29 19:37:32 +1100 (Thu, 29 Oct 2009) | 7 lines branches/zip: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------------------ r6110 | marko | 2009-10-29 21:44:57 +1100 (Thu, 29 Oct 2009) | 2 lines branches/zip: Makefile.am (INCLUDES): Merge a change from MySQL: Use $(srcdir)/include instead of $(top_srcdir)/storage/innobase/include. ------------------------------------------------------------------------ r6111 | marko | 2009-10-29 22:04:11 +1100 (Thu, 29 Oct 2009) | 33 lines branches/zip: Fix corruption of buf_pool->LRU_old and improve debug assertions. This was reported as Issue #381. buf_page_set_old(): Assert that blocks may only be set old if buf_pool->LRU_old is initialized and buf_pool->LRU_old_len is nonzero. Assert that buf_pool->LRU_old points to the block at the old/new boundary. buf_LRU_old_adjust_len(): Invoke buf_page_set_old() after adjusting buf_pool->LRU_old and buf_pool->LRU_old_len, in order not to violate the added assertions. buf_LRU_old_init(): Replace buf_page_set_old() with a direct assignment to bpage->old, because these loops that initialize all the blocks would temporarily violate the assertions about buf_pool->LRU_old. buf_LRU_remove_block(): When setting buf_pool->LRU_old = NULL, also clear all bpage->old flags and set buf_pool->LRU_old_len = 0. buf_LRU_add_block_to_end_low(), buf_LRU_add_block_low(): Move the buf_page_set_old() call later in order not to violate the debug assertions. If buf_pool->LRU_old is NULL, set old=FALSE. buf_LRU_free_block(): Replace the UNIV_LRU_DEBUG assertion with a dummy buf_page_set_old() call that performs more thorough checks. buf_LRU_validate(): Do not tolerate garbage in buf_pool->LRU_old_len even if buf_pool->LRU_old is NULL. Check that bpage->old is monotonic. buf_relocate(): Make the UNIV_LRU_DEBUG checks stricter. buf0buf.h: Revise the documentation of buf_page_t::old and buf_pool_t::LRU_old_len. ------------------------------------------------------------------------ r6112 | calvin | 2009-10-30 01:21:15 +1100 (Fri, 30 Oct 2009) | 4 lines branches/zip: consideration for icc compilers Proposed by MySQL, and approved by Marko. ------------------------------------------------------------------------ r6113 | vasil | 2009-10-30 03:15:50 +1100 (Fri, 30 Oct 2009) | 93 lines branches/zip: Merge r5912:6112 from branches/5.1: (after this merge the innodb-autoinc test starts to fail, but I commit anyway because it would be easier to investigate the failure this way) ------------------------------------------------------------------------ r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#42383: Can't create table 'test.bug39438' For embedded server, MySQL may pass in full path, which is currently disallowed. It is needed to relax the condition by accepting full paths in the embedded case. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix Bug#38996 Race condition in ANALYZE TABLE by serializing ANALYZE TABLE inside InnoDB. Approved by: Heikki (rb://175) ------------------------------------------------------------------------ r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug47777.result A /branches/5.1/mysql-test/innodb_bug47777.test branches/5.1: Fix bug #47777. Treat the Geometry data same as Binary BLOB in ha_innobase::store_key_val_for_row(), since the Geometry data is stored as Binary BLOB in Innodb. Review: rb://180 approved by Marko Makela. ------------------------------------------------------------------------ r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Ignore negative values supplied by the user when calculating the next value to store in dict_table_t. Setting autoincrement columns top negative values is undefined behavior and this change should bring the behavior of InnoDB closer to what users expect. Added several tests to check. rb://162 ------------------------------------------------------------------------ r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix the test results too. rb://164 ------------------------------------------------------------------------ r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Copy the maximum AUTOINC value from the old table to the new table when MySQL does a CREATE INDEX ON T. This is required because MySQL does a table copy, rename and drops the old table. Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb rb://168 ------------------------------------------------------------------------ r6076 | vasil | 2009-10-14 19:30:12 +0300 (Wed, 14 Oct 2009) | 4 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.1: Fix typo. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6114 | vasil | 2009-10-30 03:43:51 +1100 (Fri, 30 Oct 2009) | 6 lines branches/zip: * Add ChangeLog entries for latest changes * Obey alphabetical order in the list of the files * White-space fixup ------------------------------------------------------------------------ r6121 | sunny | 2009-10-30 10:42:11 +1100 (Fri, 30 Oct 2009) | 7 lines branches/zip: This test has been problematic for sometime now. The underlying bug is that the data dictionaries get out of sync. In the AUTOINC code we try and apply salve to the symptoms. In the past MySQL made some unrelated change and the dictionaries stopped getting out of sync and this test started to fail. Now, it seems they have reverted that changed and the test is passing again. I suspect this is not he last time that this test will change. ------------------------------------------------------------------------ r6124 | jyang | 2009-10-30 19:02:31 +1100 (Fri, 30 Oct 2009) | 5 lines branches/zip: Correct the bug number for -r6109 change from # 48273 to #48237 ------------------------------------------------------------------------ r6126 | vasil | 2009-10-30 19:36:07 +1100 (Fri, 30 Oct 2009) | 45 lines branches/zip: Merge r6112:6125 from branches/5.1: (skipping r6122 and r6123, Jimmy says these are already present and need not be merged): ------------------------------------------------------------------------ r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug44369.result M /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/mysql-test/innodb_bug46000.result M /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN for push_warning_printf() call in innodb. Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR) rb://170 approved by Marko. ------------------------------------------------------------------------ r6123 | jyang | 2009-10-30 05:43:06 +0200 (Fri, 30 Oct 2009) | 8 lines Changed paths: M /branches/5.1/os/os0proc.c branches/5.1: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. This is a port from branches/zip. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------------------ r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: White-space fixup. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6130 | marko | 2009-11-02 20:42:56 +1100 (Mon, 02 Nov 2009) | 9 lines branches/zip: Free all resources at shutdown. Set pointers to NULL, so that Valgrind will not complain about freed data structures that are reachable via pointers. This addresses Bug #45992 and Bug #46656. This patch is mostly based on changes copied from branches/embedded-1.0, mainly c5432, c3439, c3134, c2994, c2978, but also some other code was copied. Some added cleanup code is specific to MySQL/InnoDB. rb://199 approved by Sunny Bains ------------------------------------------------------------------------
2009-11-04 06:02:00 +00:00
mem_free(srv_conc_slots);
srv_conc_slots = NULL;
mem_free(srv_sys->threads);
mem_free(srv_sys);
srv_sys = NULL;
mem_free(kernel_mutex_temp);
kernel_mutex_temp = NULL;
mem_free(srv_mysql_table);
srv_mysql_table = NULL;
trx_i_s_cache_free(trx_i_s_cache);
2005-10-27 07:29:40 +00:00
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Initializes the synchronization primitives, memory system, and the thread
local storage. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_general_init(void)
/*==================*/
{
branches/innodb+: Merge revisions 4150:4528 from branches/zip: ------------------------------------------------------------------------ r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: When innodb_use_sys_malloc is set, ignore innodb_additional_mem_pool_size, because nothing will be allocated from mem_comm_pool. mem_pool_create(): Remove the assertion about size. The function will work with any size. However, an assertion would fail in ut_malloc_low() when size==0. mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create(). mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c. ------------------------------------------------------------------------ r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines branches/zip: (followup to r4145) Non-functional change: Change the os_atomic_increment() and os_compare_and_swap() functions to macros to avoid artificial limitations on the types of those functions' arguments. As a consequence typecasts from the source code can be removed. Also remove Google's copyright from os0sync.ic because that file no longer contains code from Google. Approved by: Marko (rb://88), also ok from Inaam via IM ------------------------------------------------------------------------ r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Make innodb_thread_concurrency=0 the default. The old default was 8. ------------------------------------------------------------------------ r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines branches/zip: Adjust the result file of innodb_thread_concurrency_basic test. The default value of innodb_thread_concurrency is changed to 0 (from 8) via r4163. ------------------------------------------------------------------------ r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines branches/zip: Fix pathname of the file to patch. ------------------------------------------------------------------------ r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines branches/zip: Fix the failing mysql-test partition_innodb, which failed only if run after innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into the output of SHOW ENGINE INNODB STATUS). Find further explanation for the failure at the top of the added patch partition_innodb.diff. ------------------------------------------------------------------------ r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: Add the full text of the GPLv2 license into the root directory of the plugin. In previous releases this file was copied from an external source (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when creating the source and binary archives. It is less confusing to have this present in the root directory of the SVN branch. ------------------------------------------------------------------------ r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add Google's license into COPYING.Google. ------------------------------------------------------------------------ r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines branches/zip: To the files touched by the Google patch from c4144 (excluding include/os0sync.ic because later we removed Google code from that file): * Remove the Google license * Remove old Innobase copyright lines * Add a reference to the Google license and to the GPLv2 license at the top, as recommended by the lawyers at Oracle Legal. ------------------------------------------------------------------------ r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 1/28] ------------------------------------------------------------------------ r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 2/28] ------------------------------------------------------------------------ r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 3/28] ------------------------------------------------------------------------ r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 4/28] ------------------------------------------------------------------------ r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 5/28] ------------------------------------------------------------------------ r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 6/28] ------------------------------------------------------------------------ r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 7/28] ------------------------------------------------------------------------ r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 8/28] ------------------------------------------------------------------------ r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 9/28] ------------------------------------------------------------------------ r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 10/28] ------------------------------------------------------------------------ r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 11/28] ------------------------------------------------------------------------ r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 12/28] ------------------------------------------------------------------------ r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 13/28] ------------------------------------------------------------------------ r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 15/28] ------------------------------------------------------------------------ r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 16/28] ------------------------------------------------------------------------ r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 17/28] ------------------------------------------------------------------------ r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 18/28] ------------------------------------------------------------------------ r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 19/28] ------------------------------------------------------------------------ r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 20/28] ------------------------------------------------------------------------ r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 21/28] ------------------------------------------------------------------------ r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 22/28] ------------------------------------------------------------------------ r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 23/28] ------------------------------------------------------------------------ r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 24/28] ------------------------------------------------------------------------ r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 25/28] ------------------------------------------------------------------------ r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 26/28] ------------------------------------------------------------------------ r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 27/28] ------------------------------------------------------------------------ r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines branches/zip: * Remove old Innobase copyright lines from C source files * Add a reference to the GPLv2 license as recommended by the lawyers at Oracle Legal [Step 28/28] ------------------------------------------------------------------------ r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines branches/zip: Add the copyright notice to the non C files. ------------------------------------------------------------------------ r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines Minor cleanup of the Google SMP patch. sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning about the return value of os_atomic_increment() being ignored. rw_lock_create_func(): Properly indent the preprocessor directives. rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly. rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning. Do not mix statements and variable declarations. ------------------------------------------------------------------------ r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines branches/zip: When assigning lock->recursive = FALSE, also flag lock->writer_thread invalid, so that Valgrind will catch more errors. This is related to Issue #175. ------------------------------------------------------------------------ r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning about a while(0); statement. This should fix (part of) Issue #176. ------------------------------------------------------------------------ r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning about an empty body of a "for" statement. This fixes part of Issue #176. ------------------------------------------------------------------------ r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines branches/zip: Protect ut_total_allocated_memory with ut_list_mutex. Unprotected updates to ut_total_allocated_memory in os_mem_alloc_large() and os_mem_free_large(), called during fast index creation, may corrupt the variable and cause assertion failures. Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can detect more errors. rb://90 approved by Heikki Tuuri. This addresses Issue #177. ------------------------------------------------------------------------ r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning about an empty body in a "for" statement. This closes Issue #176. ------------------------------------------------------------------------ r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines branches/zip: Issue #178 rb://91 Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that both .c and .cc files get compiled with same flags. To fix the issue where UNIV_LINUX was defined only in .c files. Approved by: Marko ------------------------------------------------------------------------ r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Cleanup in ChangeLog: * Wrap lines at 78 characters * Changed files are listed alphabetically * White-space cleanup ------------------------------------------------------------------------ r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines branches/zip: ChangeLog: Remove include/os0sync.ic from the entry about the google patch, this file was modified later to not include Google's code. ------------------------------------------------------------------------ r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines branches/zip: Merge revisions 4035:4261 from branches/5.1: ------------------------------------------------------------------------ r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC is only defined for integer columns. This caused an assertion failure when we checked for the maximum value of a column type. We now calculate the max value for floating-point autoinc columns too. Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns rb://84 and Mantis issue://162 ------------------------------------------------------------------------ r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add the ULL suffix otherwise there is an overflow. ------------------------------------------------------------------------ r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2709.20.31 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2008-12-19 01:28:51 +0100 message: Disable part of innodb-autoinc.test, because the MySQL server asserts when compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and increment > 1". This change should be reverted when that bug is fixed (and a a few other minor changes to the test as described in comments). modified: mysql-test/r/innodb-autoinc.result mysql-test/t/innodb-autoinc.test ------------------------------------------------------------------------ r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Merge a change from MySQL: [looks like the changes to innodb-autoinc.test were made as part of the following huge merge, but we are merging only changes to that file] ------------------------------------------------------------ revno: 2546.47.1 committer: Luis Soares <luis.soares@sun.com> branch nick: 5.1-rpl timestamp: Fri 2009-01-23 13:22:05 +0100 message: merge: 5.1 -> 5.1-rpl conflicts: Text conflict in client/mysqltest.cc Text conflict in mysql-test/include/wait_until_connected_again.inc Text conflict in mysql-test/lib/mtr_report.pm Text conflict in mysql-test/mysql-test-run.pl Text conflict in mysql-test/r/events_bugs.result Text conflict in mysql-test/r/log_state.result Text conflict in mysql-test/r/myisam_data_pointer_size_func.result Text conflict in mysql-test/r/mysqlcheck.result Text conflict in mysql-test/r/query_cache.result Text conflict in mysql-test/r/status.result Text conflict in mysql-test/suite/binlog/r/binlog_index.result Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_packet.result Text conflict in mysql-test/suite/rpl/t/rpl_packet.test Text conflict in mysql-test/t/disabled.def Text conflict in mysql-test/t/events_bugs.test Text conflict in mysql-test/t/log_state.test Text conflict in mysql-test/t/myisam_data_pointer_size_func.test Text conflict in mysql-test/t/mysqlcheck.test Text conflict in mysql-test/t/query_cache.test Text conflict in mysql-test/t/rpl_init_slave_func.test Text conflict in mysql-test/t/status.test removed: mysql-test/suite/parts/r/partition_bit_ndb.result mysql-test/suite/parts/t/partition_bit_ndb.test mysql-test/suite/parts/t/partition_sessions.test mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test mysql-test/t/log_bin_trust_function_creators_func-master.opt mysql-test/t/rpl_init_slave_func-slave.opt added: mysql-test/include/check_events_off.inc mysql-test/include/cleanup_fake_relay_log.inc mysql-test/include/have_simple_parser.inc mysql-test/include/no_running_event_scheduler.inc mysql-test/include/no_running_events.inc mysql-test/include/running_event_scheduler.inc mysql-test/include/setup_fake_relay_log.inc mysql-test/include/wait_condition_sp.inc mysql-test/r/fulltext_plugin.result mysql-test/r/have_simple_parser.require mysql-test/r/innodb_bug38231.result mysql-test/r/innodb_bug39438.result mysql-test/r/innodb_mysql_rbk.result mysql-test/r/partition_innodb_semi_consistent.result mysql-test/r/query_cache_28249.result mysql-test/r/status2.result mysql-test/std_data/bug40482-bin.000001 mysql-test/suite/binlog/r/binlog_innodb_row.result mysql-test/suite/binlog/t/binlog_innodb_row.test mysql-test/suite/rpl/r/rpl_binlog_corruption.result mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt mysql-test/suite/rpl/t/rpl_binlog_corruption.test mysql-test/suite/sys_vars/r/tmp_table_size_basic.result mysql-test/suite/sys_vars/t/tmp_table_size_basic.test mysql-test/t/fulltext_plugin-master.opt mysql-test/t/fulltext_plugin.test mysql-test/t/innodb_bug38231.test mysql-test/t/innodb_bug39438-master.opt mysql-test/t/innodb_bug39438.test mysql-test/t/innodb_mysql_rbk-master.opt mysql-test/t/innodb_mysql_rbk.test mysql-test/t/partition_innodb_semi_consistent-master.opt mysql-test/t/partition_innodb_semi_consistent.test mysql-test/t/query_cache_28249.test mysql-test/t/status2.test renamed: mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test modified: .bzr-mysql/default.conf CMakeLists.txt client/mysql.cc client/mysql_upgrade.c client/mysqlcheck.c client/mysqltest.cc configure.in extra/resolve_stack_dump.c extra/yassl/include/openssl/ssl.h include/config-win.h include/m_ctype.h include/my_global.h mysql-test/extra/binlog_tests/database.test mysql-test/extra/rpl_tests/rpl_auto_increment.test mysql-test/include/commit.inc mysql-test/include/have_32bit.inc mysql-test/include/have_64bit.inc mysql-test/include/index_merge1.inc mysql-test/include/linux_sys_vars.inc mysql-test/include/windows_sys_vars.inc mysql-test/lib/mtr_report.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/commit_1innodb.result mysql-test/r/create.result mysql-test/r/csv.result mysql-test/r/ctype_ucs.result mysql-test/r/date_formats.result mysql-test/r/events_bugs.result mysql-test/r/events_scheduling.result mysql-test/r/fulltext.result mysql-test/r/func_if.result mysql-test/r/func_in.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/grant.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb-autoinc.result mysql-test/r/innodb.result mysql-test/r/innodb_mysql.result mysql-test/r/log_bin_trust_function_creators_func.result mysql-test/r/log_state.result mysql-test/r/myisampack.result mysql-test/r/mysql.result mysql-test/r/mysqlcheck.result mysql-test/r/partition_datatype.result mysql-test/r/partition_mgm.result mysql-test/r/partition_pruning.result mysql-test/r/query_cache.result mysql-test/r/read_buffer_size_basic.result mysql-test/r/read_rnd_buffer_size_basic.result mysql-test/r/rpl_init_slave_func.result mysql-test/r/select.result mysql-test/r/status.result mysql-test/r/strict.result mysql-test/r/temp_table.result mysql-test/r/type_bit.result mysql-test/r/type_date.result mysql-test/r/type_float.result mysql-test/r/warnings_engine_disabled.result mysql-test/r/xml.result mysql-test/suite/binlog/r/binlog_database.result mysql-test/suite/binlog/r/binlog_index.result mysql-test/suite/binlog/r/binlog_innodb.result mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result mysql-test/suite/binlog/t/binlog_innodb.test mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/is_engines.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/funcs_1/storedproc/param_check.inc mysql-test/suite/funcs_2/t/disabled.def mysql-test/suite/ndb/t/disabled.def mysql-test/suite/parts/r/partition_bit_innodb.result mysql-test/suite/parts/r/partition_bit_myisam.result mysql-test/suite/parts/r/partition_special_innodb.result mysql-test/suite/parts/t/disabled.def mysql-test/suite/parts/t/partition_special_innodb.test mysql-test/suite/parts/t/partition_value_innodb.test mysql-test/suite/parts/t/partition_value_myisam.test mysql-test/suite/parts/t/partition_value_ndb.test mysql-test/suite/rpl/r/rpl_auto_increment.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_slave_skip.result mysql-test/suite/rpl/r/rpl_trigger.result mysql-test/suite/rpl/t/disabled.def mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_slave_skip.test mysql-test/suite/rpl/t/rpl_trigger.test mysql-test/suite/rpl_ndb/t/disabled.def mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/alter_table.test mysql-test/t/create.test mysql-test/t/csv.test mysql-test/t/ctype_ucs.test mysql-test/t/date_formats.test mysql-test/t/disabled.def mysql-test/t/events_bugs.test mysql-test/t/events_scheduling.test mysql-test/t/fulltext.test mysql-test/t/func_if.test mysql-test/t/func_in.test mysql-test/t/func_str.test mysql-test/t/func_time.test mysql-test/t/grant.test mysql-test/t/information_schema.test mysql-test/t/innodb-autoinc.test mysql-test/t/innodb.test mysql-test/t/innodb_mysql.test mysql-test/t/log_bin_trust_function_creators_func.test mysql-test/t/log_state.test mysql-test/t/myisam_data_pointer_size_func.test mysql-test/t/myisampack.test mysql-test/t/mysql.test mysql-test/t/mysqlcheck.test mysql-test/t/partition_innodb_stmt.test mysql-test/t/partition_mgm.test mysql-test/t/partition_pruning.test mysql-test/t/query_cache.test mysql-test/t/rpl_init_slave_func.test mysql-test/t/select.test mysql-test/t/status.test mysql-test/t/strict.test mysql-test/t/temp_table.test mysql-test/t/type_bit.test mysql-test/t/type_date.test mysql-test/t/type_float.test mysql-test/t/warnings_engine_disabled.test mysql-test/t/xml.test mysys/my_getopt.c mysys/my_init.c scripts/mysql_install_db.sh sql-common/my_time.c sql/field.cc sql/field.h sql/filesort.cc sql/ha_partition.cc sql/ha_partition.h sql/item.cc sql/item_cmpfunc.cc sql/item_func.h sql/item_strfunc.cc sql/item_sum.cc sql/item_timefunc.cc sql/item_timefunc.h sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/mysql_priv.h sql/mysqld.cc sql/opt_range.cc sql/partition_info.cc sql/repl_failsafe.cc sql/rpl_constants.h sql/set_var.cc sql/slave.cc sql/spatial.h sql/sql_acl.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_delete.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_locale.cc sql/sql_parse.cc sql/sql_partition.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_profile.cc sql/sql_repl.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_trigger.h sql/table.cc sql/table.h sql/unireg.cc storage/csv/ha_tina.cc storage/federated/ha_federated.cc storage/heap/ha_heap.cc storage/innobase/Makefile.am storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0lru.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/include/btr0sea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0mem.h storage/innobase/include/ha_prototypes.h storage/innobase/include/lock0lock.h storage/innobase/include/row0mysql.h storage/innobase/include/sync0sync.ic storage/innobase/include/ut0ut.h storage/innobase/lock/lock0lock.c storage/innobase/os/os0file.c storage/innobase/plug.in storage/innobase/row/row0mysql.c storage/innobase/row/row0sel.c storage/innobase/srv/srv0srv.c storage/innobase/srv/srv0start.c storage/innobase/ut/ut0ut.c storage/myisam/ft_boolean_search.c strings/ctype.c strings/xml.c tests/mysql_client_test.c win/configure.js mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test ------------------------------------------------------------------------ r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: minor non-functional changes. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines branches/zip: Add a ChangeLog entry for a change in r4262. ------------------------------------------------------------------------ r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines branches/zip: Make innodb_use_sys_malloc=ON the default. Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc) to improve branch prediction in the default case. Approved by Ken over the IM. ------------------------------------------------------------------------ r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines branches/zip: Add a sentence at the top of COPYING.Google to clarify that this license does not apply to the whole InnoDB. Suggested by: Ken ------------------------------------------------------------------------ r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines branches/zip: Initialize ut_list_mutex at startup. Without this fix, ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1. This fix addresses Issue #181. ut_mem_block_list_init(): Rename to ut_mem_init() and make public. ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited). mem_init(): Call ut_mem_init(). ------------------------------------------------------------------------ r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in FIL_PAGE_TYPE. (Bug #43043, Issue #182) btr_check_blob_fil_page_type(): New function. btr_free_externally_stored_field(), btr_copy_blob_prefix(): Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE. ------------------------------------------------------------------------ r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion. btr_check_blob_fil_page_type(): Replace the parameter const char* op with ibool read. Do not print anything about page type mismatch when reading a BLOB page in Antelope format. Print space id before page number. ------------------------------------------------------------------------ r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited. ------------------------------------------------------------------------ r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines branches/zip: Fix bugs in the fix of Issue #181. Tested inside and outside Valgrind, with innodb_use_sys_malloc set to 0 and 1. mem_init(): Invoke ut_mem_init() before mem_pool_create(), because the latter one will invoke ut_malloc(). srv_general_init(): Do not initialize the memory subsystem (mem_init()). innobase_init(): Initialize the memory subsystem (mem_init()) before calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc(). Call ut_free_all_mem() in error handling to clean up after the mem_init(). ------------------------------------------------------------------------ r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove unused function os_mem_alloc_nocache(). ------------------------------------------------------------------------ r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: Remove the unused function dict_index_get_type(). ------------------------------------------------------------------------ r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h". ------------------------------------------------------------------------ r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h". ------------------------------------------------------------------------ r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines branches/zip: Merge revisions 4261:4287 from branches/5.1: ------------------------------------------------------------------------ r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two changes to the autoinc handling. 1. To fix the immediate problem from the bug report, we must ensure that the value written to the table is always less than the max value stored in dict_table_t. 2. The second related change is that according to MySQL documentation when the offset is greater than the increment, we should ignore the offset. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the fix in r4288. ------------------------------------------------------------------------ r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines branches/zip: Make ChangeLog entries for bugs in bugs.mysql.com in the form: Fix Bug#12345 bug title (for bugs after 1.0.2 was released and the ChangeLog published) There is no need to bloat the ChangeLog with information that is available via bugs.mysql.com. Discussed with: Marko ------------------------------------------------------------------------ r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: Fix Bug synopsis and remove explanation ------------------------------------------------------------------------ r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines branches/zip: Correct the initialization of the memory subsystem once again, to finally put Issue #181 to rest. Revert some parts of r4274. It is best not to call ut_malloc() before srv_general_init(). mem_init(): Do not call ut_mem_init(). srv_general_init(): Initialize the memory subsystem in two phases: first ut_mem_init(), then mem_init(). This is because os_sync_init() and sync_init() depend on ut_mem_init() and mem_init() depends on os_sync_init() or sync_init(). srv_parse_data_file_paths_and_sizes(), srv_parse_log_group_home_dirs(): Remove the output parameters. Assign to the global variables directly. Allocate memory with malloc() instead of ut_malloc(), because these functions will be called before srv_general_init(). srv_free_paths_and_sizes(): New function, for cleaning up after srv_parse_data_file_paths_and_sizes() and srv_parse_log_group_home_dirs(). rb://92 approved by Sunny Bains ------------------------------------------------------------------------ r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines branches/zip: White-space cleanup in the ChangeLog ------------------------------------------------------------------------ r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines branches/zip: Do not output the commands that restore the environment because they depend on the state of the environment before the test starts executing. ------------------------------------------------------------------------ r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines branches/zip: Apply any necessary patches to the mysql tree at the end of setup.sh This step was previously done manually (and sometimes forgotten). ------------------------------------------------------------------------ r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines branches/zip: btr_check_blob_fil_page_type(): Do not report FIL_PAGE_TYPE mismatch even when purging a BLOB. Heavy users may have large data files created with MySQL 5.0 or earlier, and they don not want to have the error log flooded with such messages. This fixes Issue #182. ------------------------------------------------------------------------ r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines branches/zip This is to revert the changes made to the plug.in (r4251) as a fix for issue# 178. Changes to plug.in will not propogate to a plugin installation unless autotools are rerun which is unacceptable. A fix for issue# 178 will be committed in a separate commit. ------------------------------------------------------------------------ r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines branches/zip This is a fix for issue#178. Instead of using UNIV_LINUX which is defined through CFLAGS we use compiler generated define __linux__ that is effective for both .c and .cc files. ------------------------------------------------------------------------ r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines branches/zip: Add FreeBSD to the list of the operating systems that have sizeof(pthread_t) == sizeof(void*) (i.e. word size). On FreeBSD pthread_t is defined like: /usr/include/sys/_pthreadtypes.h: typedef struct pthread *pthread_t; I did the following tests (per Inaam's recommendation): a) appropriate version of GCC is available on that platform (4.1.2 or higher for atomics to be available) On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default one is 4.2.1. One can always install the version of choice from the ports collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be defined and thus the change I am committing will make no difference. b) find out if sizeof(pthread_t) == sizeof(long) On 32 bit both are 4 bytes, on 64 bit both are 8 bytes. c) find out the compiler generated platform define (e.g.: __aix, __sunos__ etc.) The macro is __FreeBSD__. d) patch univ.i with the appropriate platform define e) build the mysql f) ensure it is using atomic builtins (look at the err.log message at system startup. It should say we are using atomics for both mutexes and rw-locks) g) do sanity testing (keeping in view the smp changes) I ran the mysql-test suite. All tests pass. ------------------------------------------------------------------------ r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines branches/zip: As suggested by Ken, print a message that says that the Google SMP patch (GCC atomics) is disabled if it is. Also extend the message when the patch is partially enabled to make it clear that it is partially enabled. ------------------------------------------------------------------------ r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Fix typo made in r4353. ------------------------------------------------------------------------ r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Implement a check whether pthread_t objects can be used by GCC atomic builtin functions. This check is implemented in plug.in and defines the macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the relevant part of the code enabled (the one that uses GCC atomics against pthread_t objects). In addition to this, the same program that is compiled as part of the plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source archives that are shipped to the users, a generated Makefile.in is added. That Makefile.in will be modified to compile ut/ut0auxconf.c and define the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e. Makefile.in will emulate the work that is done by plug.in. This is done in order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually defined without regenerating MySQL's ./configure from ./storage/innobase/plug.in. The point is not to ask users to install the autotools and regenerate ./configure. rb://95 Approved by: Marko ------------------------------------------------------------------------ r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines branches/zip: Merge revisions 4287:4357 from branches/5.1: ------------------------------------------------------------------------ r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv It was not a SIGSEGV but an assertion failure. The assertion was checking the invariant that *first_value passed in by MySQL doesn't contain a value that is greater than the max value for that type. The assertion has been changed to a check and if the value is greater than the max we report a generic AUTOINC failure. rb://93 Approved by Heikki ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict): ------------------------------------------------------------------------ r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.19.1 committer: Alfranio Correia <alfranio.correia@sun.com> branch nick: mysql-5.1-bugteam timestamp: Tue 2009-02-03 11:36:46 +0000 message: BUG#42445 Warning messages in innobase/handler/ha_innodb.cc There was a type casting problem in the storage/innobase/handler/ha_innodb.cc, (int ha_innobase::write_row(...)). Innobase uses has an internal error variable of type 'ulint' while mysql uses an 'int'. To fix the problem the function manipulates an error variable of type 'ulint' and only casts it into 'int' when needs to return the value. modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines branches/zip: Merge revision 4359 from branches/5.1: ------------------------------------------------------------------------ r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2747 committer: Timothy Smith <timothy.smith@sun.com> branch nick: 51 timestamp: Fri 2009-01-16 17:49:07 +0100 message: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 modified: storage/innobase/handler/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines branches/zip: Add ChangeLog entry for the bugfix in c4360. ------------------------------------------------------------------------ r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin The dynamic plugin on Windows used to be built with MYSQL_SERVER compile flag, while it is not the case for other platforms. r3797 assumed MYSQL_SERVER was not defined for dynamic plugin, which introduced the engine crash during dropping a database. ------------------------------------------------------------------------ r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE in a separate redo log entry. This will make ibbackup --apply-log debugging easier. ------------------------------------------------------------------------ r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change, initialize FIL_PAGE_TYPE. This will make it easier to write the debug assertions for ibbackup --apply-log. ------------------------------------------------------------------------ r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines branches/zip: Merge revisions 4359:4400 from branches/5.1: ------------------------------------------------------------------------ r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position also for unlock_row(). (Bug #39320) ------------------------------------------------------------------------ r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines branches/5.1: Fix a bug in multi-table semi-consistent reads. Remember the acquired record locks per table handle (row_prebuilt_t) rather than per transaction (trx_t), so that unlock_row should successfully unlock all non-matching rows in multi-table operations. This deficiency was found while investigating Bug #39320. ------------------------------------------------------------------------ These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri. ------------------------------------------------------------------------ r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and adjust all callers. ------------------------------------------------------------------------ r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL before dereferencing it. In this way, ut_list_node_313 will be pointing to the last non-NULL list item at the time of the assertion failure. (gcc-4.3.2 -O3 seems to optimize the common subexpressions and make the variable NULL, though.) ------------------------------------------------------------------------ r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines branches/zip: sync_thread_add_level(): Make the assertions about level == SYNC_BUF_BLOCK more readable. ------------------------------------------------------------------------ r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines branches/zip: Remove mysql-test/patches/bug32625.diff because that bug was fixed in the mysql repository (1 year and 4 months after sending them the simple patch!). See http://bugs.mysql.com/32625 ------------------------------------------------------------------------ r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line branches/zip: buf0buddy.c: Add and adjust some debug assertions. ------------------------------------------------------------------------ r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines branches/zip: Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that 1.0.3 has been released. ------------------------------------------------------------------------ r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug41893.diff because that bug has been fixed in the MySQL repository, see http://bugs.mysql.com/41893. ------------------------------------------------------------------------ r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions. ------------------------------------------------------------------------ r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line branches/zip: buf_buddy_free_low(): Correct the function comment. ------------------------------------------------------------------------ r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines branches/zip: Merge revisions 4400:4481 from branches/5.1: ------------------------------------------------------------------------ r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines branches/5.1: row_unlock_for_mysql(): Do not unlock records that were modified by the current transaction. This bug was introduced or unmasked in r4400. rb://97 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup: Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with dict_ind_redundant and dict_ind_compact, initialized in dict_init(). ------------------------------------------------------------------------ r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines branches/zip: Add const qualifiers or in/out comments to some function parameters in log0log. ------------------------------------------------------------------------ r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines branches/zip: page_validate(): Always report the space id and the name of the index. In Hot Backup, do not invoke comparison functions, as MySQL collations will be unavailable. ------------------------------------------------------------------------ r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id(). ------------------------------------------------------------------------ r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars. This eliminates some "unused variable" warnings when building InnoDB Hot Backup in such a way that all mutex operations are no-ops. ------------------------------------------------------------------------ r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. ------------------------------------------------------------------------ r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_recover_page(): Remove compile-time constant parameters. ------------------------------------------------------------------------ r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_sys_init(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Non-functional change: Add const qualifiers. log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf(): The log block is read-only. Make it const. ------------------------------------------------------------------------ r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. ------------------------------------------------------------------------ r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line branches/zip: fil_init(): Add the parameter hash_size. ------------------------------------------------------------------------ r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines branches/zip: Add any entry about the release of 1.0.3 in the ChangeLog. ------------------------------------------------------------------------ r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use ASSERT_HASH_MUTEX_OWN. Make it a no-op in UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Define and use PAGE_ZIP_MATCH. In UNIV_HOTBACKUP builds, assume fixed allocation. ------------------------------------------------------------------------ r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Exclude some operating system interface code from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove the remaining references to hash_table_t::adapive from UNIV_HOTBACKUP builds. This should have been done in r4515. ------------------------------------------------------------------------ r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Enclose recv_recovery_from_backup_on and recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE. ------------------------------------------------------------------------ r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions ensuring that FIL_PAGE_TYPE makes sense when applying log records. ------------------------------------------------------------------------ r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines branches/zip: Remove unneeded definitions and dependencies from UNIV_HOTBACKUP builds. ------------------------------------------------------------------------ r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines branches/zip: adjust build files on Windows Adjust the patch positions based on the latest MySQL source. Also add the patches to the .bat files for vs9. ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
ut_mem_init();
branches/innodb+: Merge revisions r5971:6130 from branches/zip. ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 23:03:51 +1000 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5972 | marko | 2009-09-24 05:44:52 +1000 (Thu, 24 Sep 2009) | 5 lines branches/zip: fil_node_open_file(): In InnoDB Hot Backup, determine the page size of single-file tablespaces before computing the file node size. Otherwise, the space->size of compressed tablespaces would be computed with UNIV_PAGE_SIZE instead of key_block_size. This should fix Issue #313. ------------------------------------------------------------------------ r5973 | marko | 2009-09-24 05:53:21 +1000 (Thu, 24 Sep 2009) | 2 lines branches/zip: recv_add_to_hash_table(): Simplify obfuscated pointer arithmetics. ------------------------------------------------------------------------ r5978 | marko | 2009-09-24 17:47:56 +1000 (Thu, 24 Sep 2009) | 1 line branches/zip: Fix warnings and errors when UNIV_HOTBACKUP is defined. ------------------------------------------------------------------------ r5979 | marko | 2009-09-24 20:16:10 +1000 (Thu, 24 Sep 2009) | 4 lines branches/zip: ha_innodb.cc: Define MYSQL_PLUGIN_IMPORT when necessary. This preprocessor symbol has been recently introduced in MySQL 5.1. The InnoDB Plugin should remain source compatible with MySQL 5.1.24 and later. ------------------------------------------------------------------------ r5988 | calvin | 2009-09-26 05:14:43 +1000 (Sat, 26 Sep 2009) | 8 lines branches/zip: fix bug#47055 unconditional exit(1) on ERROR_WORKING_SET_QUOTA 1453 (0x5AD) for InnoDB backend When error ERROR_WORKING_SET_QUOTA or ERROR_NO_SYSTEM_RESOURCES occurs, yields for 100ms and retries the operation. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5992 | vasil | 2009-09-28 17:10:29 +1000 (Mon, 28 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for c5988. ------------------------------------------------------------------------ r5994 | marko | 2009-09-28 18:33:59 +1000 (Mon, 28 Sep 2009) | 17 lines branches/zip: Try to prevent the reuse of tablespace identifiers after InnoDB has crashed during table creation. Also, refuse to start if files with duplicate tablespace identifiers are encountered. fil_node_create(): Update fil_system->max_assigned_id. This should prevent the reuse of a space->id when InnoDB does a full crash recovery and invokes fil_load_single_table_tablespaces(). Normally, fil_system->max_assigned_id is initialized from SELECT MAX(ID) FROM SYS_TABLES. fil_open_single_table_tablespace(): Return FALSE when fil_space_create() fails. fil_load_single_table_tablespace(): Exit if fil_space_create() fails and innodb_force_recovery=0. rb://173 approved by Heikki Tuuri. This addresses Issue #335. ------------------------------------------------------------------------ r5995 | marko | 2009-09-28 18:52:25 +1000 (Mon, 28 Sep 2009) | 17 lines branches/zip: Do not write to PAGE_INDEX_ID after page creation, not even when restoring an uncompressed page after a compression failure. btr_page_reorganize_low(): On compression failure, do not restore those page header fields that should not be affected by the reorganization. Instead, compare the fields. page_zip_decompress(): Add the parameter ibool all, for copying all page header fields. Pass the parameter all=TRUE on block read completion, redo log application, and page_zip_validate(); pass all=FALSE in all other cases. page_zip_reorganize(): Do not restore the uncompressed page on failure. It will be restored (to pre-modification state) by the caller anyway. rb://167, Issue #346 ------------------------------------------------------------------------ r5996 | marko | 2009-09-28 22:46:02 +1000 (Mon, 28 Sep 2009) | 4 lines branches/zip: Address Issue #350 in comments. lock_rec_queue_validate(), lock_rec_queue_validate(): Note that this debug code may violate the latching order and cause deadlocks. ------------------------------------------------------------------------ r5997 | marko | 2009-09-28 23:03:58 +1000 (Mon, 28 Sep 2009) | 12 lines branches/zip: Remove an assertion failure when the InnoDB data dictionary is inconsistent with the MySQL .frm file. ha_innobase::index_read(): When the index cannot be found, return an error. ha_innobase::change_active_index(): When prebuilt->index == NULL, set also prebuilt->index_usable = FALSE. This is not needed for correctness, because prebuilt->index_usable is only checked by row_search_for_mysql(), which requires prebuilt->index != NULL. This addresses Issue #349. Approved by Heikki Tuuri over IM. ------------------------------------------------------------------------ r6005 | vasil | 2009-09-29 18:09:52 +1000 (Tue, 29 Sep 2009) | 4 lines branches/zip: ChangeLog: wrap around 78th column, not earlier. ------------------------------------------------------------------------ r6006 | vasil | 2009-09-29 20:15:25 +1000 (Tue, 29 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for the release of 1.0.4. ------------------------------------------------------------------------ r6007 | vasil | 2009-09-29 23:19:59 +1000 (Tue, 29 Sep 2009) | 6 lines branches/zip: Fix the year, should be 2009. Pointed by: Calvin ------------------------------------------------------------------------ r6026 | marko | 2009-09-30 17:18:24 +1000 (Wed, 30 Sep 2009) | 1 line branches/zip: Add some debug assertions for checking FSEG_MAGIC_N. ------------------------------------------------------------------------ r6028 | marko | 2009-09-30 23:55:23 +1000 (Wed, 30 Sep 2009) | 3 lines branches/zip: recv_no_log_write: New debug flag for tracking down Mantis Issue #347. No modifications should be made to the database while recv_apply_hashed_log_recs() is about to complete. ------------------------------------------------------------------------ r6029 | calvin | 2009-10-01 06:32:02 +1000 (Thu, 01 Oct 2009) | 4 lines branches/zip: non-functional changes Fix typo. ------------------------------------------------------------------------ r6031 | marko | 2009-10-01 21:24:33 +1000 (Thu, 01 Oct 2009) | 49 lines branches/zip: Clean up after a crash during DROP INDEX. When InnoDB crashes while dropping an index, ensure that the index will be completely dropped during crash recovery. row_merge_drop_index(): Before dropping an index, rename the index to start with TEMP_INDEX_PREFIX_STR and commit the change, so that row_merge_drop_temp_indexes() will drop the index after crash recovery if the server crashes while dropping the index. fseg_inode_try_get(): New function, forked from fseg_inode_get(). Return NULL if the file segment index node is free. fseg_inode_get(): Assert that the file segment index node is not free. fseg_free_step(): If the file segment index node is already free, print a diagnostic message and return TRUE. fsp_free_seg_inode(): Write a nonzero number to FSEG_MAGIC_N, so that allocated-and-freed file segment index nodes can be better distinguished from uninitialized ones. This is rb://174, addressing Issue #348. Tested by restarting mysqld upon the completion of the added log_write_up_to() invocation below, during DROP INDEX. The index was dropped after crash recovery, and re-issuing the DROP INDEX did not crash the server. Index: btr/btr0btr.c =================================================================== --- btr/btr0btr.c (revision 6026) +++ btr/btr0btr.c (working copy) @@ -42,6 +42,7 @@ Created 6/2/1994 Heikki Tuuri #include "ibuf0ibuf.h" #include "trx0trx.h" +#include "log0log.h" /* Latching strategy of the InnoDB B-tree -------------------------------------- @@ -873,6 +874,8 @@ leaf_loop: goto leaf_loop; } + + log_write_up_to(mtr.end_lsn, LOG_WAIT_ALL_GROUPS, TRUE); top_loop: mtr_start(&mtr); ------------------------------------------------------------------------ r6033 | calvin | 2009-10-02 06:19:46 +1000 (Fri, 02 Oct 2009) | 4 lines branches/zip: fix a typo in error message Reported as bug#47763. ------------------------------------------------------------------------ r6043 | inaam | 2009-10-06 01:45:35 +1100 (Tue, 06 Oct 2009) | 12 lines branches/zip rb://176 Do not invalidate buffer pool while an LRU batch is active. Added code to buf_pool_invalidate() to wait for the running batches to finish. This patch also resets the state of buf_pool struct at invalidation. This addresses the concern where buf_pool->freed_page_clock becomes non-zero because we read in a system tablespace page for file format info at startup. Approved by: Marko ------------------------------------------------------------------------ r6044 | pekka | 2009-10-07 01:44:54 +1100 (Wed, 07 Oct 2009) | 5 lines branches/zip: Add os_file_is_same() function for Hot Backup (inside ifdef UNIV_HOTBACKUP). This is part of the fix for Issue #186. Note! The Windows implementation is incomplete. ------------------------------------------------------------------------ r6046 | pekka | 2009-10-08 20:24:56 +1100 (Thu, 08 Oct 2009) | 3 lines branches/zip: Revert r6044 which added os_file_is_same() function (issue#186). This functionality is moved to Hot Backup source tree. ------------------------------------------------------------------------ r6048 | vasil | 2009-10-09 16:42:55 +1100 (Fri, 09 Oct 2009) | 16 lines branches/zip: When scanning a directory readdir() is called and stat() after it, if a file is deleted between the two calls stat will fail and the whole precedure will fail. Change this behavior to continue with the next entry if stat() fails because of nonexistent file. This is transparent change as it will make it look as if the file was deleted before the readdir() call. This change is needed in order to fix https://svn.innodb.com/mantis/view.php?id=174 in which we need to abort if os_file_readdir_next_file() encounters "real" errors. Approved by: Marko, Pekka (rb://177) ------------------------------------------------------------------------ r6049 | vasil | 2009-10-10 03:05:26 +1100 (Sat, 10 Oct 2009) | 7 lines branches/zip: Fix compilation warning in Hot Backup: innodb/fil/fil0fil.c: In function 'fil_load_single_table_tablespace': innodb/fil/fil0fil.c:3253: warning: format '%lld' expects type 'long long int', but argument 6 has type 'ib_int64_t' ------------------------------------------------------------------------ r6064 | calvin | 2009-10-14 02:23:35 +1100 (Wed, 14 Oct 2009) | 4 lines branches/zip: non-functional changes Changes from MySQL to fix build issue. ------------------------------------------------------------------------ r6065 | inaam | 2009-10-14 04:43:13 +1100 (Wed, 14 Oct 2009) | 7 lines branches/zip rb://182 Call fsync() on datafiles after a batch of pages is written to disk even when skip_innodb_doublewrite is set. Approved by: Heikki ------------------------------------------------------------------------ r6080 | sunny | 2009-10-15 09:29:01 +1100 (Thu, 15 Oct 2009) | 3 lines branches/zip: Change page_mem_alloc_free() to inline. Fix Bug #47058 - Failure to compile innodb_plugin on solaris 10u7 + spro cc/CC 5.10 ------------------------------------------------------------------------ r6084 | vasil | 2009-10-15 16:21:17 +1100 (Thu, 15 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6080. ------------------------------------------------------------------------ r6095 | vasil | 2009-10-20 00:04:59 +1100 (Tue, 20 Oct 2009) | 7 lines branches/zip: Fix Bug#47808 innodb_information_schema.test fails when run under valgrind by using the wait_until_rows_count macro that loops until the number of rows becomes 14 instead of sleep 0.1, which is obviously very fragile. ------------------------------------------------------------------------ r6096 | vasil | 2009-10-20 00:06:09 +1100 (Tue, 20 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6095. ------------------------------------------------------------------------ r6099 | jyang | 2009-10-22 13:58:39 +1100 (Thu, 22 Oct 2009) | 7 lines branches/zip: Port bug #46000 related changes from 5.1 to zip branch. Due to different code path for creating index in zip branch comparing to 5.1), the index reserved name check function is extended to be used in ha_innobase::add_index(). rb://190 Approved by: Marko ------------------------------------------------------------------------ r6100 | jyang | 2009-10-22 14:51:07 +1100 (Thu, 22 Oct 2009) | 6 lines branches/zip: As a request from mysql, WARN_LEVEL_ERROR cannot be used for push_warning_* call any more. Switch to WARN_LEVEL_WARN. Bug #47233. rb://172 approved by Sunny Bains and Marko. ------------------------------------------------------------------------ r6101 | jyang | 2009-10-23 19:45:50 +1100 (Fri, 23 Oct 2009) | 7 lines branches/zip: Update test result with the WARN_LEVEL_ERROR to WARN_LEVEL_WARN change. This is the same result as submitted in rb://172 review, which approved by Sunny Bains and Marko. ------------------------------------------------------------------------ r6102 | marko | 2009-10-26 18:32:23 +1100 (Mon, 26 Oct 2009) | 1 line branches/zip: row_prebuilt_struct::prebuilts: Unused field, remove. ------------------------------------------------------------------------ r6103 | marko | 2009-10-27 00:46:18 +1100 (Tue, 27 Oct 2009) | 4 lines branches/zip: row_ins_alloc_sys_fields(): Zero out the system columns DB_TRX_ID, DB_ROLL_PTR and DB_ROW_ID, in order to avoid harmless Valgrind warnings about uninitialized data. (The warnings were harmless, because the fields would be initialized at a later stage.) ------------------------------------------------------------------------ r6105 | calvin | 2009-10-28 09:05:52 +1100 (Wed, 28 Oct 2009) | 6 lines branches/zip: backport r3848 from 6.0 branch ---- branches/6.0: innobase_start_or_create_for_mysql(): Make the 10 MB minimum tablespace limit independent of UNIV_PAGE_SIZE. (Bug #41490) ------------------------------------------------------------------------ r6107 | marko | 2009-10-29 01:10:34 +1100 (Thu, 29 Oct 2009) | 5 lines branches/zip: buf_page_set_old(): Improve UNIV_LRU_DEBUG diagnostics in order to catch the buf_pool->LRU_old corruption reported in Issue #381. buf_LRU_old_init(): Set the property from the tail towards the front of the buf_pool->LRU list, in order not to trip the debug check. ------------------------------------------------------------------------ r6108 | calvin | 2009-10-29 16:58:04 +1100 (Thu, 29 Oct 2009) | 5 lines branches/zip: close file handle when building with UNIV_HOTBACKUP The change does not affect regular InnoDB engine. Confirmed by Marko. ------------------------------------------------------------------------ r6109 | jyang | 2009-10-29 19:37:32 +1100 (Thu, 29 Oct 2009) | 7 lines branches/zip: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------------------ r6110 | marko | 2009-10-29 21:44:57 +1100 (Thu, 29 Oct 2009) | 2 lines branches/zip: Makefile.am (INCLUDES): Merge a change from MySQL: Use $(srcdir)/include instead of $(top_srcdir)/storage/innobase/include. ------------------------------------------------------------------------ r6111 | marko | 2009-10-29 22:04:11 +1100 (Thu, 29 Oct 2009) | 33 lines branches/zip: Fix corruption of buf_pool->LRU_old and improve debug assertions. This was reported as Issue #381. buf_page_set_old(): Assert that blocks may only be set old if buf_pool->LRU_old is initialized and buf_pool->LRU_old_len is nonzero. Assert that buf_pool->LRU_old points to the block at the old/new boundary. buf_LRU_old_adjust_len(): Invoke buf_page_set_old() after adjusting buf_pool->LRU_old and buf_pool->LRU_old_len, in order not to violate the added assertions. buf_LRU_old_init(): Replace buf_page_set_old() with a direct assignment to bpage->old, because these loops that initialize all the blocks would temporarily violate the assertions about buf_pool->LRU_old. buf_LRU_remove_block(): When setting buf_pool->LRU_old = NULL, also clear all bpage->old flags and set buf_pool->LRU_old_len = 0. buf_LRU_add_block_to_end_low(), buf_LRU_add_block_low(): Move the buf_page_set_old() call later in order not to violate the debug assertions. If buf_pool->LRU_old is NULL, set old=FALSE. buf_LRU_free_block(): Replace the UNIV_LRU_DEBUG assertion with a dummy buf_page_set_old() call that performs more thorough checks. buf_LRU_validate(): Do not tolerate garbage in buf_pool->LRU_old_len even if buf_pool->LRU_old is NULL. Check that bpage->old is monotonic. buf_relocate(): Make the UNIV_LRU_DEBUG checks stricter. buf0buf.h: Revise the documentation of buf_page_t::old and buf_pool_t::LRU_old_len. ------------------------------------------------------------------------ r6112 | calvin | 2009-10-30 01:21:15 +1100 (Fri, 30 Oct 2009) | 4 lines branches/zip: consideration for icc compilers Proposed by MySQL, and approved by Marko. ------------------------------------------------------------------------ r6113 | vasil | 2009-10-30 03:15:50 +1100 (Fri, 30 Oct 2009) | 93 lines branches/zip: Merge r5912:6112 from branches/5.1: (after this merge the innodb-autoinc test starts to fail, but I commit anyway because it would be easier to investigate the failure this way) ------------------------------------------------------------------------ r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#42383: Can't create table 'test.bug39438' For embedded server, MySQL may pass in full path, which is currently disallowed. It is needed to relax the condition by accepting full paths in the embedded case. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix Bug#38996 Race condition in ANALYZE TABLE by serializing ANALYZE TABLE inside InnoDB. Approved by: Heikki (rb://175) ------------------------------------------------------------------------ r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug47777.result A /branches/5.1/mysql-test/innodb_bug47777.test branches/5.1: Fix bug #47777. Treat the Geometry data same as Binary BLOB in ha_innobase::store_key_val_for_row(), since the Geometry data is stored as Binary BLOB in Innodb. Review: rb://180 approved by Marko Makela. ------------------------------------------------------------------------ r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Ignore negative values supplied by the user when calculating the next value to store in dict_table_t. Setting autoincrement columns top negative values is undefined behavior and this change should bring the behavior of InnoDB closer to what users expect. Added several tests to check. rb://162 ------------------------------------------------------------------------ r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix the test results too. rb://164 ------------------------------------------------------------------------ r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Copy the maximum AUTOINC value from the old table to the new table when MySQL does a CREATE INDEX ON T. This is required because MySQL does a table copy, rename and drops the old table. Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb rb://168 ------------------------------------------------------------------------ r6076 | vasil | 2009-10-14 19:30:12 +0300 (Wed, 14 Oct 2009) | 4 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.1: Fix typo. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6114 | vasil | 2009-10-30 03:43:51 +1100 (Fri, 30 Oct 2009) | 6 lines branches/zip: * Add ChangeLog entries for latest changes * Obey alphabetical order in the list of the files * White-space fixup ------------------------------------------------------------------------ r6121 | sunny | 2009-10-30 10:42:11 +1100 (Fri, 30 Oct 2009) | 7 lines branches/zip: This test has been problematic for sometime now. The underlying bug is that the data dictionaries get out of sync. In the AUTOINC code we try and apply salve to the symptoms. In the past MySQL made some unrelated change and the dictionaries stopped getting out of sync and this test started to fail. Now, it seems they have reverted that changed and the test is passing again. I suspect this is not he last time that this test will change. ------------------------------------------------------------------------ r6124 | jyang | 2009-10-30 19:02:31 +1100 (Fri, 30 Oct 2009) | 5 lines branches/zip: Correct the bug number for -r6109 change from # 48273 to #48237 ------------------------------------------------------------------------ r6126 | vasil | 2009-10-30 19:36:07 +1100 (Fri, 30 Oct 2009) | 45 lines branches/zip: Merge r6112:6125 from branches/5.1: (skipping r6122 and r6123, Jimmy says these are already present and need not be merged): ------------------------------------------------------------------------ r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug44369.result M /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/mysql-test/innodb_bug46000.result M /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN for push_warning_printf() call in innodb. Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR) rb://170 approved by Marko. ------------------------------------------------------------------------ r6123 | jyang | 2009-10-30 05:43:06 +0200 (Fri, 30 Oct 2009) | 8 lines Changed paths: M /branches/5.1/os/os0proc.c branches/5.1: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. This is a port from branches/zip. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------------------ r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: White-space fixup. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6130 | marko | 2009-11-02 20:42:56 +1100 (Mon, 02 Nov 2009) | 9 lines branches/zip: Free all resources at shutdown. Set pointers to NULL, so that Valgrind will not complain about freed data structures that are reachable via pointers. This addresses Bug #45992 and Bug #46656. This patch is mostly based on changes copied from branches/embedded-1.0, mainly c5432, c3439, c3134, c2994, c2978, but also some other code was copied. Some added cleanup code is specific to MySQL/InnoDB. rb://199 approved by Sunny Bains ------------------------------------------------------------------------
2009-11-04 06:02:00 +00:00
/* Reset the system variables in the recovery module. */
recv_sys_var_init();
2005-10-27 07:29:40 +00:00
os_sync_init();
sync_init();
mem_init(srv_mem_pool_size);
thr_local_init();
}
/*======================= InnoDB Server FIFO queue =======================*/
/* Maximum allowable purge history length. <=0 means 'infinite'. */
UNIV_INTERN ulong srv_max_purge_lag = 0;
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Puts an OS thread to wait if there are too many concurrent threads
(>= srv_thread_concurrency) inside InnoDB. The threads wait in a FIFO queue. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_conc_enter_innodb(
/*==================*/
trx_t* trx) /*!< in: transaction object associated with the
2005-10-27 07:29:40 +00:00
thread */
{
ibool has_slept = FALSE;
srv_conc_slot_t* slot = NULL;
ulint i;
if (trx->mysql_thd != NULL
&& thd_is_replication_slave_thread(trx->mysql_thd)) {
UT_WAIT_FOR(srv_conc_n_threads
< (lint)srv_thread_concurrency,
srv_replication_delay * 1000);
return;
}
2005-10-27 07:29:40 +00:00
/* If trx has 'free tickets' to enter the engine left, then use one
such ticket */
if (trx->n_tickets_to_enter_innodb > 0) {
trx->n_tickets_to_enter_innodb--;
return;
}
os_fast_mutex_lock(&srv_conc_mutex);
retry:
if (trx->declared_to_be_inside_innodb) {
ut_print_timestamp(stderr);
fputs(" InnoDB: Error: trying to declare trx"
" to enter InnoDB, but\n"
"InnoDB: it already is declared.\n", stderr);
2005-10-27 07:29:40 +00:00
trx_print(stderr, trx, 0);
putc('\n', stderr);
os_fast_mutex_unlock(&srv_conc_mutex);
return;
}
branches/innodb+: Merge revisions 3312:3459 from branches/zip: ------------------------------------------------------------------------ r3328 | marko | 2008-12-02 10:16:05 +0200 (Tue, 02 Dec 2008) | 7 lines branches/zip: page_cur_insert_rec_zip(): When allocating insert_buf from the free list, zero out the DB_TRX_ID and DB_ROLL_PTR of the deleted record if the new record would not overwrite these fields. This fixes a harmless content mismatch reported by page_zip_validate() that was reported as Issue #111. rb://55 approved by Sunny Bains. ------------------------------------------------------------------------ r3329 | vasil | 2008-12-02 12:03:17 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Add entry in the ChangeLog for the release of 1.0.2. ------------------------------------------------------------------------ r3331 | vasil | 2008-12-02 12:09:20 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Remove an entry from the ChnageLog for a change that was made before the release of 1.0.2 but was not included in that release. ------------------------------------------------------------------------ r3333 | vasil | 2008-12-02 12:11:54 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Now that 1.0.2 is out, the current tree is version 1.0.3. ------------------------------------------------------------------------ r3336 | vasil | 2008-12-02 13:34:36 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Resurrect a ChangeLog entry that I removed in c3331 with a fake date so it does not appear that it has been included in 1.0.2. ------------------------------------------------------------------------ r3361 | vasil | 2008-12-04 18:10:08 +0200 (Thu, 04 Dec 2008) | 9 lines branches/zip: Fix Mantis issue#103 mysql_addons.c depends on THD internals - please remove it Use MySQL's thd_get_thread_id() instead of our own ib_thd_get_thread_id() since MySQL implemented the former, see http://bugs.mysql.com/30930. Approved by: Marko (https://svn.innodb.com/rb/r/40, rb://40) ------------------------------------------------------------------------ r3362 | vasil | 2008-12-04 18:49:24 +0200 (Thu, 04 Dec 2008) | 15 lines branches/zip: Revert our temporary fix for Bug#40360 Binlog related errors with binlog off This bug was fixed in MySQL code. Our fix went into r2944 and r2947, but this patch does not entirely revert those revisions because we want to leave the test case that was introduced and also r2944 itself reverted r2935 and r2936. So if we completely revert r2944 and r2947 then we would loose the test and will restore r2935 and r2936. This resolves Issue#108 We should remove ib_bin_log_is_engaged() once mysql add an equivallent, see Bug#40360 ------------------------------------------------------------------------ r3404 | marko | 2008-12-05 10:02:54 +0200 (Fri, 05 Dec 2008) | 5 lines branches/zip: row_undo_mod_del_mark_or_remove_sec_low(): Do not complain if the record is not found. Explain that this is possible when a deadlock occurs during an update. Heikki investigated this in Issue #134. ------------------------------------------------------------------------ r3432 | marko | 2008-12-08 14:14:01 +0200 (Mon, 08 Dec 2008) | 4 lines branches/zip: ibuf_merge_or_delete_for_page(): Remove the redundant checks for ibuf_fixed_addr_page() || fsp_descr_page(). The one at the beginning of the function is enough. ------------------------------------------------------------------------ r3456 | marko | 2008-12-09 10:31:26 +0200 (Tue, 09 Dec 2008) | 3 lines branches/zip: row_purge_remove_sec_if_poss_low(): Allocate mtr_vers from the stack, not with mem_alloc(). ------------------------------------------------------------------------ r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines branches/zip: Merge 2929:3458 from branches/5.1 (resolving conflict in c3257, note also that r3363 reverted r2933 so there are not changes in mysql-test/innodb-autoinc.result with the current merge): ------------------------------------------------------------------------ r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: correct the result file innodb-autoinc.result Change the followings: auto_increment_increment auto_increment_offset to auto-increment-increment auto-increment-offset ------------------------------------------------------------------------ r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). ------------------------------------------------------------------------ r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug#29507 is fixed in the server. Additional test was done with the fix of bug#29507 in the server. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/srv/srv0srv.c M /branches/5.1/trx/trx0trx.c branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko ------------------------------------------------------------------------ r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: revert the changes in r2933 The changes in r2933 causes test failure on Linux. More investigation is needed for Windows. Change the followings in innodb-autoinc.result: auto-increment-increment auto-increment-offset back to: auto_increment_increment auto_increment_offset ------------------------------------------------------------------------ r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines Changed paths: M /branches/5.1/trx/trx0undo.c branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... ------------------------------------------------------------------------ r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug34300.test branches/5.1: Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test: main.innodb_bug34300 [ fail ] mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value Aborting: main.innodb_bug34300 failed in default mode. The changeset is this: ------------------------------------------------------------ revno: 2709.1.10 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: b22891-51-bugteam timestamp: Thu 2008-11-20 08:51:48 +0100 message: A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. modified: mysql-test/r/func_compress.result mysql-test/r/max_allowed_packet_basic.result mysql-test/r/max_allowed_packet_func.result mysql-test/r/net_buffer_length_basic.result mysql-test/r/packet.result mysql-test/r/union.result mysql-test/r/variables.result mysql-test/t/func_compress.test mysql-test/t/innodb_bug34300.test mysql-test/t/max_allowed_packet_basic.test mysql-test/t/max_allowed_packet_func.test mysql-test/t/net_buffer_length_basic.test mysql-test/t/packet.test mysql-test/t/union.test mysql-test/t/variables.test sql/set_var.cc sql/set_var.h sql/share/errmsg.txt ------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------
2008-12-09 11:09:06 +00:00
ut_ad(srv_conc_n_threads >= 0);
2005-10-27 07:29:40 +00:00
if (srv_conc_n_threads < (lint)srv_thread_concurrency) {
srv_conc_n_threads++;
trx->declared_to_be_inside_innodb = TRUE;
trx->n_tickets_to_enter_innodb = SRV_FREE_TICKETS_TO_ENTER;
2005-10-27 07:29:40 +00:00
os_fast_mutex_unlock(&srv_conc_mutex);
return;
}
/* If the transaction is not holding resources, let it sleep
for SRV_THREAD_SLEEP_DELAY microseconds, and try again then */
2005-10-27 07:29:40 +00:00
if (!has_slept && !trx->has_search_latch
&& NULL == UT_LIST_GET_FIRST(trx->trx_locks)) {
2005-10-27 07:29:40 +00:00
has_slept = TRUE; /* We let it sleep only once to avoid
2005-10-27 07:29:40 +00:00
starvation */
srv_conc_n_waiting_threads++;
os_fast_mutex_unlock(&srv_conc_mutex);
trx->op_info = "sleeping before joining InnoDB queue";
/* Peter Zaitsev suggested that we take the sleep away
altogether. But the sleep may be good in pathological
situations of lots of thread switches. Simply put some
threads aside for a while to reduce the number of thread
switches. */
if (SRV_THREAD_SLEEP_DELAY > 0) {
os_thread_sleep(SRV_THREAD_SLEEP_DELAY);
}
2005-10-27 07:29:40 +00:00
trx->op_info = "";
os_fast_mutex_lock(&srv_conc_mutex);
srv_conc_n_waiting_threads--;
goto retry;
}
2005-10-27 07:29:40 +00:00
/* Too many threads inside: put the current thread to a queue */
for (i = 0; i < OS_THREAD_MAX_N; i++) {
slot = srv_conc_slots + i;
if (!slot->reserved) {
break;
}
}
if (i == OS_THREAD_MAX_N) {
/* Could not find a free wait slot, we must let the
thread enter */
srv_conc_n_threads++;
trx->declared_to_be_inside_innodb = TRUE;
trx->n_tickets_to_enter_innodb = 0;
os_fast_mutex_unlock(&srv_conc_mutex);
return;
}
/* Release possible search system latch this thread has */
if (trx->has_search_latch) {
trx_search_latch_release_if_reserved(trx);
}
/* Add to the queue */
slot->reserved = TRUE;
slot->wait_ended = FALSE;
2005-10-27 07:29:40 +00:00
UT_LIST_ADD_LAST(srv_conc_queue, srv_conc_queue, slot);
os_event_reset(slot->event);
srv_conc_n_waiting_threads++;
os_fast_mutex_unlock(&srv_conc_mutex);
/* Go to wait for the event; when a thread leaves InnoDB it will
release this thread */
trx->op_info = "waiting in InnoDB queue";
os_event_wait(slot->event);
trx->op_info = "";
os_fast_mutex_lock(&srv_conc_mutex);
srv_conc_n_waiting_threads--;
/* NOTE that the thread which released this thread already
incremented the thread counter on behalf of this thread */
slot->reserved = FALSE;
UT_LIST_REMOVE(srv_conc_queue, srv_conc_queue, slot);
trx->declared_to_be_inside_innodb = TRUE;
trx->n_tickets_to_enter_innodb = SRV_FREE_TICKETS_TO_ENTER;
os_fast_mutex_unlock(&srv_conc_mutex);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
This lets a thread enter InnoDB regardless of the number of threads inside
InnoDB. This must be called when a thread ends a lock wait. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_conc_force_enter_innodb(
/*========================*/
trx_t* trx) /*!< in: transaction object associated with the
2005-10-27 07:29:40 +00:00
thread */
{
if (UNIV_LIKELY(!srv_thread_concurrency)) {
2005-10-27 07:29:40 +00:00
return;
}
branches/innodb+: Merge revisions 3312:3459 from branches/zip: ------------------------------------------------------------------------ r3328 | marko | 2008-12-02 10:16:05 +0200 (Tue, 02 Dec 2008) | 7 lines branches/zip: page_cur_insert_rec_zip(): When allocating insert_buf from the free list, zero out the DB_TRX_ID and DB_ROLL_PTR of the deleted record if the new record would not overwrite these fields. This fixes a harmless content mismatch reported by page_zip_validate() that was reported as Issue #111. rb://55 approved by Sunny Bains. ------------------------------------------------------------------------ r3329 | vasil | 2008-12-02 12:03:17 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Add entry in the ChangeLog for the release of 1.0.2. ------------------------------------------------------------------------ r3331 | vasil | 2008-12-02 12:09:20 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Remove an entry from the ChnageLog for a change that was made before the release of 1.0.2 but was not included in that release. ------------------------------------------------------------------------ r3333 | vasil | 2008-12-02 12:11:54 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Now that 1.0.2 is out, the current tree is version 1.0.3. ------------------------------------------------------------------------ r3336 | vasil | 2008-12-02 13:34:36 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Resurrect a ChangeLog entry that I removed in c3331 with a fake date so it does not appear that it has been included in 1.0.2. ------------------------------------------------------------------------ r3361 | vasil | 2008-12-04 18:10:08 +0200 (Thu, 04 Dec 2008) | 9 lines branches/zip: Fix Mantis issue#103 mysql_addons.c depends on THD internals - please remove it Use MySQL's thd_get_thread_id() instead of our own ib_thd_get_thread_id() since MySQL implemented the former, see http://bugs.mysql.com/30930. Approved by: Marko (https://svn.innodb.com/rb/r/40, rb://40) ------------------------------------------------------------------------ r3362 | vasil | 2008-12-04 18:49:24 +0200 (Thu, 04 Dec 2008) | 15 lines branches/zip: Revert our temporary fix for Bug#40360 Binlog related errors with binlog off This bug was fixed in MySQL code. Our fix went into r2944 and r2947, but this patch does not entirely revert those revisions because we want to leave the test case that was introduced and also r2944 itself reverted r2935 and r2936. So if we completely revert r2944 and r2947 then we would loose the test and will restore r2935 and r2936. This resolves Issue#108 We should remove ib_bin_log_is_engaged() once mysql add an equivallent, see Bug#40360 ------------------------------------------------------------------------ r3404 | marko | 2008-12-05 10:02:54 +0200 (Fri, 05 Dec 2008) | 5 lines branches/zip: row_undo_mod_del_mark_or_remove_sec_low(): Do not complain if the record is not found. Explain that this is possible when a deadlock occurs during an update. Heikki investigated this in Issue #134. ------------------------------------------------------------------------ r3432 | marko | 2008-12-08 14:14:01 +0200 (Mon, 08 Dec 2008) | 4 lines branches/zip: ibuf_merge_or_delete_for_page(): Remove the redundant checks for ibuf_fixed_addr_page() || fsp_descr_page(). The one at the beginning of the function is enough. ------------------------------------------------------------------------ r3456 | marko | 2008-12-09 10:31:26 +0200 (Tue, 09 Dec 2008) | 3 lines branches/zip: row_purge_remove_sec_if_poss_low(): Allocate mtr_vers from the stack, not with mem_alloc(). ------------------------------------------------------------------------ r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines branches/zip: Merge 2929:3458 from branches/5.1 (resolving conflict in c3257, note also that r3363 reverted r2933 so there are not changes in mysql-test/innodb-autoinc.result with the current merge): ------------------------------------------------------------------------ r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: correct the result file innodb-autoinc.result Change the followings: auto_increment_increment auto_increment_offset to auto-increment-increment auto-increment-offset ------------------------------------------------------------------------ r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). ------------------------------------------------------------------------ r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug#29507 is fixed in the server. Additional test was done with the fix of bug#29507 in the server. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/srv/srv0srv.c M /branches/5.1/trx/trx0trx.c branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko ------------------------------------------------------------------------ r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: revert the changes in r2933 The changes in r2933 causes test failure on Linux. More investigation is needed for Windows. Change the followings in innodb-autoinc.result: auto-increment-increment auto-increment-offset back to: auto_increment_increment auto_increment_offset ------------------------------------------------------------------------ r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines Changed paths: M /branches/5.1/trx/trx0undo.c branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... ------------------------------------------------------------------------ r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug34300.test branches/5.1: Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test: main.innodb_bug34300 [ fail ] mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value Aborting: main.innodb_bug34300 failed in default mode. The changeset is this: ------------------------------------------------------------ revno: 2709.1.10 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: b22891-51-bugteam timestamp: Thu 2008-11-20 08:51:48 +0100 message: A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. modified: mysql-test/r/func_compress.result mysql-test/r/max_allowed_packet_basic.result mysql-test/r/max_allowed_packet_func.result mysql-test/r/net_buffer_length_basic.result mysql-test/r/packet.result mysql-test/r/union.result mysql-test/r/variables.result mysql-test/t/func_compress.test mysql-test/t/innodb_bug34300.test mysql-test/t/max_allowed_packet_basic.test mysql-test/t/max_allowed_packet_func.test mysql-test/t/net_buffer_length_basic.test mysql-test/t/packet.test mysql-test/t/union.test mysql-test/t/variables.test sql/set_var.cc sql/set_var.h sql/share/errmsg.txt ------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------
2008-12-09 11:09:06 +00:00
ut_ad(srv_conc_n_threads >= 0);
2005-10-27 07:29:40 +00:00
os_fast_mutex_lock(&srv_conc_mutex);
srv_conc_n_threads++;
trx->declared_to_be_inside_innodb = TRUE;
trx->n_tickets_to_enter_innodb = 1;
2005-10-27 07:29:40 +00:00
os_fast_mutex_unlock(&srv_conc_mutex);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
This must be called when a thread exits InnoDB in a lock wait or at the
end of an SQL statement. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_conc_force_exit_innodb(
/*=======================*/
trx_t* trx) /*!< in: transaction object associated with the
2005-10-27 07:29:40 +00:00
thread */
{
srv_conc_slot_t* slot = NULL;
if (trx->mysql_thd != NULL
&& thd_is_replication_slave_thread(trx->mysql_thd)) {
return;
}
2005-10-27 07:29:40 +00:00
if (trx->declared_to_be_inside_innodb == FALSE) {
2005-10-27 07:29:40 +00:00
return;
}
os_fast_mutex_lock(&srv_conc_mutex);
branches/innodb+: Merge revisions 3312:3459 from branches/zip: ------------------------------------------------------------------------ r3328 | marko | 2008-12-02 10:16:05 +0200 (Tue, 02 Dec 2008) | 7 lines branches/zip: page_cur_insert_rec_zip(): When allocating insert_buf from the free list, zero out the DB_TRX_ID and DB_ROLL_PTR of the deleted record if the new record would not overwrite these fields. This fixes a harmless content mismatch reported by page_zip_validate() that was reported as Issue #111. rb://55 approved by Sunny Bains. ------------------------------------------------------------------------ r3329 | vasil | 2008-12-02 12:03:17 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Add entry in the ChangeLog for the release of 1.0.2. ------------------------------------------------------------------------ r3331 | vasil | 2008-12-02 12:09:20 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Remove an entry from the ChnageLog for a change that was made before the release of 1.0.2 but was not included in that release. ------------------------------------------------------------------------ r3333 | vasil | 2008-12-02 12:11:54 +0200 (Tue, 02 Dec 2008) | 4 lines branches/zip: Now that 1.0.2 is out, the current tree is version 1.0.3. ------------------------------------------------------------------------ r3336 | vasil | 2008-12-02 13:34:36 +0200 (Tue, 02 Dec 2008) | 5 lines branches/zip: Resurrect a ChangeLog entry that I removed in c3331 with a fake date so it does not appear that it has been included in 1.0.2. ------------------------------------------------------------------------ r3361 | vasil | 2008-12-04 18:10:08 +0200 (Thu, 04 Dec 2008) | 9 lines branches/zip: Fix Mantis issue#103 mysql_addons.c depends on THD internals - please remove it Use MySQL's thd_get_thread_id() instead of our own ib_thd_get_thread_id() since MySQL implemented the former, see http://bugs.mysql.com/30930. Approved by: Marko (https://svn.innodb.com/rb/r/40, rb://40) ------------------------------------------------------------------------ r3362 | vasil | 2008-12-04 18:49:24 +0200 (Thu, 04 Dec 2008) | 15 lines branches/zip: Revert our temporary fix for Bug#40360 Binlog related errors with binlog off This bug was fixed in MySQL code. Our fix went into r2944 and r2947, but this patch does not entirely revert those revisions because we want to leave the test case that was introduced and also r2944 itself reverted r2935 and r2936. So if we completely revert r2944 and r2947 then we would loose the test and will restore r2935 and r2936. This resolves Issue#108 We should remove ib_bin_log_is_engaged() once mysql add an equivallent, see Bug#40360 ------------------------------------------------------------------------ r3404 | marko | 2008-12-05 10:02:54 +0200 (Fri, 05 Dec 2008) | 5 lines branches/zip: row_undo_mod_del_mark_or_remove_sec_low(): Do not complain if the record is not found. Explain that this is possible when a deadlock occurs during an update. Heikki investigated this in Issue #134. ------------------------------------------------------------------------ r3432 | marko | 2008-12-08 14:14:01 +0200 (Mon, 08 Dec 2008) | 4 lines branches/zip: ibuf_merge_or_delete_for_page(): Remove the redundant checks for ibuf_fixed_addr_page() || fsp_descr_page(). The one at the beginning of the function is enough. ------------------------------------------------------------------------ r3456 | marko | 2008-12-09 10:31:26 +0200 (Tue, 09 Dec 2008) | 3 lines branches/zip: row_purge_remove_sec_if_poss_low(): Allocate mtr_vers from the stack, not with mem_alloc(). ------------------------------------------------------------------------ r3459 | vasil | 2008-12-09 11:49:03 +0200 (Tue, 09 Dec 2008) | 152 lines branches/zip: Merge 2929:3458 from branches/5.1 (resolving conflict in c3257, note also that r3363 reverted r2933 so there are not changes in mysql-test/innodb-autoinc.result with the current merge): ------------------------------------------------------------------------ r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: correct the result file innodb-autoinc.result Change the followings: auto_increment_increment auto_increment_offset to auto-increment-increment auto-increment-offset ------------------------------------------------------------------------ r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). ------------------------------------------------------------------------ r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug#29507 is fixed in the server. Additional test was done with the fix of bug#29507 in the server. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/srv/srv0srv.c M /branches/5.1/trx/trx0trx.c branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko ------------------------------------------------------------------------ r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result branches/5.1: revert the changes in r2933 The changes in r2933 causes test failure on Linux. More investigation is needed for Windows. Change the followings in innodb-autoinc.result: auto-increment-increment auto-increment-offset back to: auto_increment_increment auto_increment_offset ------------------------------------------------------------------------ r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines Changed paths: M /branches/5.1/trx/trx0undo.c branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... ------------------------------------------------------------------------ r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines Changed paths: M /branches/5.1/mysql-test/innodb_bug34300.test branches/5.1: Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test: main.innodb_bug34300 [ fail ] mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value Aborting: main.innodb_bug34300 failed in default mode. The changeset is this: ------------------------------------------------------------ revno: 2709.1.10 committer: Staale Smedseng <staale.smedseng@sun.com> branch nick: b22891-51-bugteam timestamp: Thu 2008-11-20 08:51:48 +0100 message: A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. modified: mysql-test/r/func_compress.result mysql-test/r/max_allowed_packet_basic.result mysql-test/r/max_allowed_packet_func.result mysql-test/r/net_buffer_length_basic.result mysql-test/r/packet.result mysql-test/r/union.result mysql-test/r/variables.result mysql-test/t/func_compress.test mysql-test/t/innodb_bug34300.test mysql-test/t/max_allowed_packet_basic.test mysql-test/t/max_allowed_packet_func.test mysql-test/t/net_buffer_length_basic.test mysql-test/t/packet.test mysql-test/t/union.test mysql-test/t/variables.test sql/set_var.cc sql/set_var.h sql/share/errmsg.txt ------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------
2008-12-09 11:09:06 +00:00
ut_ad(srv_conc_n_threads > 0);
2005-10-27 07:29:40 +00:00
srv_conc_n_threads--;
trx->declared_to_be_inside_innodb = FALSE;
trx->n_tickets_to_enter_innodb = 0;
if (srv_conc_n_threads < (lint)srv_thread_concurrency) {
/* Look for a slot where a thread is waiting and no other
thread has yet released the thread */
2005-10-27 07:29:40 +00:00
slot = UT_LIST_GET_FIRST(srv_conc_queue);
while (slot && slot->wait_ended == TRUE) {
slot = UT_LIST_GET_NEXT(srv_conc_queue, slot);
}
if (slot != NULL) {
slot->wait_ended = TRUE;
/* We increment the count on behalf of the released
thread */
srv_conc_n_threads++;
}
}
os_fast_mutex_unlock(&srv_conc_mutex);
if (slot != NULL) {
os_event_set(slot->event);
}
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
This must be called when a thread exits InnoDB. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_conc_exit_innodb(
/*=================*/
trx_t* trx) /*!< in: transaction object associated with the
2005-10-27 07:29:40 +00:00
thread */
{
if (trx->n_tickets_to_enter_innodb > 0) {
/* We will pretend the thread is still inside InnoDB though it
now leaves the InnoDB engine. In this way we save
a lot of semaphore operations. srv_conc_force_exit_innodb is
used to declare the thread definitely outside InnoDB. It
should be called when there is a lock wait or an SQL statement
ends. */
return;
}
srv_conc_force_exit_innodb(trx);
}
/*========================================================================*/
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
Normalizes init parameter values to use units we use inside InnoDB.
@return DB_SUCCESS or error code */
2005-10-27 07:29:40 +00:00
static
ulint
srv_normalize_init_values(void)
/*===========================*/
{
ulint n;
ulint i;
n = srv_n_data_files;
2005-10-27 07:29:40 +00:00
for (i = 0; i < n; i++) {
srv_data_file_sizes[i] = srv_data_file_sizes[i]
* ((1024 * 1024) / UNIV_PAGE_SIZE);
}
2005-10-27 07:29:40 +00:00
srv_last_file_size_max = srv_last_file_size_max
* ((1024 * 1024) / UNIV_PAGE_SIZE);
2005-10-27 07:29:40 +00:00
srv_log_file_size = srv_log_file_size / UNIV_PAGE_SIZE;
srv_log_buffer_size = srv_log_buffer_size / UNIV_PAGE_SIZE;
srv_lock_table_size = 5 * (srv_buf_pool_size / UNIV_PAGE_SIZE);
2005-10-27 07:29:40 +00:00
return(DB_SUCCESS);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
Boots the InnoDB server.
@return DB_SUCCESS or error code */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
ulint
srv_boot(void)
/*==========*/
{
ulint err;
/* Transform the init parameter values given by MySQL to
use units we use inside InnoDB: */
2005-10-27 07:29:40 +00:00
err = srv_normalize_init_values();
if (err != DB_SUCCESS) {
return(err);
}
2005-10-27 07:29:40 +00:00
/* Initialize synchronization primitives, memory management, and thread
local storage */
2005-10-27 07:29:40 +00:00
srv_general_init();
/* Initialize this module */
srv_init();
return(DB_SUCCESS);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
Reserves a slot in the thread table for the current MySQL OS thread.
NOTE! The kernel mutex has to be reserved by the caller!
@return reserved slot */
2005-10-27 07:29:40 +00:00
static
srv_slot_t*
srv_table_reserve_slot_for_mysql(void)
/*==================================*/
{
srv_slot_t* slot;
ulint i;
ut_ad(mutex_own(&kernel_mutex));
i = 0;
slot = srv_mysql_table + i;
while (slot->in_use) {
i++;
if (i >= OS_THREAD_MAX_N) {
ut_print_timestamp(stderr);
2005-10-27 07:29:40 +00:00
fprintf(stderr,
" InnoDB: There appear to be %lu MySQL"
" threads currently waiting\n"
"InnoDB: inside InnoDB, which is the"
" upper limit. Cannot continue operation.\n"
"InnoDB: We intentionally generate"
" a seg fault to print a stack trace\n"
"InnoDB: on Linux. But first we print"
" a list of waiting threads.\n", (ulong) i);
2005-10-27 07:29:40 +00:00
for (i = 0; i < OS_THREAD_MAX_N; i++) {
slot = srv_mysql_table + i;
2005-10-27 07:29:40 +00:00
fprintf(stderr,
"Slot %lu: thread id %lu, type %lu,"
" in use %lu, susp %lu, time %lu\n",
(ulong) i,
(ulong) os_thread_pf(slot->id),
(ulong) slot->type,
(ulong) slot->in_use,
(ulong) slot->suspended,
(ulong) difftime(ut_time(),
slot->suspend_time));
2005-10-27 07:29:40 +00:00
}
ut_error;
2005-10-27 07:29:40 +00:00
}
2005-10-27 07:29:40 +00:00
slot = srv_mysql_table + i;
}
ut_a(slot->in_use == FALSE);
2005-10-27 07:29:40 +00:00
slot->in_use = TRUE;
slot->id = os_thread_get_curr_id();
slot->handle = os_thread_get_curr();
return(slot);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/***************************************************************//**
2005-10-27 07:29:40 +00:00
Puts a MySQL OS thread to wait for a lock to be released. If an error
occurs during the wait trx->error_state associated with thr is
!= DB_SUCCESS when we return. DB_LOCK_WAIT_TIMEOUT and DB_DEADLOCK
are possible errors. DB_DEADLOCK is returned if selective deadlock
resolution chose this transaction as a victim. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_suspend_mysql_thread(
/*=====================*/
que_thr_t* thr) /*!< in: query thread associated with the MySQL
2005-10-27 07:29:40 +00:00
OS thread */
{
srv_slot_t* slot;
os_event_t event;
double wait_time;
trx_t* trx;
ulint had_dict_lock;
2005-10-27 07:29:40 +00:00
ibool was_declared_inside_innodb = FALSE;
ib_int64_t start_time = 0;
ib_int64_t finish_time;
2005-10-27 07:29:40 +00:00
ulint diff_time;
ulint sec;
ulint ms;
ulong lock_wait_timeout;
2005-10-27 07:29:40 +00:00
ut_ad(!mutex_own(&kernel_mutex));
trx = thr_get_trx(thr);
2005-10-27 07:29:40 +00:00
os_event_set(srv_lock_timeout_thread_event);
mutex_enter(&kernel_mutex);
trx->error_state = DB_SUCCESS;
if (thr->state == QUE_THR_RUNNING) {
ut_ad(thr->is_active == TRUE);
2005-10-27 07:29:40 +00:00
/* The lock has already been released or this transaction
was chosen as a deadlock victim: no need to suspend */
if (trx->was_chosen_as_deadlock_victim) {
trx->error_state = DB_DEADLOCK;
trx->was_chosen_as_deadlock_victim = FALSE;
}
mutex_exit(&kernel_mutex);
return;
}
2005-10-27 07:29:40 +00:00
ut_ad(thr->is_active == FALSE);
slot = srv_table_reserve_slot_for_mysql();
event = slot->event;
2005-10-27 07:29:40 +00:00
slot->thr = thr;
os_event_reset(event);
2005-10-27 07:29:40 +00:00
slot->suspend_time = ut_time();
if (thr->lock_state == QUE_THR_LOCK_ROW) {
srv_n_lock_wait_count++;
srv_n_lock_wait_current_count++;
if (ut_usectime(&sec, &ms) == -1) {
start_time = -1;
} else {
start_time = (ib_int64_t) sec * 1000000 + ms;
}
2005-10-27 07:29:40 +00:00
}
/* Wake the lock timeout monitor thread, if it is suspended */
os_event_set(srv_lock_timeout_thread_event);
2005-10-27 07:29:40 +00:00
mutex_exit(&kernel_mutex);
if (trx->declared_to_be_inside_innodb) {
was_declared_inside_innodb = TRUE;
2005-10-27 07:29:40 +00:00
/* We must declare this OS thread to exit InnoDB, since a
possible other thread holding a lock which this thread waits
for must be allowed to enter, sooner or later */
2005-10-27 07:29:40 +00:00
srv_conc_force_exit_innodb(trx);
}
had_dict_lock = trx->dict_operation_lock_mode;
2005-10-27 07:29:40 +00:00
switch (had_dict_lock) {
case RW_S_LATCH:
/* Release foreign key check latch */
2005-10-27 07:29:40 +00:00
row_mysql_unfreeze_data_dictionary(trx);
break;
case RW_X_LATCH:
/* Release fast index creation latch */
row_mysql_unlock_data_dictionary(trx);
break;
2005-10-27 07:29:40 +00:00
}
ut_a(trx->dict_operation_lock_mode == 0);
branches/innodb+: Merge revisions 3602:3931 from branches/zip: ------------------------------------------------------------------------ r3607 | marko | 2008-12-30 22:33:31 +0200 (Tue, 30 Dec 2008) | 20 lines branches/zip: Remove the dependency on the MySQL HASH table implementation. Use the InnoDB hash table for keeping track of INNOBASE_SHARE objects. struct st_innobase_share: Make table_name const uchar*. Add the member table_name_hash. innobase_open_tables: Change the type from HASH to hash_table_t*. innobase_get_key(): Remove. innobase_fold_name(): New function, for computing the fold value for the InnoDB hash table. get_share(), free_share(): Use the InnoDB hash functions. innobase_end(): Free innobase_open_tables before shutting down InnoDB. Shutting down InnoDB will invalidate all memory allocated via InnoDB. rb://65 approved by Heikki Tuuri. This addresses Issue #104. ------------------------------------------------------------------------ r3608 | marko | 2008-12-30 22:45:04 +0200 (Tue, 30 Dec 2008) | 22 lines branches/zip: When setting the PAGE_LEVEL of a compressed B-tree page from or to 0, compress the page at the same time. This is necessary, because the column information stored on the compressed page will differ between leaf and non-leaf pages. Leaf pages are identified by PAGE_LEVEL=0. This bug was reported as Issue #150. Document the similarity between btr_page_create() and btr_page_empty(). Make the function signature of btr_page_empty() identical with btr_page_create(). (This will add the parameter "level".) btr_root_raise_and_insert(): Replace some code with a call to btr_page_empty(). btr_attach_half_pages(): Assert that the page level has already been set on both block and new_block. Do not set it again. btr_discard_only_page_on_level(): Document that this function is probably never called. Make it work on any height tree. (Tested on 2-high tree by disabling btr_lift_page_up().) rb://68 ------------------------------------------------------------------------ r3612 | marko | 2009-01-02 11:02:44 +0200 (Fri, 02 Jan 2009) | 14 lines branches/zip: Merge c2998 from branches/6.0, so that the same InnoDB Plugin source tree will work both under 5.1 and 6.0. Do not add the test case innodb_ctype_ldml.test, because it would not work under MySQL 5.1. Refuse to create tables whose columns contain collation IDs above 255. This removes an assertion failure that was introduced in WL#4164 (Two-byte collation IDs). create_table_def(): Do not fail an assertion if a column contains a charset-collation ID greater than 256. Instead, issue an error and refuse to create the table. The original change (branches/6.0 r2998) was rb://51 approved by Calvin Sun. ------------------------------------------------------------------------ r3613 | inaam | 2009-01-02 15:10:50 +0200 (Fri, 02 Jan 2009) | 6 lines branches/zip: Implement the parameter innodb_use_sys_malloc (false by default), for disabling InnoDB's internal memory allocator and using system malloc/free instead. rb://62 approved by Marko ------------------------------------------------------------------------ r3614 | marko | 2009-01-02 15:55:12 +0200 (Fri, 02 Jan 2009) | 1 line branches/zip: ChangeLog: Document r3608 and r3613. ------------------------------------------------------------------------ r3615 | marko | 2009-01-02 15:57:51 +0200 (Fri, 02 Jan 2009) | 1 line branches/zip: ChangeLog: Clarify the impact of r3608. ------------------------------------------------------------------------ r3616 | marko | 2009-01-03 00:23:30 +0200 (Sat, 03 Jan 2009) | 1 line branches/zip: srv_suspend_mysql_thread(): Add some clarifying comments. ------------------------------------------------------------------------ r3618 | marko | 2009-01-05 12:54:53 +0200 (Mon, 05 Jan 2009) | 15 lines branches/zip: Merge revisions 3598:3601 from branches/5.1: ------------------------------------------------------------------------ r3601 | marko | 2008-12-22 16:05:19 +0200 (Mon, 22 Dec 2008) | 9 lines branches/5.1: Make SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED a true replacement of SET GLOBAL INNODB_LOCKS_UNSAFE_FOR_BINLOG=1. This fixes an error that was introduced in r370, causing semi-consistent read not to not unlock rows in READ COMMITTED mode. (Bug #41671, Issue #146) rb://67 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3623 | vasil | 2009-01-06 09:56:32 +0200 (Tue, 06 Jan 2009) | 7 lines branches/zip: Add patch to fix the failing main.variables mysql-test. It started failing after the variable innodb_use_sys_malloc was added because it matches '%alloc%' and the test is badly written and expects that no new variables like that will ever be added. ------------------------------------------------------------------------ r3795 | marko | 2009-01-07 16:17:47 +0200 (Wed, 07 Jan 2009) | 7 lines branches/zip: row_merge_tuple_cmp(): Do not report a duplicate key value if any of the fields are NULL. While the tuples are equal in the sorting order, SQL NULL is defined to be logically inequal to anything else. (Bug #41904) rb://70 approved by Heikki Tuuri ------------------------------------------------------------------------ r3796 | marko | 2009-01-07 16:19:32 +0200 (Wed, 07 Jan 2009) | 1 line branches/zip: Add the tests that were forgotten from r3795. ------------------------------------------------------------------------ r3797 | marko | 2009-01-07 16:22:18 +0200 (Wed, 07 Jan 2009) | 22 lines branches/zip: Do not call trx_allocate_for_mysql() directly, but use helper functions that initialize some members of the transaction struct. (Bug #41680) innobase_trx_init(): New function: initialize some fields of a transaction struct from a MySQL THD object. innobase_trx_allocate(): New function: allocate and initialize a transaction struct. check_trx_exists(): Use the above two functions. ha_innobase::delete_table(), ha_innobase::rename_table(), ha_innobase::add_index(), ha_innobase::final_drop_index(): Use innobase_trx_allocate(). innobase_drop_database(): In the Windows plugin, initialize the trx_t specially, because the THD is not available. Otherwise, use innobase_trx_allocate(). rb://69 accepted by Heikki Tuuri ------------------------------------------------------------------------ r3798 | marko | 2009-01-07 16:42:42 +0200 (Wed, 07 Jan 2009) | 8 lines branches/zip: row_merge_drop_temp_indexes(): Do not lock the rows of SYS_INDEXES when looking for partially created indexes. Use the transaction isolation level READ UNCOMMITTED to avoid interfering with locks held by incomplete transactions that will be rolled back in a subsequent step in the recovery. (Issue #152) Approved by Heikki Tuuri ------------------------------------------------------------------------ r3852 | vasil | 2009-01-08 22:10:10 +0200 (Thu, 08 Jan 2009) | 4 lines branches/zip: Add ChangeLog entries for r3795 r3796 r3797 r3798. ------------------------------------------------------------------------ r3866 | marko | 2009-01-09 15:09:51 +0200 (Fri, 09 Jan 2009) | 2 lines branches/zip: buf_flush_try_page(): Move some common code from each switch case before the switch block. ------------------------------------------------------------------------ r3867 | marko | 2009-01-09 15:13:14 +0200 (Fri, 09 Jan 2009) | 2 lines branches/zip: buf_flush_try_page(): Introduce the variable is_compressed for caching the result of buf_page_get_state(bpage) == BUF_BLOCK_FILE_PAGE. ------------------------------------------------------------------------ r3868 | marko | 2009-01-09 15:40:11 +0200 (Fri, 09 Jan 2009) | 4 lines branches/zip: buf_flush_insert_into_flush_list(), buf_flush_insert_sorted_into_flush_list(): Remove unused code. Change the parameter to buf_block_t* block and assert that block->state == BUF_BLOCK_FILE_PAGE. This is part of Issue #155. ------------------------------------------------------------------------ r3873 | marko | 2009-01-09 22:27:40 +0200 (Fri, 09 Jan 2009) | 17 lines branches/zip: Some non-functional changes related to Issue #155. buf_page_struct: Note that space and offset are also protected by buf_pool_mutex. They are only assigned to by buf_block_set_file_page(). Thus, it suffices for buf_flush_batch() to hold just buf_pool_mutex when checking these fields. buf_flush_try_page(): Rename "locked" to "is_s_latched", per Heikki's request. buf_flush_batch(): Move the common statement mutex_exit(block_mutex) from all if-else if-else branches before the if block. Remove the redundant test (buf_pool->init_flush[flush_type] == FALSE) that was apparently copied from buf_flush_write_complete(). buf_flush_write_block_low(): Note why it is safe not to hold buf_pool_mutex or block_mutex. Enumerate the assumptions in debug assertions. ------------------------------------------------------------------------ r3874 | marko | 2009-01-09 23:09:06 +0200 (Fri, 09 Jan 2009) | 4 lines branches/zip: Add comments related to Issue #155. buf_flush_try_page(): Note why it is safe to access bpage without holding buf_pool_mutex or block_mutex. ------------------------------------------------------------------------ r3875 | marko | 2009-01-09 23:15:12 +0200 (Fri, 09 Jan 2009) | 11 lines branches/zip: Non-functional change: Tighten debug assertions and remove dead code. buf_flush_ready_for_flush(), buf_flush_try_page(): Assert that flush_type is one of BUF_FLUSH_LRU or BUF_FLUSH_LIST. The flush_type comes from buf_flush_batch(), which already asserts this. The assertion holds for all calls in the source code. buf_flush_try_page(): Remove the dead case BUF_FLUSH_SINGLE_PAGE of switch (flush_type). ------------------------------------------------------------------------ r3879 | marko | 2009-01-12 12:46:44 +0200 (Mon, 12 Jan 2009) | 14 lines branches/zip: Simplify the flushing of dirty pages from the buffer pool. buf_flush_try_page(): Rename to buf_flush_page(), and change the return type to void. Replace the parameters space, offset with bpage, and remove the second page hash lookup. Note and assert that both buf_pool_mutex and block_mutex must now be held upon entering the function. They will still be released by this function. buf_flush_try_neighbors(): Replace buf_flush_try_page() with buf_flush_page(). Make the logic easier to follow by not negating the precondition of buf_flush_page(). rb://73 approved by Sunny Bains. This is related to Issue #157. ------------------------------------------------------------------------ r3880 | marko | 2009-01-12 13:24:37 +0200 (Mon, 12 Jan 2009) | 2 lines branches/zip: buf_flush_page(): Fix a comment that should have been fixed in r3879. Spotted by Sunny. ------------------------------------------------------------------------ r3881 | marko | 2009-01-12 14:25:22 +0200 (Mon, 12 Jan 2009) | 2 lines branches/zip: buf_page_get_newest_modification(): Use the block mutex instead of the buffer pool mutex. This is related to Issue #157. ------------------------------------------------------------------------ r3882 | marko | 2009-01-12 14:40:08 +0200 (Mon, 12 Jan 2009) | 3 lines branches/zip: struct mtr_struct: Remove the unused field magic_n unless UNIV_DEBUG is defined. mtr->magic_n is only assigned to and checked in UNIV_DEBUG builds. ------------------------------------------------------------------------ r3883 | marko | 2009-01-12 14:48:59 +0200 (Mon, 12 Jan 2009) | 1 line branches/zip: Non-functional change: Use ut_d when assigning to mtr->state. ------------------------------------------------------------------------ r3884 | marko | 2009-01-12 18:56:11 +0200 (Mon, 12 Jan 2009) | 16 lines branches/zip: Non-functional change: Add some debug assertions and comments. buf_page_t: Note that the LRU fields are protected by buf_pool_mutex only, not block->mutex or buf_pool_zip_mutex. buf_page_get_freed_page_clock(): Note that this is sometimes invoked without mutex protection. buf_pool_get_oldest_modification(): Note that the result may be out of date. buf_page_get_LRU_position(), buf_page_is_old(): Assert that the buffer pool mutex is being held. buf_page_release(): Assert that dirty blocks are in the flush list. ------------------------------------------------------------------------ r3896 | marko | 2009-01-13 09:30:26 +0200 (Tue, 13 Jan 2009) | 2 lines branches/zip: buf_flush_try_neighbors(): Fix a bug that was introduced in r3879 (rb://73). ------------------------------------------------------------------------ r3900 | marko | 2009-01-13 10:32:24 +0200 (Tue, 13 Jan 2009) | 1 line branches/zip: Fix some comments to say buf_pool_mutex. ------------------------------------------------------------------------ r3907 | marko | 2009-01-13 11:54:01 +0200 (Tue, 13 Jan 2009) | 3 lines branches/zip: row_merge_create_temporary_table(): On error, row_create_table_for_mysql() already frees new_table. Do not attempt to free it again. ------------------------------------------------------------------------ r3908 | marko | 2009-01-13 12:34:32 +0200 (Tue, 13 Jan 2009) | 1 line branches/zip: Enable HASH_ASSERT_OWNED independently of UNIV_SYNC_DEBUG. ------------------------------------------------------------------------ r3914 | marko | 2009-01-13 21:46:22 +0200 (Tue, 13 Jan 2009) | 37 lines branches/zip: In hash table lookups, assert that the traversed items satisfy some conditions when UNIV_DEBUG is defined. HASH_SEARCH(): New parameter: ASSERTION. All users will pass an appropriate ut_ad() or nothing. dict_table_add_to_columns(): Assert that the table being added to the data dictionary cache is not already being pointed to by the name_hash and id_hash tables. HASH_SEARCH_ALL(): New macro, for use in dict_table_add_to_columns(). dict_mem_table_free(): Set ut_d(table->cached = FALSE), so that we can check ut_ad(table->cached) when traversing the hash tables, as in HASH_SEARCH(name_hash, dict_sys->table_hash, ...) and HASH_SEARCH(id_hash, dict_sys->table_id_hash, ...). dict_table_get_low(), dict_table_get_on_id_low(): Assert ut_ad(!table || table->cached). fil_space_get_by_id(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N) in HASH_SEARCH(hash, fil_system->spaces, ...). fil_space_get_by_name(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N) in HASH_SEARCH(name_hash, fil_system->name_hash, ...). buf_buddy_block_free(): Check that the blocks are in valid state in HASH_SEARCH(hash, buf_pool->zip_hash, ...). buf_page_hash_get(): Check that the blocks are in valid state in HASH_SEARCH(hash, buf_pool->page_hash, ...). get_share(), free_share(): Check ut_ad(share->use_count > 0) in HASH_SEARCH(table_name_hash, innobase_open_tables, ...). This was posted as rb://75 for tracking down errors similar to Issue #153. ------------------------------------------------------------------------ r3931 | marko | 2009-01-14 16:06:22 +0200 (Wed, 14 Jan 2009) | 26 lines branches/zip: Merge revisions 3601:3930 from branches/5.1: ------------------------------------------------------------------------ r3911 | sunny | 2009-01-13 14:15:24 +0200 (Tue, 13 Jan 2009) | 13 lines branches/5.1: Fix Bug#38187 Error 153 when creating savepoints InnoDB previously treated savepoints as a stack e.g., SAVEPOINT a; SAVEPOINT b; SAVEPOINT c; SAVEPOINT b; <- This would delete b and c. This fix changes the behavior to: SAVEPOINT a; SAVEPOINT b; SAVEPOINT c; SAVEPOINT b; <- Does not delete savepoint c ------------------------------------------------------------------------ r3930 | marko | 2009-01-14 15:51:30 +0200 (Wed, 14 Jan 2009) | 4 lines branches/5.1: dict_load_table(): If dict_load_indexes() fails, invoke dict_table_remove_from_cache() instead of dict_mem_table_free(), so that the data dictionary will not point to freed data. (Bug #42075, Issue #153, rb://76 approved by Heikki Tuuri) ------------------------------------------------------------------------ ------------------------------------------------------------------------
2009-01-14 14:25:45 +00:00
/* Suspend this thread and wait for the event. */
2005-10-27 07:29:40 +00:00
os_event_wait(event);
branches/innodb+: Merge revisions 3602:3931 from branches/zip: ------------------------------------------------------------------------ r3607 | marko | 2008-12-30 22:33:31 +0200 (Tue, 30 Dec 2008) | 20 lines branches/zip: Remove the dependency on the MySQL HASH table implementation. Use the InnoDB hash table for keeping track of INNOBASE_SHARE objects. struct st_innobase_share: Make table_name const uchar*. Add the member table_name_hash. innobase_open_tables: Change the type from HASH to hash_table_t*. innobase_get_key(): Remove. innobase_fold_name(): New function, for computing the fold value for the InnoDB hash table. get_share(), free_share(): Use the InnoDB hash functions. innobase_end(): Free innobase_open_tables before shutting down InnoDB. Shutting down InnoDB will invalidate all memory allocated via InnoDB. rb://65 approved by Heikki Tuuri. This addresses Issue #104. ------------------------------------------------------------------------ r3608 | marko | 2008-12-30 22:45:04 +0200 (Tue, 30 Dec 2008) | 22 lines branches/zip: When setting the PAGE_LEVEL of a compressed B-tree page from or to 0, compress the page at the same time. This is necessary, because the column information stored on the compressed page will differ between leaf and non-leaf pages. Leaf pages are identified by PAGE_LEVEL=0. This bug was reported as Issue #150. Document the similarity between btr_page_create() and btr_page_empty(). Make the function signature of btr_page_empty() identical with btr_page_create(). (This will add the parameter "level".) btr_root_raise_and_insert(): Replace some code with a call to btr_page_empty(). btr_attach_half_pages(): Assert that the page level has already been set on both block and new_block. Do not set it again. btr_discard_only_page_on_level(): Document that this function is probably never called. Make it work on any height tree. (Tested on 2-high tree by disabling btr_lift_page_up().) rb://68 ------------------------------------------------------------------------ r3612 | marko | 2009-01-02 11:02:44 +0200 (Fri, 02 Jan 2009) | 14 lines branches/zip: Merge c2998 from branches/6.0, so that the same InnoDB Plugin source tree will work both under 5.1 and 6.0. Do not add the test case innodb_ctype_ldml.test, because it would not work under MySQL 5.1. Refuse to create tables whose columns contain collation IDs above 255. This removes an assertion failure that was introduced in WL#4164 (Two-byte collation IDs). create_table_def(): Do not fail an assertion if a column contains a charset-collation ID greater than 256. Instead, issue an error and refuse to create the table. The original change (branches/6.0 r2998) was rb://51 approved by Calvin Sun. ------------------------------------------------------------------------ r3613 | inaam | 2009-01-02 15:10:50 +0200 (Fri, 02 Jan 2009) | 6 lines branches/zip: Implement the parameter innodb_use_sys_malloc (false by default), for disabling InnoDB's internal memory allocator and using system malloc/free instead. rb://62 approved by Marko ------------------------------------------------------------------------ r3614 | marko | 2009-01-02 15:55:12 +0200 (Fri, 02 Jan 2009) | 1 line branches/zip: ChangeLog: Document r3608 and r3613. ------------------------------------------------------------------------ r3615 | marko | 2009-01-02 15:57:51 +0200 (Fri, 02 Jan 2009) | 1 line branches/zip: ChangeLog: Clarify the impact of r3608. ------------------------------------------------------------------------ r3616 | marko | 2009-01-03 00:23:30 +0200 (Sat, 03 Jan 2009) | 1 line branches/zip: srv_suspend_mysql_thread(): Add some clarifying comments. ------------------------------------------------------------------------ r3618 | marko | 2009-01-05 12:54:53 +0200 (Mon, 05 Jan 2009) | 15 lines branches/zip: Merge revisions 3598:3601 from branches/5.1: ------------------------------------------------------------------------ r3601 | marko | 2008-12-22 16:05:19 +0200 (Mon, 22 Dec 2008) | 9 lines branches/5.1: Make SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED a true replacement of SET GLOBAL INNODB_LOCKS_UNSAFE_FOR_BINLOG=1. This fixes an error that was introduced in r370, causing semi-consistent read not to not unlock rows in READ COMMITTED mode. (Bug #41671, Issue #146) rb://67 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r3623 | vasil | 2009-01-06 09:56:32 +0200 (Tue, 06 Jan 2009) | 7 lines branches/zip: Add patch to fix the failing main.variables mysql-test. It started failing after the variable innodb_use_sys_malloc was added because it matches '%alloc%' and the test is badly written and expects that no new variables like that will ever be added. ------------------------------------------------------------------------ r3795 | marko | 2009-01-07 16:17:47 +0200 (Wed, 07 Jan 2009) | 7 lines branches/zip: row_merge_tuple_cmp(): Do not report a duplicate key value if any of the fields are NULL. While the tuples are equal in the sorting order, SQL NULL is defined to be logically inequal to anything else. (Bug #41904) rb://70 approved by Heikki Tuuri ------------------------------------------------------------------------ r3796 | marko | 2009-01-07 16:19:32 +0200 (Wed, 07 Jan 2009) | 1 line branches/zip: Add the tests that were forgotten from r3795. ------------------------------------------------------------------------ r3797 | marko | 2009-01-07 16:22:18 +0200 (Wed, 07 Jan 2009) | 22 lines branches/zip: Do not call trx_allocate_for_mysql() directly, but use helper functions that initialize some members of the transaction struct. (Bug #41680) innobase_trx_init(): New function: initialize some fields of a transaction struct from a MySQL THD object. innobase_trx_allocate(): New function: allocate and initialize a transaction struct. check_trx_exists(): Use the above two functions. ha_innobase::delete_table(), ha_innobase::rename_table(), ha_innobase::add_index(), ha_innobase::final_drop_index(): Use innobase_trx_allocate(). innobase_drop_database(): In the Windows plugin, initialize the trx_t specially, because the THD is not available. Otherwise, use innobase_trx_allocate(). rb://69 accepted by Heikki Tuuri ------------------------------------------------------------------------ r3798 | marko | 2009-01-07 16:42:42 +0200 (Wed, 07 Jan 2009) | 8 lines branches/zip: row_merge_drop_temp_indexes(): Do not lock the rows of SYS_INDEXES when looking for partially created indexes. Use the transaction isolation level READ UNCOMMITTED to avoid interfering with locks held by incomplete transactions that will be rolled back in a subsequent step in the recovery. (Issue #152) Approved by Heikki Tuuri ------------------------------------------------------------------------ r3852 | vasil | 2009-01-08 22:10:10 +0200 (Thu, 08 Jan 2009) | 4 lines branches/zip: Add ChangeLog entries for r3795 r3796 r3797 r3798. ------------------------------------------------------------------------ r3866 | marko | 2009-01-09 15:09:51 +0200 (Fri, 09 Jan 2009) | 2 lines branches/zip: buf_flush_try_page(): Move some common code from each switch case before the switch block. ------------------------------------------------------------------------ r3867 | marko | 2009-01-09 15:13:14 +0200 (Fri, 09 Jan 2009) | 2 lines branches/zip: buf_flush_try_page(): Introduce the variable is_compressed for caching the result of buf_page_get_state(bpage) == BUF_BLOCK_FILE_PAGE. ------------------------------------------------------------------------ r3868 | marko | 2009-01-09 15:40:11 +0200 (Fri, 09 Jan 2009) | 4 lines branches/zip: buf_flush_insert_into_flush_list(), buf_flush_insert_sorted_into_flush_list(): Remove unused code. Change the parameter to buf_block_t* block and assert that block->state == BUF_BLOCK_FILE_PAGE. This is part of Issue #155. ------------------------------------------------------------------------ r3873 | marko | 2009-01-09 22:27:40 +0200 (Fri, 09 Jan 2009) | 17 lines branches/zip: Some non-functional changes related to Issue #155. buf_page_struct: Note that space and offset are also protected by buf_pool_mutex. They are only assigned to by buf_block_set_file_page(). Thus, it suffices for buf_flush_batch() to hold just buf_pool_mutex when checking these fields. buf_flush_try_page(): Rename "locked" to "is_s_latched", per Heikki's request. buf_flush_batch(): Move the common statement mutex_exit(block_mutex) from all if-else if-else branches before the if block. Remove the redundant test (buf_pool->init_flush[flush_type] == FALSE) that was apparently copied from buf_flush_write_complete(). buf_flush_write_block_low(): Note why it is safe not to hold buf_pool_mutex or block_mutex. Enumerate the assumptions in debug assertions. ------------------------------------------------------------------------ r3874 | marko | 2009-01-09 23:09:06 +0200 (Fri, 09 Jan 2009) | 4 lines branches/zip: Add comments related to Issue #155. buf_flush_try_page(): Note why it is safe to access bpage without holding buf_pool_mutex or block_mutex. ------------------------------------------------------------------------ r3875 | marko | 2009-01-09 23:15:12 +0200 (Fri, 09 Jan 2009) | 11 lines branches/zip: Non-functional change: Tighten debug assertions and remove dead code. buf_flush_ready_for_flush(), buf_flush_try_page(): Assert that flush_type is one of BUF_FLUSH_LRU or BUF_FLUSH_LIST. The flush_type comes from buf_flush_batch(), which already asserts this. The assertion holds for all calls in the source code. buf_flush_try_page(): Remove the dead case BUF_FLUSH_SINGLE_PAGE of switch (flush_type). ------------------------------------------------------------------------ r3879 | marko | 2009-01-12 12:46:44 +0200 (Mon, 12 Jan 2009) | 14 lines branches/zip: Simplify the flushing of dirty pages from the buffer pool. buf_flush_try_page(): Rename to buf_flush_page(), and change the return type to void. Replace the parameters space, offset with bpage, and remove the second page hash lookup. Note and assert that both buf_pool_mutex and block_mutex must now be held upon entering the function. They will still be released by this function. buf_flush_try_neighbors(): Replace buf_flush_try_page() with buf_flush_page(). Make the logic easier to follow by not negating the precondition of buf_flush_page(). rb://73 approved by Sunny Bains. This is related to Issue #157. ------------------------------------------------------------------------ r3880 | marko | 2009-01-12 13:24:37 +0200 (Mon, 12 Jan 2009) | 2 lines branches/zip: buf_flush_page(): Fix a comment that should have been fixed in r3879. Spotted by Sunny. ------------------------------------------------------------------------ r3881 | marko | 2009-01-12 14:25:22 +0200 (Mon, 12 Jan 2009) | 2 lines branches/zip: buf_page_get_newest_modification(): Use the block mutex instead of the buffer pool mutex. This is related to Issue #157. ------------------------------------------------------------------------ r3882 | marko | 2009-01-12 14:40:08 +0200 (Mon, 12 Jan 2009) | 3 lines branches/zip: struct mtr_struct: Remove the unused field magic_n unless UNIV_DEBUG is defined. mtr->magic_n is only assigned to and checked in UNIV_DEBUG builds. ------------------------------------------------------------------------ r3883 | marko | 2009-01-12 14:48:59 +0200 (Mon, 12 Jan 2009) | 1 line branches/zip: Non-functional change: Use ut_d when assigning to mtr->state. ------------------------------------------------------------------------ r3884 | marko | 2009-01-12 18:56:11 +0200 (Mon, 12 Jan 2009) | 16 lines branches/zip: Non-functional change: Add some debug assertions and comments. buf_page_t: Note that the LRU fields are protected by buf_pool_mutex only, not block->mutex or buf_pool_zip_mutex. buf_page_get_freed_page_clock(): Note that this is sometimes invoked without mutex protection. buf_pool_get_oldest_modification(): Note that the result may be out of date. buf_page_get_LRU_position(), buf_page_is_old(): Assert that the buffer pool mutex is being held. buf_page_release(): Assert that dirty blocks are in the flush list. ------------------------------------------------------------------------ r3896 | marko | 2009-01-13 09:30:26 +0200 (Tue, 13 Jan 2009) | 2 lines branches/zip: buf_flush_try_neighbors(): Fix a bug that was introduced in r3879 (rb://73). ------------------------------------------------------------------------ r3900 | marko | 2009-01-13 10:32:24 +0200 (Tue, 13 Jan 2009) | 1 line branches/zip: Fix some comments to say buf_pool_mutex. ------------------------------------------------------------------------ r3907 | marko | 2009-01-13 11:54:01 +0200 (Tue, 13 Jan 2009) | 3 lines branches/zip: row_merge_create_temporary_table(): On error, row_create_table_for_mysql() already frees new_table. Do not attempt to free it again. ------------------------------------------------------------------------ r3908 | marko | 2009-01-13 12:34:32 +0200 (Tue, 13 Jan 2009) | 1 line branches/zip: Enable HASH_ASSERT_OWNED independently of UNIV_SYNC_DEBUG. ------------------------------------------------------------------------ r3914 | marko | 2009-01-13 21:46:22 +0200 (Tue, 13 Jan 2009) | 37 lines branches/zip: In hash table lookups, assert that the traversed items satisfy some conditions when UNIV_DEBUG is defined. HASH_SEARCH(): New parameter: ASSERTION. All users will pass an appropriate ut_ad() or nothing. dict_table_add_to_columns(): Assert that the table being added to the data dictionary cache is not already being pointed to by the name_hash and id_hash tables. HASH_SEARCH_ALL(): New macro, for use in dict_table_add_to_columns(). dict_mem_table_free(): Set ut_d(table->cached = FALSE), so that we can check ut_ad(table->cached) when traversing the hash tables, as in HASH_SEARCH(name_hash, dict_sys->table_hash, ...) and HASH_SEARCH(id_hash, dict_sys->table_id_hash, ...). dict_table_get_low(), dict_table_get_on_id_low(): Assert ut_ad(!table || table->cached). fil_space_get_by_id(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N) in HASH_SEARCH(hash, fil_system->spaces, ...). fil_space_get_by_name(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N) in HASH_SEARCH(name_hash, fil_system->name_hash, ...). buf_buddy_block_free(): Check that the blocks are in valid state in HASH_SEARCH(hash, buf_pool->zip_hash, ...). buf_page_hash_get(): Check that the blocks are in valid state in HASH_SEARCH(hash, buf_pool->page_hash, ...). get_share(), free_share(): Check ut_ad(share->use_count > 0) in HASH_SEARCH(table_name_hash, innobase_open_tables, ...). This was posted as rb://75 for tracking down errors similar to Issue #153. ------------------------------------------------------------------------ r3931 | marko | 2009-01-14 16:06:22 +0200 (Wed, 14 Jan 2009) | 26 lines branches/zip: Merge revisions 3601:3930 from branches/5.1: ------------------------------------------------------------------------ r3911 | sunny | 2009-01-13 14:15:24 +0200 (Tue, 13 Jan 2009) | 13 lines branches/5.1: Fix Bug#38187 Error 153 when creating savepoints InnoDB previously treated savepoints as a stack e.g., SAVEPOINT a; SAVEPOINT b; SAVEPOINT c; SAVEPOINT b; <- This would delete b and c. This fix changes the behavior to: SAVEPOINT a; SAVEPOINT b; SAVEPOINT c; SAVEPOINT b; <- Does not delete savepoint c ------------------------------------------------------------------------ r3930 | marko | 2009-01-14 15:51:30 +0200 (Wed, 14 Jan 2009) | 4 lines branches/5.1: dict_load_table(): If dict_load_indexes() fails, invoke dict_table_remove_from_cache() instead of dict_mem_table_free(), so that the data dictionary will not point to freed data. (Bug #42075, Issue #153, rb://76 approved by Heikki Tuuri) ------------------------------------------------------------------------ ------------------------------------------------------------------------
2009-01-14 14:25:45 +00:00
/* After resuming, reacquire the data dictionary latch if
necessary. */
switch (had_dict_lock) {
case RW_S_LATCH:
2005-10-27 07:29:40 +00:00
row_mysql_freeze_data_dictionary(trx);
break;
case RW_X_LATCH:
row_mysql_lock_data_dictionary(trx);
break;
2005-10-27 07:29:40 +00:00
}
if (was_declared_inside_innodb) {
/* Return back inside InnoDB */
2005-10-27 07:29:40 +00:00
srv_conc_force_enter_innodb(trx);
}
mutex_enter(&kernel_mutex);
/* Release the slot for others to use */
2005-10-27 07:29:40 +00:00
slot->in_use = FALSE;
wait_time = ut_difftime(ut_time(), slot->suspend_time);
if (thr->lock_state == QUE_THR_LOCK_ROW) {
if (ut_usectime(&sec, &ms) == -1) {
finish_time = -1;
} else {
finish_time = (ib_int64_t) sec * 1000000 + ms;
}
2005-10-27 07:29:40 +00:00
diff_time = (ulint) (finish_time - start_time);
2005-10-27 07:29:40 +00:00
srv_n_lock_wait_current_count--;
srv_n_lock_wait_time = srv_n_lock_wait_time + diff_time;
if (diff_time > srv_n_lock_max_wait_time &&
/* only update the variable if we successfully
retrieved the start and finish times. See Bug#36819. */
start_time != -1 && finish_time != -1) {
2005-10-27 07:29:40 +00:00
srv_n_lock_max_wait_time = diff_time;
}
}
if (trx->was_chosen_as_deadlock_victim) {
trx->error_state = DB_DEADLOCK;
trx->was_chosen_as_deadlock_victim = FALSE;
}
mutex_exit(&kernel_mutex);
/* InnoDB system transactions (such as the purge, and
incomplete transactions that are being rolled back after crash
recovery) will use the global value of
innodb_lock_wait_timeout, because trx->mysql_thd == NULL. */
lock_wait_timeout = thd_lock_wait_timeout(trx->mysql_thd);
if (lock_wait_timeout < 100000000
&& wait_time > (double) lock_wait_timeout) {
2005-10-27 07:29:40 +00:00
trx->error_state = DB_LOCK_WAIT_TIMEOUT;
2005-10-27 07:29:40 +00:00
}
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/********************************************************************//**
2005-10-27 07:29:40 +00:00
Releases a MySQL OS thread waiting for a lock to be released, if the
thread is already suspended. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_release_mysql_thread_if_suspended(
/*==================================*/
que_thr_t* thr) /*!< in: query thread associated with the
MySQL OS thread */
2005-10-27 07:29:40 +00:00
{
srv_slot_t* slot;
ulint i;
2005-10-27 07:29:40 +00:00
ut_ad(mutex_own(&kernel_mutex));
for (i = 0; i < OS_THREAD_MAX_N; i++) {
slot = srv_mysql_table + i;
if (slot->in_use && slot->thr == thr) {
/* Found */
os_event_set(slot->event);
return;
}
}
/* not found */
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/******************************************************************//**
2005-10-27 07:29:40 +00:00
Refreshes the values used to calculate per-second averages. */
static
void
srv_refresh_innodb_monitor_stats(void)
/*==================================*/
{
mutex_enter(&srv_innodb_monitor_mutex);
srv_last_monitor_time = time(NULL);
os_aio_refresh_stats();
btr_cur_n_sea_old = btr_cur_n_sea;
btr_cur_n_non_sea_old = btr_cur_n_non_sea;
log_refresh_stats();
2005-10-27 07:29:40 +00:00
buf_refresh_io_stats();
srv_n_rows_inserted_old = srv_n_rows_inserted;
srv_n_rows_updated_old = srv_n_rows_updated;
srv_n_rows_deleted_old = srv_n_rows_deleted;
srv_n_rows_read_old = srv_n_rows_read;
mutex_exit(&srv_innodb_monitor_mutex);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/******************************************************************//**
2005-10-27 07:29:40 +00:00
Outputs to a file the output of the InnoDB Monitor. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_printf_innodb_monitor(
/*======================*/
FILE* file, /*!< in: output stream */
ulint* trx_start, /*!< out: file position of the start of
2005-10-27 07:29:40 +00:00
the list of active transactions */
ulint* trx_end) /*!< out: file position of the end of
2005-10-27 07:29:40 +00:00
the list of active transactions */
{
double time_elapsed;
time_t current_time;
ulint n_reserved;
2005-10-27 07:29:40 +00:00
mutex_enter(&srv_innodb_monitor_mutex);
current_time = time(NULL);
/* We add 0.001 seconds to time_elapsed to prevent division
by zero if two users happen to call SHOW INNODB STATUS at the same
time */
2005-10-27 07:29:40 +00:00
time_elapsed = difftime(current_time, srv_last_monitor_time)
+ 0.001;
2005-10-27 07:29:40 +00:00
srv_last_monitor_time = time(NULL);
fputs("\n=====================================\n", file);
ut_print_timestamp(file);
fprintf(file,
" INNODB MONITOR OUTPUT\n"
"=====================================\n"
"Per second averages calculated from the last %lu seconds\n",
(ulong)time_elapsed);
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
fputs("----------\n"
"BACKGROUND THREAD\n"
"----------\n", file);
srv_print_master_thread_info(file);
2005-10-27 07:29:40 +00:00
fputs("----------\n"
"SEMAPHORES\n"
"----------\n", file);
2005-10-27 07:29:40 +00:00
sync_print(file);
/* Conceptually, srv_innodb_monitor_mutex has a very high latching
order level in sync0sync.h, while dict_foreign_err_mutex has a very
low level 135. Therefore we can reserve the latter mutex here without
a danger of a deadlock of threads. */
mutex_enter(&dict_foreign_err_mutex);
if (ftell(dict_foreign_err_file) != 0L) {
fputs("------------------------\n"
"LATEST FOREIGN KEY ERROR\n"
"------------------------\n", file);
2005-10-27 07:29:40 +00:00
ut_copy_file(file, dict_foreign_err_file);
}
mutex_exit(&dict_foreign_err_mutex);
lock_print_info_summary(file);
if (trx_start) {
long t = ftell(file);
if (t < 0) {
*trx_start = ULINT_UNDEFINED;
} else {
*trx_start = (ulint) t;
}
}
lock_print_info_all_transactions(file);
if (trx_end) {
long t = ftell(file);
if (t < 0) {
*trx_end = ULINT_UNDEFINED;
} else {
*trx_end = (ulint) t;
}
}
fputs("--------\n"
"FILE I/O\n"
"--------\n", file);
2005-10-27 07:29:40 +00:00
os_aio_print(file);
fputs("-------------------------------------\n"
"INSERT BUFFER AND ADAPTIVE HASH INDEX\n"
"-------------------------------------\n", file);
2005-10-27 07:29:40 +00:00
ibuf_print(file);
ha_print_info(file, btr_search_sys->hash_index);
fprintf(file,
"%.2f hash searches/s, %.2f non-hash searches/s\n",
(btr_cur_n_sea - btr_cur_n_sea_old)
/ time_elapsed,
(btr_cur_n_non_sea - btr_cur_n_non_sea_old)
/ time_elapsed);
2005-10-27 07:29:40 +00:00
btr_cur_n_sea_old = btr_cur_n_sea;
btr_cur_n_non_sea_old = btr_cur_n_non_sea;
fputs("---\n"
"LOG\n"
"---\n", file);
2005-10-27 07:29:40 +00:00
log_print(file);
fputs("----------------------\n"
"BUFFER POOL AND MEMORY\n"
"----------------------\n", file);
2005-10-27 07:29:40 +00:00
fprintf(file,
"Total memory allocated " ULINTPF
"; in additional pool allocated " ULINTPF "\n",
ut_total_allocated_memory,
mem_pool_get_reserved(mem_comm_pool));
fprintf(file, "Dictionary memory allocated " ULINTPF "\n",
dict_sys->size);
2005-10-27 07:29:40 +00:00
buf_print_io(file);
fputs("--------------\n"
"ROW OPERATIONS\n"
"--------------\n", file);
2005-10-27 07:29:40 +00:00
fprintf(file, "%ld queries inside InnoDB, %lu queries in queue\n",
(long) srv_conc_n_threads,
(ulong) srv_conc_n_waiting_threads);
2005-10-27 07:29:40 +00:00
fprintf(file, "%lu read views open inside InnoDB\n",
UT_LIST_GET_LEN(trx_sys->view_list));
2005-10-27 07:29:40 +00:00
n_reserved = fil_space_get_n_reserved_extents(0);
if (n_reserved > 0) {
fprintf(file,
"%lu tablespace extents now reserved for"
" B-tree split operations\n",
(ulong) n_reserved);
}
2005-10-27 07:29:40 +00:00
#ifdef UNIV_LINUX
fprintf(file, "Main thread process no. %lu, id %lu, state: %s\n",
(ulong) srv_main_thread_process_no,
(ulong) srv_main_thread_id,
srv_main_thread_op_info);
2005-10-27 07:29:40 +00:00
#else
fprintf(file, "Main thread id %lu, state: %s\n",
(ulong) srv_main_thread_id,
srv_main_thread_op_info);
2005-10-27 07:29:40 +00:00
#endif
fprintf(file,
"Number of rows inserted " ULINTPF
", updated " ULINTPF ", deleted " ULINTPF
", read " ULINTPF "\n",
srv_n_rows_inserted,
srv_n_rows_updated,
srv_n_rows_deleted,
srv_n_rows_read);
2005-10-27 07:29:40 +00:00
fprintf(file,
"%.2f inserts/s, %.2f updates/s,"
" %.2f deletes/s, %.2f reads/s\n",
(srv_n_rows_inserted - srv_n_rows_inserted_old)
/ time_elapsed,
(srv_n_rows_updated - srv_n_rows_updated_old)
/ time_elapsed,
(srv_n_rows_deleted - srv_n_rows_deleted_old)
/ time_elapsed,
(srv_n_rows_read - srv_n_rows_read_old)
/ time_elapsed);
srv_n_rows_inserted_old = srv_n_rows_inserted;
2005-10-27 07:29:40 +00:00
srv_n_rows_updated_old = srv_n_rows_updated;
srv_n_rows_deleted_old = srv_n_rows_deleted;
srv_n_rows_read_old = srv_n_rows_read;
fputs("----------------------------\n"
"END OF INNODB MONITOR OUTPUT\n"
"============================\n", file);
2005-10-27 07:29:40 +00:00
mutex_exit(&srv_innodb_monitor_mutex);
fflush(file);
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/******************************************************************//**
2005-10-27 07:29:40 +00:00
Function to pass InnoDB status variables to MySQL */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_export_innodb_status(void)
branches/innodb+: Merge revisions 4660:5090 from branches/zip: ------------------------------------------------------------------------ r4670 | vasil | 2009-04-07 09:35:23 +0300 (Tue, 07 Apr 2009) | 11 lines branches/zip: Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes of InnoDB table by replacing the pseudo random number generator with a better one (LCG). This also fixes Mantis Issue#212. Approved by: Heikki (rb://110) ------------------------------------------------------------------------ r4671 | vasil | 2009-04-07 09:37:31 +0300 (Tue, 07 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4670. ------------------------------------------------------------------------ r4673 | marko | 2009-04-07 15:45:28 +0300 (Tue, 07 Apr 2009) | 4 lines branches/zip: Allow in-place updates of UTF-8 CHAR columns from or to NULL in ROW_FORMAT=REDUNDANT. (Bug #44032) rb://107 approved by Heikki Tuuri. ------------------------------------------------------------------------ r4677 | marko | 2009-04-07 16:19:31 +0300 (Tue, 07 Apr 2009) | 1 line branches/zip: Adjust r4673 as in the merge to branches/6.0 -r4676. ------------------------------------------------------------------------ r4678 | inaam | 2009-04-07 18:45:37 +0300 (Tue, 07 Apr 2009) | 12 lines branches/zip Enable atomics on solaris (using the libc functions as defined in atomic.h) if GCC atomic builtins are not present. There still remains some work to be done (by Vasil?). This patch makes changes to plug.in to check pthread_t size and presence of atomic functions when running on solaris. The same has to become a part of the generated Makefile.in when we bake our source. Reviewed by: Heikki rb://106 ------------------------------------------------------------------------ r4687 | vasil | 2009-04-08 13:08:59 +0300 (Wed, 08 Apr 2009) | 4 lines branches/zip: Whitespace fixup in the ChangeLog ------------------------------------------------------------------------ r4688 | vasil | 2009-04-08 13:11:15 +0300 (Wed, 08 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4678. ------------------------------------------------------------------------ r4689 | marko | 2009-04-08 14:24:49 +0300 (Wed, 08 Apr 2009) | 5 lines branches/zip: Hide unnecessarily visible globals. dict_ind_redundant, dict_ind_compact: Declare these UNIV_INTERN. innodb_hton_ptr: Declare static. We do not attempt to access the built-in InnoDB any more. trx_roll_savepoints_free(): Declare UNIV_INTERN. ------------------------------------------------------------------------ r4700 | calvin | 2009-04-11 00:37:10 +0300 (Sat, 11 Apr 2009) | 9 lines branches/zip: Rewrite CMakeLists.txt CMakeLists.txt is completely rewritten: - To replace the one written by mysql - Print out some useful information, such as system name, directory, generator used, win64, Microsoft compiler, etc. - Remove one workaround for mysqld.lib location. User does not need to specify a build type ------------------------------------------------------------------------ r4702 | calvin | 2009-04-13 18:16:44 +0300 (Mon, 13 Apr 2009) | 3 lines branches/zip: delete the original CMakeLists.txt A new version will be committed, suggested by Ken. ------------------------------------------------------------------------ r4703 | calvin | 2009-04-13 18:20:45 +0300 (Mon, 13 Apr 2009) | 9 lines branches/zip: new CMakeLists.txt CMakeLists.txt is completely rewritten with enhancements: - Print out useful information, such as system name, directory, generator used, win64, Microsoft compiler, etc. - Remove one workaround for mysqld.lib location. User does not need to specify a build type when invoking MSVC generator. ------------------------------------------------------------------------ r4706 | vasil | 2009-04-14 14:32:11 +0300 (Tue, 14 Apr 2009) | 5 lines branches/zip: When using the random function, first take the modulus by the number of pages and then typecast to ulint. ------------------------------------------------------------------------ r4707 | calvin | 2009-04-14 17:47:31 +0300 (Tue, 14 Apr 2009) | 13 lines branches/zip: remove statically linked libraries from mysql To make zlib and strings dynamically linked; mysqld will export additional functions required by InnoDB. Since the symbols will be resolved dynamically during runtime, wdl_load_mapfile() is no longer able to make any function calls to ones in mysqld. As the result, strtoull() (from strings.lib) is replaced with _strtoui64(). rb://111 Approved by: Marko ------------------------------------------------------------------------ r4712 | vasil | 2009-04-15 12:26:32 +0300 (Wed, 15 Apr 2009) | 157 lines branches/zip: Merge revisions 4481:4710 from branches/5.1: (resolving conflict in r4574, r4575 and skipping r4699 and r4705 because analogous changes to r4699 and r4705 were already made to branches/zip) ------------------------------------------------------------------------ r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines Changed paths: M /branches/5.1/mysql-test/innodb.test branches/5.1: Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com ------------------------------------------------------------------------ r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines Changed paths: M /branches/5.1/Makefile.am M /branches/5.1/mysql-test/innodb.test branches/5.1: Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning: TEST RESULT TIME (ms) ------------------------------------------------------------ worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509 main.innodb [ pass ] 8803 MTR's internal check of the test case 'main.innodb' failed. This means that the test case does not preserve the state that existed before the test case was executed. Most likely the test case did not do a proper clean-up. This is the diff of the states of the servers before and after the test case was executed: mysqltest: Logging to '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'. mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'. mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ... mysqltest: ... Connected. mysqltest: Start processing test commands from './include/check-testcase.test' ... mysqltest: ... Done processing test commands. --- /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result 2009-03-30 14:12:31.000000000 +0300 +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject 2009-03-30 14:12:41.000000000 +0300 @@ -99,7 +99,7 @@ INNODB_SUPPORT_XA ON INNODB_SYNC_SPIN_LOOPS 20 INNODB_TABLE_LOCKS ON -INNODB_THREAD_CONCURRENCY 8 +INNODB_THREAD_CONCURRENCY 16 INNODB_THREAD_SLEEP_DELAY 10000 INSERT_ID 0 INTERACTIVE_TIMEOUT 28800 mysqltest: Result content mismatch not ok ------------------------------------------------------------------------ r4575 | vasil | 2009-03-30 15:55:31 +0300 (Mon, 30 Mar 2009) | 8 lines Changed paths: M /branches/5.1/mysql-test/innodb.result M /branches/5.1/mysql-test/innodb.test branches/5.1: Fix Bug#43309 Test main.innodb can't be run twice Make the innodb mysql-test more flexible by inspecting how much a variable of interest has changed since the start of the test. Do not assume the variables have zero values at the start of the test. ------------------------------------------------------------------------ r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Revert a change to Makefile.am that I committed accidentally in c4574. ------------------------------------------------------------------------ r4659 | vasil | 2009-04-06 15:34:51 +0300 (Mon, 06 Apr 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb.test branches/5.1: Followup to r4575 and the fix of Bug#43309 Test main.innodb can't be run twice: Add an explanatory comment, as suggested by Patrick Crews in the bug report. ------------------------------------------------------------------------ r4699 | vasil | 2009-04-09 14:01:52 +0300 (Thu, 09 Apr 2009) | 15 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/srv0srv.h M /branches/5.1/page/page0cur.c M /branches/5.1/srv/srv0srv.c branches/5.1: Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes of InnoDB table by replacing the PRNG that is used to pick random pages with a better one. This is based on r4670 but also adds a new configuration option and enables the fix only if this option is changed. Please skip the present revision when merging. Approved by: Heikki (via email) ------------------------------------------------------------------------ r4705 | vasil | 2009-04-14 14:30:13 +0300 (Tue, 14 Apr 2009) | 5 lines Changed paths: M /branches/5.1/page/page0cur.c branches/5.1: When using the random function, first take the modulus by the number of pages and then typecast to ulint. ------------------------------------------------------------------------ r4710 | vasil | 2009-04-15 11:55:18 +0300 (Wed, 15 Apr 2009) | 25 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL (looks like this is against 5.0 but they later merged it to 5.1): ------------------------------------------------------------ revno: 1810.3846.1 committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: 31435 timestamp: Tue 2008-11-11 14:42:32 +0400 message: Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse I think we don't need to issue an error statement in the convert_search_mode_to_innobase(). Returning the PAGE_CUR_UNSUPP value is enough as allows to handle this case depending on the requirements. per-file comments: sql/ha_innodb.cc Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse no error issued in convert_search_mode_to_innobase. ha_innobase::records_in_range() returns HA_POS_ERROR if search mode isn't supported. modified: sql/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4713 | vasil | 2009-04-15 12:36:16 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Add missing ChangeLog entries ------------------------------------------------------------------------ r4714 | vasil | 2009-04-15 12:36:57 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Fix typo in the ChangeLog ------------------------------------------------------------------------ r4715 | vasil | 2009-04-15 12:39:04 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Whitespace cleanup in ChangeLog ------------------------------------------------------------------------ r4716 | vasil | 2009-04-15 21:36:06 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4543. ------------------------------------------------------------------------ r4717 | calvin | 2009-04-16 01:22:35 +0300 (Thu, 16 Apr 2009) | 18 lines branches/zip: Use the Windows Interlocked functions for atomic memory access Mapping the atomic operations to Windows Interlocked functions: os_compare_and_swap_* to InterlockedCompareExchange(64) os_atomic_increment_* to InterlockedExchangeAdd(64) os_atomic_test_and_set_byte to InterlockedExchange In this patch, the legacy code under UNIV_CAN_USE_X86_ASSEMBLER is removed all together, and add HAVE_WINDOWS_ATOMICS and INNODB_RW_LOCKS_USE_ATOMICS to CMakeLists.txt This is to address mantis issue#194. rb://113 Approved by: Marko ------------------------------------------------------------------------ r4720 | vasil | 2009-04-16 09:44:48 +0300 (Thu, 16 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4717. ------------------------------------------------------------------------ r4721 | marko | 2009-04-16 10:32:09 +0300 (Thu, 16 Apr 2009) | 2 lines branches/zip: row_scan_and_check_index(): Initialize prebuilt->index_usable. This should have been done in r4631. Spotted by Michael. ------------------------------------------------------------------------ r4728 | marko | 2009-04-16 16:02:27 +0300 (Thu, 16 Apr 2009) | 3 lines branches/zip: univ.i: Define REFMAN as the base URL of the MySQL Reference Manual and use it in every string. This fixes Issue #221. ------------------------------------------------------------------------ r4733 | calvin | 2009-04-17 08:13:20 +0300 (Fri, 17 Apr 2009) | 6 lines branches/zip: minor changes to CMakeLists.txt All are non-functional changes: - should check for long (not int), spotted by Sunny - comment out the project definition, avoiding to generate another .sln file. ------------------------------------------------------------------------ r4748 | vasil | 2009-04-18 00:50:09 +0300 (Sat, 18 Apr 2009) | 118 lines branches/zip: Merge revisions 4710:4746 from branches/5.1: ------------------------------------------------------------------------ r4746 | vasil | 2009-04-18 00:32:08 +0300 (Sat, 18 Apr 2009) | 110 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/pars0pars.h branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.10.2 committer: Ignacio Galarza <iggy@mysql.com> branch nick: mysql-5.1-bugteam-bug29125 timestamp: Fri 2009-02-13 11:41:47 -0500 message: Bug#29125 Windows Server X64: so many compiler warnings - Remove bothersome warning messages. This change focuses on the warnings that are covered by the ignore file: support-files/compiler_warnings.supp. - Strings are guaranteed to be max uint in length modified: client/mysql_upgrade.c client/mysqladmin.cc client/mysqlbinlog.cc client/mysqlcheck.c client/mysqldump.c client/mysqlslap.c client/mysqltest.cc client/sql_string.cc extra/comp_err.c extra/yassl/src/buffer.cpp extra/yassl/taocrypt/include/block.hpp extra/yassl/taocrypt/src/algebra.cpp extra/yassl/taocrypt/src/asn.cpp include/config-win.h libmysql/libmysql.c mysys/array.c mysys/base64.c mysys/charset.c mysys/checksum.c mysys/default.c mysys/default_modify.c mysys/hash.c mysys/mf_keycache.c mysys/mf_tempdir.c mysys/my_append.c mysys/my_compress.c mysys/my_conio.c mysys/my_copy.c mysys/my_getwd.c mysys/my_pread.c mysys/my_quick.c mysys/my_read.c mysys/safemalloc.c mysys/string.c server-tools/instance-manager/buffer.cc server-tools/instance-manager/instance.cc server-tools/instance-manager/options.cc server-tools/instance-manager/parse.h sql-common/client.c sql-common/my_user.c sql/event_data_objects.cc sql/event_parse_data.cc sql/events.cc sql/gen_lex_hash.cc sql/item.h sql/item_func.cc sql/item_strfunc.cc sql/item_timefunc.cc sql/lock.cc sql/log_event.cc sql/log_event.h sql/log_event_old.cc sql/net_serv.cc sql/sp_head.h sql/spatial.h sql/sql_class.h sql/sql_connect.cc sql/sql_crypt.cc sql/sql_error.cc sql/sql_insert.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_load.cc sql/sql_prepare.cc sql/sql_profile.cc sql/sql_repl.cc sql/sql_servers.cc sql/sql_string.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_udf.cc sql/sql_view.cc sql/udf_example.c sql/uniques.cc storage/archive/azio.c storage/archive/azlib.h storage/csv/ha_tina.cc storage/csv/ha_tina.h storage/csv/transparent_file.h storage/federated/ha_federated.cc storage/federated/ha_federated.h storage/heap/hp_write.c storage/innobase/handler/ha_innodb.cc storage/innobase/include/pars0pars.h storage/myisam/ha_myisam.cc storage/myisam/mi_check.c storage/myisam/mi_packrec.c storage/myisam/mi_search.c storage/myisam/rt_index.c storage/myisammrg/ha_myisammrg.cc strings/ctype.c strings/my_vsnprintf.c tests/bug25714.c tests/mysql_client_test.c ------------------------------------------------------------------------ r4749 | vasil | 2009-04-18 00:58:08 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for t4748. ------------------------------------------------------------------------ r4751 | vasil | 2009-04-18 01:29:16 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Silence warning about unused variables. ------------------------------------------------------------------------ r4752 | vasil | 2009-04-18 01:30:37 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Include the needed header for memset(). ------------------------------------------------------------------------ r4753 | vasil | 2009-04-18 01:31:34 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Silence a compiler warning. ------------------------------------------------------------------------ r4756 | vasil | 2009-04-18 02:19:03 +0300 (Sat, 18 Apr 2009) | 5 lines branches/zip: Rename the aux config program and give it a more specific name because more are coming. ------------------------------------------------------------------------ r4757 | vasil | 2009-04-18 02:22:33 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Add comment and copyright notice to the aux config program. ------------------------------------------------------------------------ r4758 | vasil | 2009-04-18 02:40:47 +0300 (Sat, 18 Apr 2009) | 5 lines branches/zip: Add aux config programs to emulate the newly added checks in plug.in (from r4678). ------------------------------------------------------------------------ r4830 | marko | 2009-04-20 16:11:38 +0300 (Mon, 20 Apr 2009) | 6 lines branches/zip: Cosmetic fixes. row_unlock_for_mysql(): Add a const qualifier to read-only rec_t*. Use dict_index_is_clust(). CMakeLists.txt: svn propset svn:eol-style native. ------------------------------------------------------------------------ r4893 | marko | 2009-04-23 09:32:36 +0300 (Thu, 23 Apr 2009) | 11 lines branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, and undo_no_t. Each type is still defined as dulint. This is an initial step towards replacing dulint with a 64-bit data type. Because modern compilers have no trouble supporting 64-bit arithmetics even on 32-bit targets, the dulint struct is a relic that should go. The last remaining major use of dulint is dictionary IDs (table, index, and row ids). rb://114 approved by Sunny Bains ------------------------------------------------------------------------ r4894 | marko | 2009-04-23 10:21:07 +0300 (Thu, 23 Apr 2009) | 1 line branches/zip: ChangeLog: Document r4893. ------------------------------------------------------------------------ r4895 | marko | 2009-04-23 10:22:06 +0300 (Thu, 23 Apr 2009) | 1 line branches/zip: ChangeLog: Add the missing include/ to two files. ------------------------------------------------------------------------ r4896 | marko | 2009-04-23 10:37:40 +0300 (Thu, 23 Apr 2009) | 4 lines branches/zip: row_scan_and_check_index(): Improve the diagnostics, by reporting errors from row_search_for_mysql() in the error log. The errors will still be ignored by CHECK TABLE. This is somewhat related to Issue #211. ------------------------------------------------------------------------ r4897 | marko | 2009-04-23 10:40:34 +0300 (Thu, 23 Apr 2009) | 2 lines branches/zip: row_scan_and_check_index(): Check row_merge_is_index_usable() earlier, to make the logic clearer. ------------------------------------------------------------------------ r4898 | marko | 2009-04-23 15:15:07 +0300 (Thu, 23 Apr 2009) | 4 lines branches/zip: Correct a misleading comment. PAGE_MAX_TRX_ID will be updated in ibuf_insert_low() and updated from the insert buffer tree page to the secondary index tree page during the insert buffer merge. ------------------------------------------------------------------------ r4915 | marko | 2009-04-27 13:40:20 +0300 (Mon, 27 Apr 2009) | 2 lines branches/zip: row_scan_and_check_index(): Add some comments on prebuilt->index_usable, as suggested by Michael. ------------------------------------------------------------------------ r4921 | marko | 2009-04-29 11:51:25 +0300 (Wed, 29 Apr 2009) | 2 lines branches/zip: btr_cur_optimistic_insert(): Remove a redundant condition. The insert buffer tree is a clustered index. ------------------------------------------------------------------------ r4922 | marko | 2009-04-29 23:23:27 +0300 (Wed, 29 Apr 2009) | 22 lines branches/zip: Distinguish temporary tables in MLOG_FILE_CREATE. This addresses Mantis Issue #23 in InnoDB Hot Backup and some of MySQL Bug #41609. In MLOG_FILE_CREATE, we need to distinguish temporary tables, so that InnoDB Hot Backup can work correctly. It turns out that we can do this easily, by using a bit of the previously unused parameter for page number. (The page number parameter of MLOG_FILE_CREATE has been written as 0 ever since MySQL 4.1, which introduced MLOG_FILE_CREATE.) MLOG_FILE_FLAG_TEMP: A flag for indicating a temporary table in the page number parameter of MLOG_FILE_ operations. fil_op_write_log(): Add the parameter log_flags. fil_op_log_parse_or_replay(): Add the parameter log_flags. Do not replay MLOG_FILE_CREATE when MLOG_FILE_FLAG_TEMP is set in log_flags. This only affects ibbackup --apply-log. InnoDB itself never replays file operations. rb://117 approved by Heikki Tuuri ------------------------------------------------------------------------ r4977 | marko | 2009-05-13 15:49:38 +0300 (Wed, 13 May 2009) | 12 lines branches/zip: Merge revisions 4746:4976 from branches/5.1: ------------------------------------------------------------------------ r4976 | marko | 2009-05-13 15:44:54 +0300 (Wed, 13 May 2009) | 6 lines branches/5.1: Display DB_ROLL_PTR in the COLUMNS section of the innodb_table_monitor output. It was accidentally omitted due to an off-by-one loop condition. (Bug #44320) rb://116 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4978 | vasil | 2009-05-13 16:21:55 +0300 (Wed, 13 May 2009) | 4 lines branches/zip: Add ChangeLog entry for r4977. ------------------------------------------------------------------------ r4995 | marko | 2009-05-14 15:31:43 +0300 (Thu, 14 May 2009) | 24 lines branches/zip: Merge revisions 4976:4994 from branches/5.1: ------------------------------------------------------------------------ r4994 | marko | 2009-05-14 15:04:55 +0300 (Thu, 14 May 2009) | 18 lines branches/5.1: Prevent a race condition in innobase_commit() by ensuring that innodb_commit_concurrency>0 remains constant at run time. (Bug #42101) srv_commit_concurrency: Make this a static variable in ha_innodb.cc. innobase_commit_concurrency_validate(): Check that innodb_commit_concurrency is not changed from or to 0 at run time. This is needed, because innobase_commit() assumes that innodb_commit_concurrency>0 remains constant. Without this limitation, the checks for innodb_commit_concurrency>0 in innobase_commit() should be removed and that function would have to acquire and release commit_cond_m at least twice per invocation. Normally, innodb_commit_concurrency=0, and introducing the mutex operations would mean significant overhead. innodb_bug42101.test, innodb_bug42101-nonzero.test: Test cases. rb://123 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5000 | vasil | 2009-05-14 20:13:41 +0300 (Thu, 14 May 2009) | 4 lines branches/zip: Add ChangeLog entry for r4994. ------------------------------------------------------------------------ r5026 | marko | 2009-05-18 16:29:51 +0300 (Mon, 18 May 2009) | 1 line branches/zip: buf_validate(): Add missing out: comment. ------------------------------------------------------------------------ r5027 | marko | 2009-05-18 16:36:10 +0300 (Mon, 18 May 2009) | 1 line branches/zip: Add some missing out: comments to buf0buf.h, buf0buf.c. ------------------------------------------------------------------------ r5028 | marko | 2009-05-18 16:40:07 +0300 (Mon, 18 May 2009) | 11 lines branches/zip: When executing an optimistic update by delete-and-insert, correctly estimate the free space on the compressed page by page_zip_available(..., create=TRUE). This was reported as Issue #231. btr_cur_update_alloc_zip(): Add the parameter ibool create and pass it to page_zip_available(). The parameter was previously passed as 0. btr_cur_optimistic_update(): Pass create=TRUE to btr_cur_update_alloc_zip(). rb://120 approved by Heikki Tuuri ------------------------------------------------------------------------ r5030 | marko | 2009-05-19 10:04:04 +0300 (Tue, 19 May 2009) | 2 lines branches/zip: os_thread_get_curr_id(), os_thread_get_curr(): Add missing out: comments. ------------------------------------------------------------------------ r5031 | marko | 2009-05-19 10:30:02 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Add missing out: comments to nullary functions. ------------------------------------------------------------------------ r5033 | marko | 2009-05-19 11:00:51 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Remove bogus out: comments of functions returning void. ------------------------------------------------------------------------ r5034 | marko | 2009-05-19 12:41:32 +0300 (Tue, 19 May 2009) | 1 line branches/zip: row_update_prebuilt_trx(): Correct bogus comment. ------------------------------------------------------------------------ r5035 | marko | 2009-05-19 13:04:58 +0300 (Tue, 19 May 2009) | 3 lines branches/zip: ut0auxconf_have_solaris_atomics.c: Get the function declarations from <atomic.h>. Call the functions with proper arguments. ------------------------------------------------------------------------ r5036 | marko | 2009-05-19 13:05:50 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Add proper comments to some file page accessors. ------------------------------------------------------------------------ r5037 | marko | 2009-05-19 13:08:16 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Fix a typo that was introduced in r5036. ------------------------------------------------------------------------ r5038 | marko | 2009-05-19 22:59:07 +0300 (Tue, 19 May 2009) | 30 lines branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise, transactions that are started before the rollback of incomplete transactions has finished may have an inconsistent view of the secondary indexes. dict_index_is_sec_or_ibuf(): Auxiliary function for controlling updates and checks of PAGE_MAX_TRX_ID: check whether an index is a secondary index or the insert buffer tree. page_set_max_trx_id(), page_update_max_trx_id(), lock_rec_insert_check_and_lock(), lock_sec_rec_modify_check_and_lock(), btr_cur_ins_lock_and_undo(), btr_cur_upd_lock_and_undo(): Add the parameter mtr. page_set_max_trx_id(): Allow mtr to be NULL. When mtr==NULL, do not attempt to write to the redo log. This only occurs when creating a page or reorganizing a compressed page. In these cases, the PAGE_MAX_TRX_ID will be set correctly during the application of redo log records, even though there is no explicit log record about it. btr_discard_only_page_on_level(): Preserve PAGE_MAX_TRX_ID. This function should be unreachable, though. btr_cur_pessimistic_update(): Update PAGE_MAX_TRX_ID. Add some assertions for checking that PAGE_MAX_TRX_ID is set on all secondary index leaf pages. rb://115 tested by Michael, fixes Issue #211 ------------------------------------------------------------------------ r5039 | marko | 2009-05-19 23:13:12 +0300 (Tue, 19 May 2009) | 1 line branches/zip: ib_wqueue_wait(): Add decorative comment. ------------------------------------------------------------------------ r5041 | marko | 2009-05-20 08:42:12 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Add missing function comments. ------------------------------------------------------------------------ r5042 | marko | 2009-05-20 08:46:01 +0300 (Wed, 20 May 2009) | 1 line branches/zip: sync0rw.ic: Remove an extra ; that was added in r5041. ------------------------------------------------------------------------ r5044 | marko | 2009-05-20 11:11:58 +0300 (Wed, 20 May 2009) | 2 lines branches/zip: mlog_parse_index(): Correct a parameter comment and add a const qualifier that was missing. ------------------------------------------------------------------------ r5045 | marko | 2009-05-20 11:37:08 +0300 (Wed, 20 May 2009) | 1 line branches/zip: fil0fil.c: Correct some comments. ------------------------------------------------------------------------ r5046 | marko | 2009-05-20 12:19:40 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Fix some function comments. ------------------------------------------------------------------------ r5047 | marko | 2009-05-20 12:26:49 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ut_snprintf(): Fix the function comments. ------------------------------------------------------------------------ r5048 | marko | 2009-05-20 12:28:44 +0300 (Wed, 20 May 2009) | 3 lines branches/zip: inno_bcmp(): Remove this memcmp replacement. srv0start.c does not (any longer) call memcmp. srv_parse_megabytes(): Add a function comment. ------------------------------------------------------------------------ r5052 | marko | 2009-05-20 12:32:37 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ib_vector_is_empty(): Fix the function comment. ------------------------------------------------------------------------ r5054 | marko | 2009-05-20 12:35:33 +0300 (Wed, 20 May 2009) | 1 line branches/zip: page_cur_lcg_prng(): Add missing parameter list. ------------------------------------------------------------------------ r5057 | marko | 2009-05-20 12:45:17 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Remove bogus in: comments from struct members. ------------------------------------------------------------------------ r5058 | marko | 2009-05-20 13:06:03 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Clean up some function comments. ------------------------------------------------------------------------ r5060 | marko | 2009-05-20 14:06:59 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Clean up some comments. ------------------------------------------------------------------------ r5061 | marko | 2009-05-20 14:07:49 +0300 (Wed, 20 May 2009) | 2 lines branches/zip: innodb_export_status(): Remove the return(0), now that the function was declared void in r5060. ------------------------------------------------------------------------ r5062 | marko | 2009-05-20 14:45:03 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ha_innodb.cc: Clean up some comments. ------------------------------------------------------------------------ r5063 | marko | 2009-05-20 16:10:17 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ut_dulint_sort(): Write proper comments. ------------------------------------------------------------------------ r5064 | marko | 2009-05-20 16:17:26 +0300 (Wed, 20 May 2009) | 2 lines branches/zip: innobase_end(), innobase_flush_logs(): Document the function parameters. ------------------------------------------------------------------------ r5065 | marko | 2009-05-20 23:17:43 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ha_innodb.cc: Add some missing function comments. ------------------------------------------------------------------------ r5066 | marko | 2009-05-21 00:51:23 +0300 (Thu, 21 May 2009) | 2 lines branches/zip: Fix some function comments. ------------------------------------------------------------------------ r5070 | vasil | 2009-05-21 08:27:00 +0300 (Thu, 21 May 2009) | 4 lines branches/zip: Whitespace fixup. ------------------------------------------------------------------------
2009-05-25 06:20:53 +00:00
/*==========================*/
2005-10-27 07:29:40 +00:00
{
mutex_enter(&srv_innodb_monitor_mutex);
export_vars.innodb_data_pending_reads
= os_n_pending_reads;
export_vars.innodb_data_pending_writes
= os_n_pending_writes;
export_vars.innodb_data_pending_fsyncs
= fil_n_pending_log_flushes
+ fil_n_pending_tablespace_flushes;
export_vars.innodb_data_fsyncs = os_n_fsyncs;
export_vars.innodb_data_read = srv_data_read;
export_vars.innodb_data_reads = os_n_file_reads;
export_vars.innodb_data_writes = os_n_file_writes;
export_vars.innodb_data_written = srv_data_written;
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
export_vars.innodb_buffer_pool_read_requests = buf_pool->stat.n_page_gets;
export_vars.innodb_buffer_pool_write_requests
= srv_buf_pool_write_requests;
export_vars.innodb_buffer_pool_wait_free = srv_buf_pool_wait_free;
export_vars.innodb_buffer_pool_pages_flushed = srv_buf_pool_flushed;
export_vars.innodb_buffer_pool_reads = srv_buf_pool_reads;
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
export_vars.innodb_buffer_pool_read_ahead
= buf_pool->stat.n_ra_pages_read;
export_vars.innodb_buffer_pool_read_ahead_evicted
= buf_pool->stat.n_ra_pages_evicted;
export_vars.innodb_buffer_pool_pages_data
= UT_LIST_GET_LEN(buf_pool->LRU);
export_vars.innodb_buffer_pool_pages_dirty
= UT_LIST_GET_LEN(buf_pool->flush_list);
export_vars.innodb_buffer_pool_pages_free
= UT_LIST_GET_LEN(buf_pool->free);
#ifdef UNIV_DEBUG
export_vars.innodb_buffer_pool_pages_latched
= buf_get_latched_pages_number();
#endif /* UNIV_DEBUG */
export_vars.innodb_buffer_pool_pages_total = buf_pool->curr_size;
export_vars.innodb_buffer_pool_pages_misc = buf_pool->curr_size
- UT_LIST_GET_LEN(buf_pool->LRU)
- UT_LIST_GET_LEN(buf_pool->free);
branches/innodb+: Merge revisions 4660:5090 from branches/zip: ------------------------------------------------------------------------ r4670 | vasil | 2009-04-07 09:35:23 +0300 (Tue, 07 Apr 2009) | 11 lines branches/zip: Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes of InnoDB table by replacing the pseudo random number generator with a better one (LCG). This also fixes Mantis Issue#212. Approved by: Heikki (rb://110) ------------------------------------------------------------------------ r4671 | vasil | 2009-04-07 09:37:31 +0300 (Tue, 07 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4670. ------------------------------------------------------------------------ r4673 | marko | 2009-04-07 15:45:28 +0300 (Tue, 07 Apr 2009) | 4 lines branches/zip: Allow in-place updates of UTF-8 CHAR columns from or to NULL in ROW_FORMAT=REDUNDANT. (Bug #44032) rb://107 approved by Heikki Tuuri. ------------------------------------------------------------------------ r4677 | marko | 2009-04-07 16:19:31 +0300 (Tue, 07 Apr 2009) | 1 line branches/zip: Adjust r4673 as in the merge to branches/6.0 -r4676. ------------------------------------------------------------------------ r4678 | inaam | 2009-04-07 18:45:37 +0300 (Tue, 07 Apr 2009) | 12 lines branches/zip Enable atomics on solaris (using the libc functions as defined in atomic.h) if GCC atomic builtins are not present. There still remains some work to be done (by Vasil?). This patch makes changes to plug.in to check pthread_t size and presence of atomic functions when running on solaris. The same has to become a part of the generated Makefile.in when we bake our source. Reviewed by: Heikki rb://106 ------------------------------------------------------------------------ r4687 | vasil | 2009-04-08 13:08:59 +0300 (Wed, 08 Apr 2009) | 4 lines branches/zip: Whitespace fixup in the ChangeLog ------------------------------------------------------------------------ r4688 | vasil | 2009-04-08 13:11:15 +0300 (Wed, 08 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4678. ------------------------------------------------------------------------ r4689 | marko | 2009-04-08 14:24:49 +0300 (Wed, 08 Apr 2009) | 5 lines branches/zip: Hide unnecessarily visible globals. dict_ind_redundant, dict_ind_compact: Declare these UNIV_INTERN. innodb_hton_ptr: Declare static. We do not attempt to access the built-in InnoDB any more. trx_roll_savepoints_free(): Declare UNIV_INTERN. ------------------------------------------------------------------------ r4700 | calvin | 2009-04-11 00:37:10 +0300 (Sat, 11 Apr 2009) | 9 lines branches/zip: Rewrite CMakeLists.txt CMakeLists.txt is completely rewritten: - To replace the one written by mysql - Print out some useful information, such as system name, directory, generator used, win64, Microsoft compiler, etc. - Remove one workaround for mysqld.lib location. User does not need to specify a build type ------------------------------------------------------------------------ r4702 | calvin | 2009-04-13 18:16:44 +0300 (Mon, 13 Apr 2009) | 3 lines branches/zip: delete the original CMakeLists.txt A new version will be committed, suggested by Ken. ------------------------------------------------------------------------ r4703 | calvin | 2009-04-13 18:20:45 +0300 (Mon, 13 Apr 2009) | 9 lines branches/zip: new CMakeLists.txt CMakeLists.txt is completely rewritten with enhancements: - Print out useful information, such as system name, directory, generator used, win64, Microsoft compiler, etc. - Remove one workaround for mysqld.lib location. User does not need to specify a build type when invoking MSVC generator. ------------------------------------------------------------------------ r4706 | vasil | 2009-04-14 14:32:11 +0300 (Tue, 14 Apr 2009) | 5 lines branches/zip: When using the random function, first take the modulus by the number of pages and then typecast to ulint. ------------------------------------------------------------------------ r4707 | calvin | 2009-04-14 17:47:31 +0300 (Tue, 14 Apr 2009) | 13 lines branches/zip: remove statically linked libraries from mysql To make zlib and strings dynamically linked; mysqld will export additional functions required by InnoDB. Since the symbols will be resolved dynamically during runtime, wdl_load_mapfile() is no longer able to make any function calls to ones in mysqld. As the result, strtoull() (from strings.lib) is replaced with _strtoui64(). rb://111 Approved by: Marko ------------------------------------------------------------------------ r4712 | vasil | 2009-04-15 12:26:32 +0300 (Wed, 15 Apr 2009) | 157 lines branches/zip: Merge revisions 4481:4710 from branches/5.1: (resolving conflict in r4574, r4575 and skipping r4699 and r4705 because analogous changes to r4699 and r4705 were already made to branches/zip) ------------------------------------------------------------------------ r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines Changed paths: M /branches/5.1/mysql-test/innodb.test branches/5.1: Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com ------------------------------------------------------------------------ r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines Changed paths: M /branches/5.1/Makefile.am M /branches/5.1/mysql-test/innodb.test branches/5.1: Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning: TEST RESULT TIME (ms) ------------------------------------------------------------ worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509 main.innodb [ pass ] 8803 MTR's internal check of the test case 'main.innodb' failed. This means that the test case does not preserve the state that existed before the test case was executed. Most likely the test case did not do a proper clean-up. This is the diff of the states of the servers before and after the test case was executed: mysqltest: Logging to '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'. mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'. mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ... mysqltest: ... Connected. mysqltest: Start processing test commands from './include/check-testcase.test' ... mysqltest: ... Done processing test commands. --- /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result 2009-03-30 14:12:31.000000000 +0300 +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject 2009-03-30 14:12:41.000000000 +0300 @@ -99,7 +99,7 @@ INNODB_SUPPORT_XA ON INNODB_SYNC_SPIN_LOOPS 20 INNODB_TABLE_LOCKS ON -INNODB_THREAD_CONCURRENCY 8 +INNODB_THREAD_CONCURRENCY 16 INNODB_THREAD_SLEEP_DELAY 10000 INSERT_ID 0 INTERACTIVE_TIMEOUT 28800 mysqltest: Result content mismatch not ok ------------------------------------------------------------------------ r4575 | vasil | 2009-03-30 15:55:31 +0300 (Mon, 30 Mar 2009) | 8 lines Changed paths: M /branches/5.1/mysql-test/innodb.result M /branches/5.1/mysql-test/innodb.test branches/5.1: Fix Bug#43309 Test main.innodb can't be run twice Make the innodb mysql-test more flexible by inspecting how much a variable of interest has changed since the start of the test. Do not assume the variables have zero values at the start of the test. ------------------------------------------------------------------------ r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Revert a change to Makefile.am that I committed accidentally in c4574. ------------------------------------------------------------------------ r4659 | vasil | 2009-04-06 15:34:51 +0300 (Mon, 06 Apr 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb.test branches/5.1: Followup to r4575 and the fix of Bug#43309 Test main.innodb can't be run twice: Add an explanatory comment, as suggested by Patrick Crews in the bug report. ------------------------------------------------------------------------ r4699 | vasil | 2009-04-09 14:01:52 +0300 (Thu, 09 Apr 2009) | 15 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/srv0srv.h M /branches/5.1/page/page0cur.c M /branches/5.1/srv/srv0srv.c branches/5.1: Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes of InnoDB table by replacing the PRNG that is used to pick random pages with a better one. This is based on r4670 but also adds a new configuration option and enables the fix only if this option is changed. Please skip the present revision when merging. Approved by: Heikki (via email) ------------------------------------------------------------------------ r4705 | vasil | 2009-04-14 14:30:13 +0300 (Tue, 14 Apr 2009) | 5 lines Changed paths: M /branches/5.1/page/page0cur.c branches/5.1: When using the random function, first take the modulus by the number of pages and then typecast to ulint. ------------------------------------------------------------------------ r4710 | vasil | 2009-04-15 11:55:18 +0300 (Wed, 15 Apr 2009) | 25 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL (looks like this is against 5.0 but they later merged it to 5.1): ------------------------------------------------------------ revno: 1810.3846.1 committer: Alexey Botchkov <holyfoot@mysql.com> branch nick: 31435 timestamp: Tue 2008-11-11 14:42:32 +0400 message: Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse I think we don't need to issue an error statement in the convert_search_mode_to_innobase(). Returning the PAGE_CUR_UNSUPP value is enough as allows to handle this case depending on the requirements. per-file comments: sql/ha_innodb.cc Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse no error issued in convert_search_mode_to_innobase. ha_innobase::records_in_range() returns HA_POS_ERROR if search mode isn't supported. modified: sql/ha_innodb.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4713 | vasil | 2009-04-15 12:36:16 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Add missing ChangeLog entries ------------------------------------------------------------------------ r4714 | vasil | 2009-04-15 12:36:57 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Fix typo in the ChangeLog ------------------------------------------------------------------------ r4715 | vasil | 2009-04-15 12:39:04 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Whitespace cleanup in ChangeLog ------------------------------------------------------------------------ r4716 | vasil | 2009-04-15 21:36:06 +0300 (Wed, 15 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4543. ------------------------------------------------------------------------ r4717 | calvin | 2009-04-16 01:22:35 +0300 (Thu, 16 Apr 2009) | 18 lines branches/zip: Use the Windows Interlocked functions for atomic memory access Mapping the atomic operations to Windows Interlocked functions: os_compare_and_swap_* to InterlockedCompareExchange(64) os_atomic_increment_* to InterlockedExchangeAdd(64) os_atomic_test_and_set_byte to InterlockedExchange In this patch, the legacy code under UNIV_CAN_USE_X86_ASSEMBLER is removed all together, and add HAVE_WINDOWS_ATOMICS and INNODB_RW_LOCKS_USE_ATOMICS to CMakeLists.txt This is to address mantis issue#194. rb://113 Approved by: Marko ------------------------------------------------------------------------ r4720 | vasil | 2009-04-16 09:44:48 +0300 (Thu, 16 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for r4717. ------------------------------------------------------------------------ r4721 | marko | 2009-04-16 10:32:09 +0300 (Thu, 16 Apr 2009) | 2 lines branches/zip: row_scan_and_check_index(): Initialize prebuilt->index_usable. This should have been done in r4631. Spotted by Michael. ------------------------------------------------------------------------ r4728 | marko | 2009-04-16 16:02:27 +0300 (Thu, 16 Apr 2009) | 3 lines branches/zip: univ.i: Define REFMAN as the base URL of the MySQL Reference Manual and use it in every string. This fixes Issue #221. ------------------------------------------------------------------------ r4733 | calvin | 2009-04-17 08:13:20 +0300 (Fri, 17 Apr 2009) | 6 lines branches/zip: minor changes to CMakeLists.txt All are non-functional changes: - should check for long (not int), spotted by Sunny - comment out the project definition, avoiding to generate another .sln file. ------------------------------------------------------------------------ r4748 | vasil | 2009-04-18 00:50:09 +0300 (Sat, 18 Apr 2009) | 118 lines branches/zip: Merge revisions 4710:4746 from branches/5.1: ------------------------------------------------------------------------ r4746 | vasil | 2009-04-18 00:32:08 +0300 (Sat, 18 Apr 2009) | 110 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/pars0pars.h branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2728.10.2 committer: Ignacio Galarza <iggy@mysql.com> branch nick: mysql-5.1-bugteam-bug29125 timestamp: Fri 2009-02-13 11:41:47 -0500 message: Bug#29125 Windows Server X64: so many compiler warnings - Remove bothersome warning messages. This change focuses on the warnings that are covered by the ignore file: support-files/compiler_warnings.supp. - Strings are guaranteed to be max uint in length modified: client/mysql_upgrade.c client/mysqladmin.cc client/mysqlbinlog.cc client/mysqlcheck.c client/mysqldump.c client/mysqlslap.c client/mysqltest.cc client/sql_string.cc extra/comp_err.c extra/yassl/src/buffer.cpp extra/yassl/taocrypt/include/block.hpp extra/yassl/taocrypt/src/algebra.cpp extra/yassl/taocrypt/src/asn.cpp include/config-win.h libmysql/libmysql.c mysys/array.c mysys/base64.c mysys/charset.c mysys/checksum.c mysys/default.c mysys/default_modify.c mysys/hash.c mysys/mf_keycache.c mysys/mf_tempdir.c mysys/my_append.c mysys/my_compress.c mysys/my_conio.c mysys/my_copy.c mysys/my_getwd.c mysys/my_pread.c mysys/my_quick.c mysys/my_read.c mysys/safemalloc.c mysys/string.c server-tools/instance-manager/buffer.cc server-tools/instance-manager/instance.cc server-tools/instance-manager/options.cc server-tools/instance-manager/parse.h sql-common/client.c sql-common/my_user.c sql/event_data_objects.cc sql/event_parse_data.cc sql/events.cc sql/gen_lex_hash.cc sql/item.h sql/item_func.cc sql/item_strfunc.cc sql/item_timefunc.cc sql/lock.cc sql/log_event.cc sql/log_event.h sql/log_event_old.cc sql/net_serv.cc sql/sp_head.h sql/spatial.h sql/sql_class.h sql/sql_connect.cc sql/sql_crypt.cc sql/sql_error.cc sql/sql_insert.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_load.cc sql/sql_prepare.cc sql/sql_profile.cc sql/sql_repl.cc sql/sql_servers.cc sql/sql_string.cc sql/sql_table.cc sql/sql_trigger.cc sql/sql_udf.cc sql/sql_view.cc sql/udf_example.c sql/uniques.cc storage/archive/azio.c storage/archive/azlib.h storage/csv/ha_tina.cc storage/csv/ha_tina.h storage/csv/transparent_file.h storage/federated/ha_federated.cc storage/federated/ha_federated.h storage/heap/hp_write.c storage/innobase/handler/ha_innodb.cc storage/innobase/include/pars0pars.h storage/myisam/ha_myisam.cc storage/myisam/mi_check.c storage/myisam/mi_packrec.c storage/myisam/mi_search.c storage/myisam/rt_index.c storage/myisammrg/ha_myisammrg.cc strings/ctype.c strings/my_vsnprintf.c tests/bug25714.c tests/mysql_client_test.c ------------------------------------------------------------------------ r4749 | vasil | 2009-04-18 00:58:08 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Add ChangeLog entry for t4748. ------------------------------------------------------------------------ r4751 | vasil | 2009-04-18 01:29:16 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Silence warning about unused variables. ------------------------------------------------------------------------ r4752 | vasil | 2009-04-18 01:30:37 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Include the needed header for memset(). ------------------------------------------------------------------------ r4753 | vasil | 2009-04-18 01:31:34 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Silence a compiler warning. ------------------------------------------------------------------------ r4756 | vasil | 2009-04-18 02:19:03 +0300 (Sat, 18 Apr 2009) | 5 lines branches/zip: Rename the aux config program and give it a more specific name because more are coming. ------------------------------------------------------------------------ r4757 | vasil | 2009-04-18 02:22:33 +0300 (Sat, 18 Apr 2009) | 4 lines branches/zip: Add comment and copyright notice to the aux config program. ------------------------------------------------------------------------ r4758 | vasil | 2009-04-18 02:40:47 +0300 (Sat, 18 Apr 2009) | 5 lines branches/zip: Add aux config programs to emulate the newly added checks in plug.in (from r4678). ------------------------------------------------------------------------ r4830 | marko | 2009-04-20 16:11:38 +0300 (Mon, 20 Apr 2009) | 6 lines branches/zip: Cosmetic fixes. row_unlock_for_mysql(): Add a const qualifier to read-only rec_t*. Use dict_index_is_clust(). CMakeLists.txt: svn propset svn:eol-style native. ------------------------------------------------------------------------ r4893 | marko | 2009-04-23 09:32:36 +0300 (Thu, 23 Apr 2009) | 11 lines branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t, and undo_no_t. Each type is still defined as dulint. This is an initial step towards replacing dulint with a 64-bit data type. Because modern compilers have no trouble supporting 64-bit arithmetics even on 32-bit targets, the dulint struct is a relic that should go. The last remaining major use of dulint is dictionary IDs (table, index, and row ids). rb://114 approved by Sunny Bains ------------------------------------------------------------------------ r4894 | marko | 2009-04-23 10:21:07 +0300 (Thu, 23 Apr 2009) | 1 line branches/zip: ChangeLog: Document r4893. ------------------------------------------------------------------------ r4895 | marko | 2009-04-23 10:22:06 +0300 (Thu, 23 Apr 2009) | 1 line branches/zip: ChangeLog: Add the missing include/ to two files. ------------------------------------------------------------------------ r4896 | marko | 2009-04-23 10:37:40 +0300 (Thu, 23 Apr 2009) | 4 lines branches/zip: row_scan_and_check_index(): Improve the diagnostics, by reporting errors from row_search_for_mysql() in the error log. The errors will still be ignored by CHECK TABLE. This is somewhat related to Issue #211. ------------------------------------------------------------------------ r4897 | marko | 2009-04-23 10:40:34 +0300 (Thu, 23 Apr 2009) | 2 lines branches/zip: row_scan_and_check_index(): Check row_merge_is_index_usable() earlier, to make the logic clearer. ------------------------------------------------------------------------ r4898 | marko | 2009-04-23 15:15:07 +0300 (Thu, 23 Apr 2009) | 4 lines branches/zip: Correct a misleading comment. PAGE_MAX_TRX_ID will be updated in ibuf_insert_low() and updated from the insert buffer tree page to the secondary index tree page during the insert buffer merge. ------------------------------------------------------------------------ r4915 | marko | 2009-04-27 13:40:20 +0300 (Mon, 27 Apr 2009) | 2 lines branches/zip: row_scan_and_check_index(): Add some comments on prebuilt->index_usable, as suggested by Michael. ------------------------------------------------------------------------ r4921 | marko | 2009-04-29 11:51:25 +0300 (Wed, 29 Apr 2009) | 2 lines branches/zip: btr_cur_optimistic_insert(): Remove a redundant condition. The insert buffer tree is a clustered index. ------------------------------------------------------------------------ r4922 | marko | 2009-04-29 23:23:27 +0300 (Wed, 29 Apr 2009) | 22 lines branches/zip: Distinguish temporary tables in MLOG_FILE_CREATE. This addresses Mantis Issue #23 in InnoDB Hot Backup and some of MySQL Bug #41609. In MLOG_FILE_CREATE, we need to distinguish temporary tables, so that InnoDB Hot Backup can work correctly. It turns out that we can do this easily, by using a bit of the previously unused parameter for page number. (The page number parameter of MLOG_FILE_CREATE has been written as 0 ever since MySQL 4.1, which introduced MLOG_FILE_CREATE.) MLOG_FILE_FLAG_TEMP: A flag for indicating a temporary table in the page number parameter of MLOG_FILE_ operations. fil_op_write_log(): Add the parameter log_flags. fil_op_log_parse_or_replay(): Add the parameter log_flags. Do not replay MLOG_FILE_CREATE when MLOG_FILE_FLAG_TEMP is set in log_flags. This only affects ibbackup --apply-log. InnoDB itself never replays file operations. rb://117 approved by Heikki Tuuri ------------------------------------------------------------------------ r4977 | marko | 2009-05-13 15:49:38 +0300 (Wed, 13 May 2009) | 12 lines branches/zip: Merge revisions 4746:4976 from branches/5.1: ------------------------------------------------------------------------ r4976 | marko | 2009-05-13 15:44:54 +0300 (Wed, 13 May 2009) | 6 lines branches/5.1: Display DB_ROLL_PTR in the COLUMNS section of the innodb_table_monitor output. It was accidentally omitted due to an off-by-one loop condition. (Bug #44320) rb://116 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4978 | vasil | 2009-05-13 16:21:55 +0300 (Wed, 13 May 2009) | 4 lines branches/zip: Add ChangeLog entry for r4977. ------------------------------------------------------------------------ r4995 | marko | 2009-05-14 15:31:43 +0300 (Thu, 14 May 2009) | 24 lines branches/zip: Merge revisions 4976:4994 from branches/5.1: ------------------------------------------------------------------------ r4994 | marko | 2009-05-14 15:04:55 +0300 (Thu, 14 May 2009) | 18 lines branches/5.1: Prevent a race condition in innobase_commit() by ensuring that innodb_commit_concurrency>0 remains constant at run time. (Bug #42101) srv_commit_concurrency: Make this a static variable in ha_innodb.cc. innobase_commit_concurrency_validate(): Check that innodb_commit_concurrency is not changed from or to 0 at run time. This is needed, because innobase_commit() assumes that innodb_commit_concurrency>0 remains constant. Without this limitation, the checks for innodb_commit_concurrency>0 in innobase_commit() should be removed and that function would have to acquire and release commit_cond_m at least twice per invocation. Normally, innodb_commit_concurrency=0, and introducing the mutex operations would mean significant overhead. innodb_bug42101.test, innodb_bug42101-nonzero.test: Test cases. rb://123 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5000 | vasil | 2009-05-14 20:13:41 +0300 (Thu, 14 May 2009) | 4 lines branches/zip: Add ChangeLog entry for r4994. ------------------------------------------------------------------------ r5026 | marko | 2009-05-18 16:29:51 +0300 (Mon, 18 May 2009) | 1 line branches/zip: buf_validate(): Add missing out: comment. ------------------------------------------------------------------------ r5027 | marko | 2009-05-18 16:36:10 +0300 (Mon, 18 May 2009) | 1 line branches/zip: Add some missing out: comments to buf0buf.h, buf0buf.c. ------------------------------------------------------------------------ r5028 | marko | 2009-05-18 16:40:07 +0300 (Mon, 18 May 2009) | 11 lines branches/zip: When executing an optimistic update by delete-and-insert, correctly estimate the free space on the compressed page by page_zip_available(..., create=TRUE). This was reported as Issue #231. btr_cur_update_alloc_zip(): Add the parameter ibool create and pass it to page_zip_available(). The parameter was previously passed as 0. btr_cur_optimistic_update(): Pass create=TRUE to btr_cur_update_alloc_zip(). rb://120 approved by Heikki Tuuri ------------------------------------------------------------------------ r5030 | marko | 2009-05-19 10:04:04 +0300 (Tue, 19 May 2009) | 2 lines branches/zip: os_thread_get_curr_id(), os_thread_get_curr(): Add missing out: comments. ------------------------------------------------------------------------ r5031 | marko | 2009-05-19 10:30:02 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Add missing out: comments to nullary functions. ------------------------------------------------------------------------ r5033 | marko | 2009-05-19 11:00:51 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Remove bogus out: comments of functions returning void. ------------------------------------------------------------------------ r5034 | marko | 2009-05-19 12:41:32 +0300 (Tue, 19 May 2009) | 1 line branches/zip: row_update_prebuilt_trx(): Correct bogus comment. ------------------------------------------------------------------------ r5035 | marko | 2009-05-19 13:04:58 +0300 (Tue, 19 May 2009) | 3 lines branches/zip: ut0auxconf_have_solaris_atomics.c: Get the function declarations from <atomic.h>. Call the functions with proper arguments. ------------------------------------------------------------------------ r5036 | marko | 2009-05-19 13:05:50 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Add proper comments to some file page accessors. ------------------------------------------------------------------------ r5037 | marko | 2009-05-19 13:08:16 +0300 (Tue, 19 May 2009) | 1 line branches/zip: Fix a typo that was introduced in r5036. ------------------------------------------------------------------------ r5038 | marko | 2009-05-19 22:59:07 +0300 (Tue, 19 May 2009) | 30 lines branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise, transactions that are started before the rollback of incomplete transactions has finished may have an inconsistent view of the secondary indexes. dict_index_is_sec_or_ibuf(): Auxiliary function for controlling updates and checks of PAGE_MAX_TRX_ID: check whether an index is a secondary index or the insert buffer tree. page_set_max_trx_id(), page_update_max_trx_id(), lock_rec_insert_check_and_lock(), lock_sec_rec_modify_check_and_lock(), btr_cur_ins_lock_and_undo(), btr_cur_upd_lock_and_undo(): Add the parameter mtr. page_set_max_trx_id(): Allow mtr to be NULL. When mtr==NULL, do not attempt to write to the redo log. This only occurs when creating a page or reorganizing a compressed page. In these cases, the PAGE_MAX_TRX_ID will be set correctly during the application of redo log records, even though there is no explicit log record about it. btr_discard_only_page_on_level(): Preserve PAGE_MAX_TRX_ID. This function should be unreachable, though. btr_cur_pessimistic_update(): Update PAGE_MAX_TRX_ID. Add some assertions for checking that PAGE_MAX_TRX_ID is set on all secondary index leaf pages. rb://115 tested by Michael, fixes Issue #211 ------------------------------------------------------------------------ r5039 | marko | 2009-05-19 23:13:12 +0300 (Tue, 19 May 2009) | 1 line branches/zip: ib_wqueue_wait(): Add decorative comment. ------------------------------------------------------------------------ r5041 | marko | 2009-05-20 08:42:12 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Add missing function comments. ------------------------------------------------------------------------ r5042 | marko | 2009-05-20 08:46:01 +0300 (Wed, 20 May 2009) | 1 line branches/zip: sync0rw.ic: Remove an extra ; that was added in r5041. ------------------------------------------------------------------------ r5044 | marko | 2009-05-20 11:11:58 +0300 (Wed, 20 May 2009) | 2 lines branches/zip: mlog_parse_index(): Correct a parameter comment and add a const qualifier that was missing. ------------------------------------------------------------------------ r5045 | marko | 2009-05-20 11:37:08 +0300 (Wed, 20 May 2009) | 1 line branches/zip: fil0fil.c: Correct some comments. ------------------------------------------------------------------------ r5046 | marko | 2009-05-20 12:19:40 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Fix some function comments. ------------------------------------------------------------------------ r5047 | marko | 2009-05-20 12:26:49 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ut_snprintf(): Fix the function comments. ------------------------------------------------------------------------ r5048 | marko | 2009-05-20 12:28:44 +0300 (Wed, 20 May 2009) | 3 lines branches/zip: inno_bcmp(): Remove this memcmp replacement. srv0start.c does not (any longer) call memcmp. srv_parse_megabytes(): Add a function comment. ------------------------------------------------------------------------ r5052 | marko | 2009-05-20 12:32:37 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ib_vector_is_empty(): Fix the function comment. ------------------------------------------------------------------------ r5054 | marko | 2009-05-20 12:35:33 +0300 (Wed, 20 May 2009) | 1 line branches/zip: page_cur_lcg_prng(): Add missing parameter list. ------------------------------------------------------------------------ r5057 | marko | 2009-05-20 12:45:17 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Remove bogus in: comments from struct members. ------------------------------------------------------------------------ r5058 | marko | 2009-05-20 13:06:03 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Clean up some function comments. ------------------------------------------------------------------------ r5060 | marko | 2009-05-20 14:06:59 +0300 (Wed, 20 May 2009) | 1 line branches/zip: Clean up some comments. ------------------------------------------------------------------------ r5061 | marko | 2009-05-20 14:07:49 +0300 (Wed, 20 May 2009) | 2 lines branches/zip: innodb_export_status(): Remove the return(0), now that the function was declared void in r5060. ------------------------------------------------------------------------ r5062 | marko | 2009-05-20 14:45:03 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ha_innodb.cc: Clean up some comments. ------------------------------------------------------------------------ r5063 | marko | 2009-05-20 16:10:17 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ut_dulint_sort(): Write proper comments. ------------------------------------------------------------------------ r5064 | marko | 2009-05-20 16:17:26 +0300 (Wed, 20 May 2009) | 2 lines branches/zip: innobase_end(), innobase_flush_logs(): Document the function parameters. ------------------------------------------------------------------------ r5065 | marko | 2009-05-20 23:17:43 +0300 (Wed, 20 May 2009) | 1 line branches/zip: ha_innodb.cc: Add some missing function comments. ------------------------------------------------------------------------ r5066 | marko | 2009-05-21 00:51:23 +0300 (Thu, 21 May 2009) | 2 lines branches/zip: Fix some function comments. ------------------------------------------------------------------------ r5070 | vasil | 2009-05-21 08:27:00 +0300 (Thu, 21 May 2009) | 4 lines branches/zip: Whitespace fixup. ------------------------------------------------------------------------
2009-05-25 06:20:53 +00:00
#ifdef HAVE_ATOMIC_BUILTINS
branches/innodb+: Merge revisions 4072:4150 from branches/zip: ------------------------------------------------------------------------ r4074 | vasil | 2009-01-31 08:05:24 +0200 (Sat, 31 Jan 2009) | 4 lines branches/zip: Adjust the failing patch patches/information_schema.diff. ------------------------------------------------------------------------ r4076 | vasil | 2009-02-02 09:32:04 +0200 (Mon, 02 Feb 2009) | 4 lines branches/zip: Add ChangeLog entry for the change in r4072. ------------------------------------------------------------------------ r4077 | marko | 2009-02-02 10:48:05 +0200 (Mon, 02 Feb 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Remove a factual error in the function comment. Parameters are not read from a file "srv_init". ------------------------------------------------------------------------ r4081 | marko | 2009-02-02 14:28:17 +0200 (Mon, 02 Feb 2009) | 4 lines branches/zip: Enclose some backup functions in #ifdef UNIV_HOTBACKUP. recv_read_cp_info_for_backup(), recv_scan_log_seg_for_backup(): These functions are only called by InnoDB Hot Backup. ------------------------------------------------------------------------ r4082 | vasil | 2009-02-02 18:24:08 +0200 (Mon, 02 Feb 2009) | 10 lines branches/zip: Fix a mysql-test failure in innodb-zip: main.innodb-zip [ fail ] Test ended at 2009-02-02 18:13:25 CURRENT_TEST: main.innodb-zip mysqltest: At line 160: Found line beginning with -- that didn't contain a valid mysqltest command, check your syntax or use # if you intended to write a comment ------------------------------------------------------------------------ r4083 | vasil | 2009-02-02 18:33:20 +0200 (Mon, 02 Feb 2009) | 6 lines branches/zip: Fix the failing innodb-zip test to restore the environment as it was before the test execution because a newly added feature in the mysql-test framework does check for this. ------------------------------------------------------------------------ r4088 | calvin | 2009-02-03 02:35:56 +0200 (Tue, 03 Feb 2009) | 8 lines branches/zip: fix a compiler error and a warning Both are minor changes: 1) Compiler error introduced in r4072: double ';' at the end. 2) Warning introduced in r3613: \mem\mem0pool.c(481) : warning C4098: 'mem_area_free' : 'void' function returning a value Approved by: Sunny (IM) ------------------------------------------------------------------------ r4098 | marko | 2009-02-03 09:52:45 +0200 (Tue, 03 Feb 2009) | 4 lines branches/zip: mem_area_free(): Correct a bug that was introduced in r4088. free() is not the same as ut_free(). ut_free() pairs with ut_malloc(), not malloc(). free() pairs with malloc() and some other functions. ------------------------------------------------------------------------ r4114 | marko | 2009-02-04 16:09:24 +0200 (Wed, 04 Feb 2009) | 2 lines branches/zip: buf_block_align(): Fix a bogus debug assertion that was introduced in r4036, to address Issue #161. ------------------------------------------------------------------------ r4139 | vasil | 2009-02-09 13:47:16 +0200 (Mon, 09 Feb 2009) | 5 lines branches/zip: Remove mysql-test/patches/bug35261.diff because that bug has been fixed in the MySQL repository. ------------------------------------------------------------------------ r4141 | marko | 2009-02-09 15:35:50 +0200 (Mon, 09 Feb 2009) | 1 line branches/zip: fil_write_lsn_and_arch_no_to_file(): Plug a memory leak. ------------------------------------------------------------------------ r4144 | inaam | 2009-02-10 01:36:25 +0200 (Tue, 10 Feb 2009) | 9 lines branches/zip rb://30 This patch changes the innodb mutexes and rw_locks implementation. On supported platforms it uses GCC builtin atomics. These changes are based on the patch sent by Mark Callaghan of Google under BSD license. More technical discussion can be found at rb://30 Approved by: Heikki ------------------------------------------------------------------------ r4145 | vasil | 2009-02-10 07:34:43 +0200 (Tue, 10 Feb 2009) | 9 lines branches/zip: Non-functional change: Fix a compilation warning introduced in r4144: gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../storage/innobase/include -I../../sql -I. -Werror -Wall -g -MT libinnobase_a-sync0arr.o -MD -MP -MF .deps/libinnobase_a-sync0arr.Tpo -c -o libinnobase_a-sync0arr.o `test -f 'sync/sync0arr.c' || echo './'`sync/sync0arr.c cc1: warnings being treated as errors sync/sync0arr.c: In function 'sync_array_object_signalled': sync/sync0arr.c:869: warning: pointer targets in passing argument 1 of 'os_atomic_increment' differ in signedness ------------------------------------------------------------------------ r4148 | marko | 2009-02-10 10:38:41 +0200 (Tue, 10 Feb 2009) | 12 lines branches/zip: Map ut_malloc(), ut_realloc(), ut_free() to malloc(), realloc(), free() when innodb_use_sys_malloc is set. ut_free_all_mem(): If innodb_use_sys_malloc is set, do nothing, because then ut_mem_block_list_inited will never be set. log_init(): Use mem_alloc() instead of ut_malloc(), so that the memory will be freed. (Tested with Valgrind, although it is not clear why the memory would be freed.) rb://86 approved by Heikki Tuuri and Ken Jacobs. This addresses Issue #168. ------------------------------------------------------------------------ r4149 | marko | 2009-02-10 11:09:15 +0200 (Tue, 10 Feb 2009) | 1 line branches/zip: ChangeLog: Document recent changes. ------------------------------------------------------------------------ r4150 | marko | 2009-02-10 11:51:43 +0200 (Tue, 10 Feb 2009) | 6 lines branches/zip: get_share(), free_share(): Make table locking case sensitive. If lower_case_table_names=1, MySQL will pass the table names in lower case. Thus, we can use a binary comparison (strcmp) in the hash table. rb://87 approved by Heikki Tuuri, to address Bug #41676 and Issue #167. ------------------------------------------------------------------------
2009-02-10 10:03:42 +00:00
export_vars.innodb_have_atomic_builtins = 1;
#else
export_vars.innodb_have_atomic_builtins = 0;
#endif
export_vars.innodb_page_size = UNIV_PAGE_SIZE;
export_vars.innodb_log_waits = srv_log_waits;
export_vars.innodb_os_log_written = srv_os_log_written;
export_vars.innodb_os_log_fsyncs = fil_n_log_flushes;
export_vars.innodb_os_log_pending_fsyncs = fil_n_pending_log_flushes;
export_vars.innodb_os_log_pending_writes = srv_os_log_pending_writes;
export_vars.innodb_log_write_requests = srv_log_write_requests;
export_vars.innodb_log_writes = srv_log_writes;
export_vars.innodb_dblwr_pages_written = srv_dblwr_pages_written;
export_vars.innodb_dblwr_writes = srv_dblwr_writes;
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
export_vars.innodb_pages_created = buf_pool->stat.n_pages_created;
export_vars.innodb_pages_read = buf_pool->stat.n_pages_read;
export_vars.innodb_pages_written = buf_pool->stat.n_pages_written;
export_vars.innodb_row_lock_waits = srv_n_lock_wait_count;
export_vars.innodb_row_lock_current_waits
= srv_n_lock_wait_current_count;
export_vars.innodb_row_lock_time = srv_n_lock_wait_time / 1000;
2005-10-27 07:29:40 +00:00
if (srv_n_lock_wait_count > 0) {
export_vars.innodb_row_lock_time_avg = (ulint)
(srv_n_lock_wait_time / 1000 / srv_n_lock_wait_count);
2005-10-27 07:29:40 +00:00
} else {
export_vars.innodb_row_lock_time_avg = 0;
}
export_vars.innodb_row_lock_time_max
= srv_n_lock_max_wait_time / 1000;
export_vars.innodb_rows_read = srv_n_rows_read;
export_vars.innodb_rows_inserted = srv_n_rows_inserted;
export_vars.innodb_rows_updated = srv_n_rows_updated;
export_vars.innodb_rows_deleted = srv_n_rows_deleted;
2005-10-27 07:29:40 +00:00
mutex_exit(&srv_innodb_monitor_mutex);
2005-10-27 07:29:40 +00:00
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
A thread which wakes up threads whose lock wait may have lasted too long.
This also prints the info output by various InnoDB monitors.
@return a dummy parameter */
UNIV_INTERN
os_thread_ret_t
2005-10-27 07:29:40 +00:00
srv_lock_timeout_and_monitor_thread(
/*================================*/
void* arg __attribute__((unused)))
/*!< in: a dummy parameter required by
2005-10-27 07:29:40 +00:00
os_thread_create */
{
srv_slot_t* slot;
double time_elapsed;
time_t current_time;
2005-10-27 07:29:40 +00:00
time_t last_table_monitor_time;
time_t last_tablespace_monitor_time;
2005-10-27 07:29:40 +00:00
time_t last_monitor_time;
ibool some_waits;
double wait_time;
ulint i;
#ifdef UNIV_DEBUG_THREAD_CREATION
fprintf(stderr, "Lock timeout thread starts, id %lu\n",
os_thread_pf(os_thread_get_curr_id()));
2005-10-27 07:29:40 +00:00
#endif
UT_NOT_USED(arg);
srv_last_monitor_time = time(NULL);
last_table_monitor_time = time(NULL);
last_tablespace_monitor_time = time(NULL);
2005-10-27 07:29:40 +00:00
last_monitor_time = time(NULL);
loop:
srv_lock_timeout_and_monitor_active = TRUE;
/* When someone is waiting for a lock, we wake up every second
and check if a timeout has passed for a lock wait */
os_thread_sleep(1000000);
current_time = time(NULL);
time_elapsed = difftime(current_time, last_monitor_time);
2005-10-27 07:29:40 +00:00
if (time_elapsed > 15) {
last_monitor_time = time(NULL);
2005-10-27 07:29:40 +00:00
if (srv_print_innodb_monitor) {
srv_printf_innodb_monitor(stderr, NULL, NULL);
}
2005-10-27 07:29:40 +00:00
if (srv_innodb_status) {
mutex_enter(&srv_monitor_file_mutex);
rewind(srv_monitor_file);
srv_printf_innodb_monitor(srv_monitor_file, NULL,
NULL);
os_file_set_eof(srv_monitor_file);
mutex_exit(&srv_monitor_file_mutex);
}
2005-10-27 07:29:40 +00:00
if (srv_print_innodb_tablespace_monitor
&& difftime(current_time,
last_tablespace_monitor_time) > 60) {
last_tablespace_monitor_time = time(NULL);
2005-10-27 07:29:40 +00:00
fputs("========================"
"========================\n",
stderr);
2005-10-27 07:29:40 +00:00
ut_print_timestamp(stderr);
2005-10-27 07:29:40 +00:00
fputs(" INNODB TABLESPACE MONITOR OUTPUT\n"
"========================"
"========================\n",
stderr);
2005-10-27 07:29:40 +00:00
fsp_print(0);
fputs("Validating tablespace\n", stderr);
fsp_validate(0);
fputs("Validation ok\n"
"---------------------------------------\n"
"END OF INNODB TABLESPACE MONITOR OUTPUT\n"
"=======================================\n",
stderr);
}
2005-10-27 07:29:40 +00:00
if (srv_print_innodb_table_monitor
&& difftime(current_time, last_table_monitor_time) > 60) {
2005-10-27 07:29:40 +00:00
last_table_monitor_time = time(NULL);
2005-10-27 07:29:40 +00:00
fputs("===========================================\n",
stderr);
ut_print_timestamp(stderr);
2005-10-27 07:29:40 +00:00
fputs(" INNODB TABLE MONITOR OUTPUT\n"
"===========================================\n",
stderr);
dict_print();
2005-10-27 07:29:40 +00:00
fputs("-----------------------------------\n"
"END OF INNODB TABLE MONITOR OUTPUT\n"
"==================================\n",
stderr);
}
2005-10-27 07:29:40 +00:00
}
mutex_enter(&kernel_mutex);
some_waits = FALSE;
/* Check of all slots if a thread is waiting there, and if it
has exceeded the time limit */
2005-10-27 07:29:40 +00:00
for (i = 0; i < OS_THREAD_MAX_N; i++) {
slot = srv_mysql_table + i;
if (slot->in_use) {
trx_t* trx;
ulong lock_wait_timeout;
2005-10-27 07:29:40 +00:00
some_waits = TRUE;
wait_time = ut_difftime(ut_time(), slot->suspend_time);
trx = thr_get_trx(slot->thr);
lock_wait_timeout = thd_lock_wait_timeout(
trx->mysql_thd);
if (lock_wait_timeout < 100000000
&& (wait_time > (double) lock_wait_timeout
|| wait_time < 0)) {
2005-10-27 07:29:40 +00:00
/* Timeout exceeded or a wrap-around in system
time counter: cancel the lock request queued
by the transaction and release possible
other transactions waiting behind; it is
possible that the lock has already been
granted: in that case do nothing */
if (trx->wait_lock) {
lock_cancel_waiting_and_release(
trx->wait_lock);
}
2005-10-27 07:29:40 +00:00
}
}
}
os_event_reset(srv_lock_timeout_thread_event);
mutex_exit(&kernel_mutex);
if (srv_shutdown_state >= SRV_SHUTDOWN_CLEANUP) {
goto exit_func;
}
if (some_waits || srv_print_innodb_monitor
|| srv_print_innodb_lock_monitor
|| srv_print_innodb_tablespace_monitor
|| srv_print_innodb_table_monitor) {
2005-10-27 07:29:40 +00:00
goto loop;
}
/* No one was waiting for a lock and no monitor was active:
suspend this thread */
srv_lock_timeout_and_monitor_active = FALSE;
#if 0
/* The following synchronisation is disabled, since
the InnoDB monitor output is to be updated every 15 seconds. */
os_event_wait(srv_lock_timeout_thread_event);
#endif
goto loop;
exit_func:
srv_lock_timeout_and_monitor_active = FALSE;
/* We count the number of threads in os_thread_exit(). A created
thread should always use that to exit and not use return() to exit. */
os_thread_exit(NULL);
OS_THREAD_DUMMY_RETURN;
2005-10-27 07:29:40 +00:00
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
2005-10-27 07:29:40 +00:00
A thread which prints warnings about semaphore waits which have lasted
too long. These can be used to track bugs which cause hangs.
@return a dummy parameter */
UNIV_INTERN
os_thread_ret_t
2005-10-27 07:29:40 +00:00
srv_error_monitor_thread(
/*=====================*/
void* arg __attribute__((unused)))
/*!< in: a dummy parameter required by
2005-10-27 07:29:40 +00:00
os_thread_create */
{
/* number of successive fatal timeouts observed */
ulint fatal_cnt = 0;
ib_uint64_t old_lsn;
ib_uint64_t new_lsn;
2005-10-27 07:29:40 +00:00
old_lsn = srv_start_lsn;
#ifdef UNIV_DEBUG_THREAD_CREATION
fprintf(stderr, "Error monitor thread starts, id %lu\n",
os_thread_pf(os_thread_get_curr_id()));
2005-10-27 07:29:40 +00:00
#endif
loop:
srv_error_monitor_active = TRUE;
/* Try to track a strange bug reported by Harald Fuchs and others,
where the lsn seems to decrease at times */
new_lsn = log_get_lsn();
if (new_lsn < old_lsn) {
2005-10-27 07:29:40 +00:00
ut_print_timestamp(stderr);
fprintf(stderr,
" InnoDB: Error: old log sequence number %llu"
" was greater\n"
"InnoDB: than the new log sequence number %llu!\n"
"InnoDB: Please submit a bug report"
" to http://bugs.mysql.com\n",
old_lsn, new_lsn);
2005-10-27 07:29:40 +00:00
}
old_lsn = new_lsn;
if (difftime(time(NULL), srv_last_monitor_time) > 60) {
/* We referesh InnoDB Monitor values so that averages are
printed from at most 60 last seconds */
srv_refresh_innodb_monitor_stats();
}
/* Update the statistics collected for deciding LRU
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
eviction policy. */
buf_LRU_stat_update();
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Update the statistics collected for flush rate policy. */
buf_flush_stat_update();
/* In case mutex_exit is not a memory barrier, it is
theoretically possible some threads are left waiting though
the semaphore is already released. Wake up those threads: */
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
sync_arr_wake_threads_if_sema_free();
2005-10-27 07:29:40 +00:00
if (sync_array_print_long_waits()) {
fatal_cnt++;
if (fatal_cnt > 10) {
2005-10-27 07:29:40 +00:00
fprintf(stderr,
"InnoDB: Error: semaphore wait has lasted"
" > %lu seconds\n"
"InnoDB: We intentionally crash the server,"
" because it appears to be hung.\n",
(ulong) srv_fatal_semaphore_wait_threshold);
2005-10-27 07:29:40 +00:00
ut_error;
}
} else {
fatal_cnt = 0;
}
/* Flush stderr so that a database user gets the output
to possible MySQL error file */
fflush(stderr);
os_thread_sleep(1000000);
2005-10-27 07:29:40 +00:00
if (srv_shutdown_state < SRV_SHUTDOWN_CLEANUP) {
2005-10-27 07:29:40 +00:00
goto loop;
}
srv_error_monitor_active = FALSE;
/* We count the number of threads in os_thread_exit(). A created
thread should always use that to exit and not use return() to exit. */
os_thread_exit(NULL);
OS_THREAD_DUMMY_RETURN;
2005-10-27 07:29:40 +00:00
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*******************************************************************//**
2005-10-27 07:29:40 +00:00
Tells the InnoDB server that there has been activity in the database
and wakes up the master thread if it is suspended (not sleeping). Used
in the MySQL interface. Note that there is a small chance that the master
thread stays suspended (we do not protect our operation with the kernel
mutex, for performace reasons). */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_active_wake_master_thread(void)
/*===============================*/
{
srv_activity_count++;
2005-10-27 07:29:40 +00:00
if (srv_n_threads_active[SRV_MASTER] == 0) {
mutex_enter(&kernel_mutex);
srv_release_threads(SRV_MASTER, 1);
mutex_exit(&kernel_mutex);
}
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*******************************************************************//**
2005-10-27 07:29:40 +00:00
Wakes up the master thread if it is suspended or being suspended. */
UNIV_INTERN
2005-10-27 07:29:40 +00:00
void
srv_wake_master_thread(void)
/*========================*/
{
srv_activity_count++;
2005-10-27 07:29:40 +00:00
mutex_enter(&kernel_mutex);
srv_release_threads(SRV_MASTER, 1);
mutex_exit(&kernel_mutex);
}
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/**********************************************************************
The master thread is tasked to ensure that flush of log file happens
once every second in the background. This is to ensure that not more
than one second of trxs are lost in case of crash when
innodb_flush_logs_at_trx_commit != 1 */
static
void
srv_sync_log_buffer_in_background(void)
/*===================================*/
{
time_t current_time = time(NULL);
srv_main_thread_op_info = "flushing log";
if (difftime(current_time, srv_last_log_flush_time) >= 1) {
log_buffer_sync_in_background(TRUE);
srv_last_log_flush_time = current_time;
srv_log_writes_and_flush++;
}
}
branches/innodb+: Merge revisions 5091:5143 from branches/zip: ------------------------------------------------------------------------ r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Adjust some function comments after r5091. ------------------------------------------------------------------------ r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Split some long lines that were introduced in r5091. ------------------------------------------------------------------------ r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR. This is to avoid triggering an error in Doxygen. ------------------------------------------------------------------------ r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line branches/zip: Add missing file comments. ------------------------------------------------------------------------ r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines branches/zip: Add @file comments, and convert decorative /********************************* comments to Doxygen /** style like this: /*****************************//** This conversion was performed by the following command: perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) { s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2} print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i ------------------------------------------------------------------------ r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Revert ut0auxconf_* to r5102, that is, make Doxygen ignore these test programs. ------------------------------------------------------------------------ r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Enclose some #error checks inside #ifndef DOXYGEN to prevent bogus Doxygen errors. ------------------------------------------------------------------------ r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines branches/zip: Add some Doxygen comments, mainly to structs, typedefs, macros and global variables. Many more to go. ------------------------------------------------------------------------ r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines branches/zip: lexyy.c: Remove the inadvertently added @file directive. There is nothing for Doxygen to see in this file, move along. ------------------------------------------------------------------------ r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines branches/zip: Add some Doxygen comments for many structs, typedefs, #defines and global variables. Many are still missing. ------------------------------------------------------------------------ r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add some Doxygen @return comments. ------------------------------------------------------------------------ r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line branches/zip: Add Doxyfile. ------------------------------------------------------------------------ r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation. @defgroup is for source code modules, not for field groups. Tell Doxygen to expand the UT_LIST declarations. ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
/*********************************************************************//**
The master thread controlling the server.
@return a dummy parameter */
UNIV_INTERN
os_thread_ret_t
2005-10-27 07:29:40 +00:00
srv_master_thread(
/*==============*/
void* arg __attribute__((unused)))
/*!< in: a dummy parameter required by
2005-10-27 07:29:40 +00:00
os_thread_create */
{
os_event_t event;
ulint old_activity_count;
ulint n_pages_purged = 0;
2005-10-27 07:29:40 +00:00
ulint n_bytes_merged;
ulint n_pages_flushed;
ulint n_bytes_archived;
ulint n_tables_to_drop;
ulint n_ios;
ulint n_ios_old;
ulint n_ios_very_old;
ulint n_pend_ios;
ibool skip_sleep = FALSE;
ulint i;
2005-10-27 07:29:40 +00:00
#ifdef UNIV_DEBUG_THREAD_CREATION
fprintf(stderr, "Master thread starts, id %lu\n",
os_thread_pf(os_thread_get_curr_id()));
2005-10-27 07:29:40 +00:00
#endif
srv_main_thread_process_no = os_proc_get_number();
srv_main_thread_id = os_thread_pf(os_thread_get_curr_id());
srv_table_reserve_slot(SRV_MASTER);
2005-10-27 07:29:40 +00:00
mutex_enter(&kernel_mutex);
srv_n_threads_active[SRV_MASTER]++;
mutex_exit(&kernel_mutex);
loop:
/*****************************************************************/
/* ---- When there is database activity by users, we cycle in this
loop */
srv_main_thread_op_info = "reserving kernel mutex";
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
n_ios_very_old = log_sys->n_log_ios + buf_pool->stat.n_pages_read
+ buf_pool->stat.n_pages_written;
2005-10-27 07:29:40 +00:00
mutex_enter(&kernel_mutex);
/* Store the user activity counter at the start of this loop */
old_activity_count = srv_activity_count;
mutex_exit(&kernel_mutex);
if (srv_force_recovery >= SRV_FORCE_NO_BACKGROUND) {
goto suspend_thread;
}
/* ---- We run the following loop approximately once per second
when there is database activity */
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
srv_last_log_flush_time = time(NULL);
2005-10-27 07:29:40 +00:00
skip_sleep = FALSE;
for (i = 0; i < 10; i++) {
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
n_ios_old = log_sys->n_log_ios + buf_pool->stat.n_pages_read
+ buf_pool->stat.n_pages_written;
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "sleeping";
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
srv_main_1_second_loops++;
2005-10-27 07:29:40 +00:00
if (!skip_sleep) {
os_thread_sleep(1000000);
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
srv_main_sleeps++;
2005-10-27 07:29:40 +00:00
}
skip_sleep = FALSE;
/* ALTER TABLE in MySQL requires on Unix that the table handler
can drop tables lazily after there no longer are SELECT
queries to them. */
srv_main_thread_op_info = "doing background drop tables";
row_drop_tables_for_mysql_in_background();
srv_main_thread_op_info = "";
if (srv_fast_shutdown && srv_shutdown_state > 0) {
goto background_loop;
}
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Flush logs if needed */
srv_sync_log_buffer_in_background();
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "making checkpoint";
log_free_check();
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* If i/os during one second sleep were less than 5% of
capacity, we assume that there is free disk i/o capacity
available, and it makes sense to do an insert buffer merge. */
2005-10-27 07:29:40 +00:00
n_pend_ios = buf_get_n_pending_ios()
+ log_sys->n_pending_writes;
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
n_ios = log_sys->n_log_ios + buf_pool->stat.n_pages_read
+ buf_pool->stat.n_pages_written;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
if (n_pend_ios < SRV_PEND_IO_THRESHOLD
&& (n_ios - n_ios_old < SRV_RECENT_IO_ACTIVITY)) {
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "doing insert buffer merge";
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
ibuf_contract_for_n_pages(FALSE, PCT_IO(5));
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Flush logs if needed */
srv_sync_log_buffer_in_background();
2005-10-27 07:29:40 +00:00
}
if (UNIV_UNLIKELY(buf_get_modified_ratio_pct()
> srv_max_buf_pool_modified_pct)) {
2005-10-27 07:29:40 +00:00
/* Try to keep the number of modified pages in the
buffer pool under the limit wished by the user */
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
srv_main_thread_op_info =
"flushing buffer pool pages";
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
n_pages_flushed = buf_flush_batch(BUF_FLUSH_LIST,
PCT_IO(100),
IB_ULONGLONG_MAX);
2005-10-27 07:29:40 +00:00
/* If we had to do the flush, it may have taken
2005-10-27 07:29:40 +00:00
even more than 1 second, and also, there may be more
to flush. Do not sleep 1 second during the next
iteration of this loop. */
2005-10-27 07:29:40 +00:00
skip_sleep = TRUE;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
} else if (srv_adaptive_flushing) {
/* Try to keep the rate of flushing of dirty
pages such that redo log generation does not
produce bursts of IO at checkpoint time. */
ulint n_flush = buf_flush_get_desired_flush_rate();
if (n_flush) {
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
srv_main_thread_op_info =
"flushing buffer pool pages";
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
n_flush = ut_min(PCT_IO(100), n_flush);
n_pages_flushed =
buf_flush_batch(
BUF_FLUSH_LIST,
n_flush,
IB_ULONGLONG_MAX);
skip_sleep = TRUE;
}
2005-10-27 07:29:40 +00:00
}
if (srv_activity_count == old_activity_count) {
/* There is no user activity at the moment, go to
the background loop */
goto background_loop;
}
}
/* ---- We perform the following code approximately once per
10 seconds when there is database activity */
#ifdef MEM_PERIODIC_CHECK
/* Check magic numbers of every allocated mem block once in 10
seconds */
mem_validate_all_blocks();
#endif
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* If i/os during the 10 second period were less than 200% of
capacity, we assume that there is free disk i/o capacity
available, and it makes sense to flush srv_io_capacity pages.
Note that this is done regardless of the fraction of dirty
pages relative to the max requested by the user. The one second
loop above requests writes for that case. The writes done here
are not required, and may be disabled. */
2005-10-27 07:29:40 +00:00
n_pend_ios = buf_get_n_pending_ios() + log_sys->n_pending_writes;
branches/innodb+: Merged revisions 5525:5971 from branches/zip ------------------------------------------------------------------------ r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. ------------------------------------------------------------------------ r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. ------------------------------------------------------------------------ r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. ------------------------------------------------------------------------ r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines branches/zip: adjust Windows loading method for 5.1.38 Starting at 5.1.38, MySQL server exports symbols needed for dynamic plugin on Windows. There is no need for Windows specific loading. Also, the CMake files are simplified in 5.1.38. When WITH_INNOBASE_STORAGE_ENGINE is specified during configuration (win\configure.js), InnoDB is built as a static library. Otherwise, a dynamic InnoDB will be built (ha_innodb.dll). CMakeLists.txt requires minor changes in order to work with MySQL prior to 5.1.38. The changes will be in a separate patch. This patch addresses Mantis issue#286. ------------------------------------------------------------------------ r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------------------ r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. ------------------------------------------------------------------------ r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog ------------------------------------------------------------------------ r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. ------------------------------------------------------------------------ r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. ------------------------------------------------------------------------ r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. ------------------------------------------------------------------------ r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. ------------------------------------------------------------------------ r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. ------------------------------------------------------------------------ r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------------------ r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines branches/zip: Add */.dirstamp to svn:ignore, for https://svn.innodb.com/svn/hotbackup/branches/3.5 ------------------------------------------------------------------------ r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. ------------------------------------------------------------------------ r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. ------------------------------------------------------------------------ r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. ------------------------------------------------------------------------ r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------------------ r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. ------------------------------------------------------------------------ r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. ------------------------------------------------------------------------ r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. ------------------------------------------------------------------------ r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. ------------------------------------------------------------------------ r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. ------------------------------------------------------------------------ r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. ------------------------------------------------------------------------ r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t ------------------------------------------------------------------------ r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------------------ r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. ------------------------------------------------------------------------ r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. ------------------------------------------------------------------------ r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains ------------------------------------------------------------------------ r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains ------------------------------------------------------------------------ r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. ------------------------------------------------------------------------ r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. ------------------------------------------------------------------------ r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. ------------------------------------------------------------------------ r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) ------------------------------------------------------------------------ r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------------------ r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. ------------------------------------------------------------------------ r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. ------------------------------------------------------------------------ r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. ------------------------------------------------------------------------ r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). ------------------------------------------------------------------------ r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko ------------------------------------------------------------------------ r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. ------------------------------------------------------------------------ r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. ------------------------------------------------------------------------ r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. ------------------------------------------------------------------------ r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------------------ r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. ------------------------------------------------------------------------ r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. ------------------------------------------------------------------------ r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). ------------------------------------------------------------------------ r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. ------------------------------------------------------------------------ r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. ------------------------------------------------------------------------ r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. ------------------------------------------------------------------------ r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. ------------------------------------------------------------------------ r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------------------ r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. ------------------------------------------------------------------------ r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. ------------------------------------------------------------------------ r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement ------------------------------------------------------------------------ r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. ------------------------------------------------------------------------ r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko ------------------------------------------------------------------------ r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. ------------------------------------------------------------------------ r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. ------------------------------------------------------------------------ r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------------------ r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. ------------------------------------------------------------------------ r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko ------------------------------------------------------------------------ r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. ------------------------------------------------------------------------ r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i ------------------------------------------------------------------------ r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. ------------------------------------------------------------------------ r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. ------------------------------------------------------------------------ r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. ------------------------------------------------------------------------ r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. ------------------------------------------------------------------------ r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------------------ r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. ------------------------------------------------------------------------ r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. ------------------------------------------------------------------------ r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. ------------------------------------------------------------------------ r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. ------------------------------------------------------------------------ r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. ------------------------------------------------------------------------ r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. ------------------------------------------------------------------------ r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. ------------------------------------------------------------------------ r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. ------------------------------------------------------------------------ r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------------------ r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace <number> with NUMBER in some comments, to avoid problems with Doxygen XML output. ------------------------------------------------------------------------ r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. ------------------------------------------------------------------------ r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B <satya.bn@sun.com> branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines branches/zip: Add fsp0types.h to the list of noinst_HEADERS Suggested by: Sergey Vojtovich <svoj@sun.com> ------------------------------------------------------------------------ r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. ------------------------------------------------------------------------ r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. ------------------------------------------------------------------------ r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: For HotBackup builds we don't want to hide the symbols. ------------------------------------------------------------------------ r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5524. ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
n_ios = log_sys->n_log_ios + buf_pool->stat.n_pages_read
+ buf_pool->stat.n_pages_written;
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
srv_main_10_second_loops++;
if (n_pend_ios < SRV_PEND_IO_THRESHOLD
&& (n_ios - n_ios_very_old < SRV_PAST_IO_ACTIVITY)) {
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "flushing buffer pool pages";
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
buf_flush_batch(BUF_FLUSH_LIST, PCT_IO(100),
IB_ULONGLONG_MAX);
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Flush logs if needed */
srv_sync_log_buffer_in_background();
2005-10-27 07:29:40 +00:00
}
/* We run a batch of insert buffer merge every 10 seconds,
even if the server were active */
srv_main_thread_op_info = "doing insert buffer merge";
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
ibuf_contract_for_n_pages(FALSE, PCT_IO(5));
2005-10-27 07:29:40 +00:00
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Flush logs if needed */
srv_sync_log_buffer_in_background();
2005-10-27 07:29:40 +00:00
/* We run a full purge every 10 seconds, even if the server
were active */
do {
2005-10-27 07:29:40 +00:00
if (srv_fast_shutdown && srv_shutdown_state > 0) {
goto background_loop;
}
srv_main_thread_op_info = "purging";
n_pages_purged = trx_purge();
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Flush logs if needed */
srv_sync_log_buffer_in_background();
2005-10-27 07:29:40 +00:00
} while (n_pages_purged);
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "flushing buffer pool pages";
/* Flush a few oldest pages to make a new checkpoint younger */
if (buf_get_modified_ratio_pct() > 70) {
/* If there are lots of modified pages in the buffer pool
(> 70 %), we assume we can afford reserving the disk(s) for
the time it requires to flush 100 pages */
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
n_pages_flushed = buf_flush_batch(BUF_FLUSH_LIST,
PCT_IO(100),
IB_ULONGLONG_MAX);
2005-10-27 07:29:40 +00:00
} else {
/* Otherwise, we only flush a small number of pages so that
2005-10-27 07:29:40 +00:00
we do not unnecessarily use much disk i/o capacity from
other work */
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
n_pages_flushed = buf_flush_batch(BUF_FLUSH_LIST,
PCT_IO(10),
IB_ULONGLONG_MAX);
2005-10-27 07:29:40 +00:00
}
srv_main_thread_op_info = "making checkpoint";
/* Make a new checkpoint about once in 10 seconds */
log_checkpoint(TRUE, FALSE);
srv_main_thread_op_info = "reserving kernel mutex";
mutex_enter(&kernel_mutex);
2005-10-27 07:29:40 +00:00
/* ---- When there is database activity, we jump from here back to
the start of loop */
if (srv_activity_count != old_activity_count) {
mutex_exit(&kernel_mutex);
goto loop;
}
2005-10-27 07:29:40 +00:00
mutex_exit(&kernel_mutex);
/* If the database is quiet, we enter the background loop */
/*****************************************************************/
background_loop:
/* ---- In this loop we run background operations when the server
is quiet from user activity. Also in the case of a shutdown, we
loop here, flushing the buffer pool to the data files. */
/* The server has been quiet for a while: start running background
operations */
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
srv_main_background_loops++;
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "doing background drop tables";
n_tables_to_drop = row_drop_tables_for_mysql_in_background();
if (n_tables_to_drop > 0) {
/* Do not monopolize the CPU even if there are tables waiting
2005-10-27 07:29:40 +00:00
in the background drop queue. (It is essentially a bug if
MySQL tries to drop a table while there are still open handles
to it and we had to put it to the background drop queue.) */
os_thread_sleep(100000);
}
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "purging";
/* Run a full purge */
do {
2005-10-27 07:29:40 +00:00
if (srv_fast_shutdown && srv_shutdown_state > 0) {
break;
}
srv_main_thread_op_info = "purging";
n_pages_purged = trx_purge();
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Flush logs if needed */
srv_sync_log_buffer_in_background();
2005-10-27 07:29:40 +00:00
} while (n_pages_purged);
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "reserving kernel mutex";
mutex_enter(&kernel_mutex);
if (srv_activity_count != old_activity_count) {
mutex_exit(&kernel_mutex);
goto loop;
}
mutex_exit(&kernel_mutex);
srv_main_thread_op_info = "doing insert buffer merge";
if (srv_fast_shutdown && srv_shutdown_state > 0) {
n_bytes_merged = 0;
2005-10-27 07:29:40 +00:00
} else {
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* This should do an amount of IO similar to the number of
dirty pages that will be flushed in the call to
buf_flush_batch below. Otherwise, the system favors
clean pages over cleanup throughput. */
n_bytes_merged = ibuf_contract_for_n_pages(FALSE,
PCT_IO(100));
2005-10-27 07:29:40 +00:00
}
srv_main_thread_op_info = "reserving kernel mutex";
mutex_enter(&kernel_mutex);
if (srv_activity_count != old_activity_count) {
mutex_exit(&kernel_mutex);
goto loop;
}
mutex_exit(&kernel_mutex);
2005-10-27 07:29:40 +00:00
flush_loop:
srv_main_thread_op_info = "flushing buffer pool pages";
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
srv_main_flush_loops++;
2005-10-27 07:29:40 +00:00
if (srv_fast_shutdown < 2) {
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
n_pages_flushed = buf_flush_batch(BUF_FLUSH_LIST,
PCT_IO(100),
IB_ULONGLONG_MAX);
2005-10-27 07:29:40 +00:00
} else {
/* In the fastest shutdown we do not flush the buffer pool
to data files: we set n_pages_flushed to 0 artificially. */
n_pages_flushed = 0;
}
srv_main_thread_op_info = "reserving kernel mutex";
mutex_enter(&kernel_mutex);
if (srv_activity_count != old_activity_count) {
mutex_exit(&kernel_mutex);
goto loop;
}
mutex_exit(&kernel_mutex);
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "waiting for buffer pool flush to end";
buf_flush_wait_batch_end(BUF_FLUSH_LIST);
branches/innodb+: Merge revisions 5144:5524 from branches/zip ------------------------------------------------------------------------ r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line branches/zip: ibuf0ibuf.c: Improve a comment. ------------------------------------------------------------------------ r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines branches/zip: Merge revisions 4994:5148 from branches/5.1: ------------------------------------------------------------------------ r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Non-functional change: move FSP_* macros from fsp0fsp.h to a new file fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE in mtr0log.ic. ------------------------------------------------------------------------ r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines branches/5.1: Preparation for the fix of Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h and include fsp0fsp.h just before it is needed. This is needed in order to be able to use TRX_SYS_SPACE in mtr0log.ic. ------------------------------------------------------------------------ r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines branches/5.1: Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages Do not write redo log for the pages in the doublewrite buffer. Also, do not make a dummy change to the page because this is not needed. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types. ------------------------------------------------------------------------ r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line branches/zip: Correct a debug assertion that was added in r5125. ------------------------------------------------------------------------ r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines branches/zip: Clean up some comments. Make the rec parameter of mlog_open_and_write_index() const. ------------------------------------------------------------------------ r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines branches/zip: Merge revisions 5148:5233 from branches/5.1: ------------------------------------------------------------------------ r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines branches/5.1: Whitespace fixup. ------------------------------------------------------------------------ r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines branches/5.1: Merge a change from MySQL (this fixes the failing innodb_mysql test): ------------------------------------------------------------ revno: 1810.3894.10 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.0-bugteam timestamp: Tue 2009-05-19 11:32:21 +0500 message: Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value Internal InnoDN FK parser does not recognize '\'' as quotation symbol. Suggested fix is to add '\'' symbol check for quotation condition (dict_strip_comments() function). modified: innobase/dict/dict0dict.c mysql-test/r/innodb_mysql.result mysql-test/t/innodb_mysql.test ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add Doxygen comments to the rest of buf0*. ------------------------------------------------------------------------ r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Replace <= in a function comment. ------------------------------------------------------------------------ r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line branches/zip: Add missing Doxygen comments for page0zip. ------------------------------------------------------------------------ r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines branches/zip: Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern) The changes are: 1) Take into account access pattern when deciding whether or not to do linear read ahead. 2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic, global to control linear read ahead behvior 3) Disable random read ahead. Keep the code for now. Submitted by: Inaam (rb://122) Approved by: Heikki (rb://122) ------------------------------------------------------------------------ r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines branches/zip: Enable functionality to have multiple background io helper threads. This patch is based on percona contributions. More details about this patch will be written at: https://svn.innodb.com/innobase/MultipleBackgroundThreads The patch essentially does the following: expose following knobs: innodb_read_io_threads = [1 - 64] default 1 innodb_write_io_threads = [1 - 64] default 1 deprecate innodb_file_io_threads (this parameter was relevant only on windows) Internally it allows multiple segments for read and write IO request arrays where one thread works on one segement. Submitted by: Inaam (rb://124) Approved by: Heikki (rb://124) ------------------------------------------------------------------------ r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Whitespace cleanup. ------------------------------------------------------------------------ r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5261. ------------------------------------------------------------------------ r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5262. ------------------------------------------------------------------------ r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines branches/zip Non functional change: Added legal notices acknowledging percona contribution to the multiple IO helper threads patch i.e.: r5262 ------------------------------------------------------------------------ r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines branches/zip rb://130 Enable Group Commit functionality that was broken in 5.0 when distributed transactions were introduced. Reviewed by: Heikki ------------------------------------------------------------------------ r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines branches/zip: Declare os_thread_id_t as unsigned long, because ulint is wrong on Win64. Pointed out by Vladislav Vaintroub <wlad@sun.com>. ------------------------------------------------------------------------ r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines branches/zip rb://131 This patch changes the following defaults: max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99 additional_mem_pool_size: default from 1 to 8 MB buffer_pool_size: default from 8 to 128 MB log_buffer_size: default from 1 to 8 MB read_io_threads/write_io_threads: default from 1 to 4 The log file sizes are untouched because of upgrade issues Reviewed by: Heikki ------------------------------------------------------------------------ r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting buf_pool->n_pend_unzip while only holding buf_pool_mutex. ------------------------------------------------------------------------ r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call. The function must switch on the block state anyway. ------------------------------------------------------------------------ r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines branches/zip: Add ChangeLog entries for r5283 and r5320. ------------------------------------------------------------------------ r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line branches/zip: buf_page_io_query(): Remove unused function. ------------------------------------------------------------------------ r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines branches/zip: innodb.test: Adjust the tolerance of innodb_buffer_pool_pages_total for r5320. ------------------------------------------------------------------------ r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines branches/zip: Merge revisions 5233:5341 from branches/5.1: ------------------------------------------------------------------------ r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines branches/5.1: Merge the test case from r5232 from branches/5.0: ------------------------------------------------------------------------ r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565 (Update Query Results in "1 Row Affected" But Should Be "Zero Rows"). Also, add a test case for Bug #40565. rb://128 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 ------------------------------------------------------------------------ r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. ------------------------------------------------------------------------ r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) ------------------------------------------------------------------------ r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines branches/5.1: Add missing #include "mtr0log.h" so that the code compiles with -DUNIV_MUST_NOT_INLINE. (null merge; this had already been committed in branches/zip) ------------------------------------------------------------------------ r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown, refuse to unlock the record. (Bug #45357, caused by the fix of Bug #39320). rb://132 approved by Sunny Bains. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines branches/zip: Add ChangeLog entry for r5342. ------------------------------------------------------------------------ r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426) ------------------------------------------------------------------------ r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines branches/zip: buf_page_get_zip(): Fix a bogus warning about block_mutex being possibly uninitialized. ------------------------------------------------------------------------ r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: ha_innobase::check_if_incompatible_data(): When ROW_FORMAT=DEFAULT, do not compare to get_row_type(). Without this change, fast index creation will be disabled in recent versions of MySQL 5.1. ------------------------------------------------------------------------ r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Minor changes for Hot Backup to build correctly. (The code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines branches/zip: Add functions for checking the format of tablespaces for Hot Backup build (UNIV_HOTBACKUP defined). This change should not affect !UNIV_HOTBACKUP build. ------------------------------------------------------------------------ r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines branches/zip: change the header file path. Change the header file path from ../storage/innobase/include/ to ../include/. In the planned 5.1 + plugin release, the source directory of the plugin will not be in storage/innobase. Approved by: Heikki (IM) ------------------------------------------------------------------------ r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines branches/zip: remove relative path of header files. Suggested by Marko. ------------------------------------------------------------------------ r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290. ------------------------------------------------------------------------ r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch. This addresses Bug #44571 but does not fix it. rb://135 approved by Sunny Bains. ------------------------------------------------------------------------ r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines branches/zip: Fix typos. ------------------------------------------------------------------------ r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index(): Start prebuilt->trx before locking the table. This should fix Issue #293 and could fix Issue #229. Approved by Sunny (over IM). ------------------------------------------------------------------------ r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines branches/zip: buf_page_get_gen(): Fix a race condition when reading buf_fix_count. This could explain Issue #156. Tested by Michael. ------------------------------------------------------------------------ r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages(): Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED). buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)). Issue #289, rb://136 approved by Sunny Bains ------------------------------------------------------------------------ r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast. Do not do arithmetics on void pointers. ------------------------------------------------------------------------ r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT or SET GLOBAL innodb_file_format_check=DEFAULT. innodb_file_format.test: New test for innodb_file_format and innodb_file_format_check. innodb_file_format_name_validate(): Store the string in *save. innodb_file_format_name_update(): Check the string again. innodb_file_format_check_validate(): Store the string in *save. innodb_file_format_check_update(): Check the string again. Issue #282, rb://140 approved by Heikki Tuuri ------------------------------------------------------------------------ r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add another assertion to track down Issue #289. ------------------------------------------------------------------------ r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line branches/zip: Revert an accidentally made change in r5430 to univ.i. ------------------------------------------------------------------------ r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: ibuf_dummy_index_free(): Beautify the comment. ------------------------------------------------------------------------ r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: fseg_free(): Remove this unused function. ------------------------------------------------------------------------ r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG. This function is unused, but it could turn out to be a useful debugging aid. ------------------------------------------------------------------------ r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: ha_delete(): Remove this unused function that was very similar to ha_search_and_delete_if_found(). ------------------------------------------------------------------------ r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. ------------------------------------------------------------------------ r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_event_create_auto(): Unused, remove. ------------------------------------------------------------------------ r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: que_graph_try_free(): Unused, remove. ------------------------------------------------------------------------ r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: row_build_row_ref_from_row(): Unused, remove. ------------------------------------------------------------------------ r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. ------------------------------------------------------------------------ r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: srv_que_task_queue_check(): Unused, remove. ------------------------------------------------------------------------ r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: mem_heap_cat(): Unused, remove. ------------------------------------------------------------------------ r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: innobase_start_or_create_for_mysql(): Invoke os_get_os_version() at most once. ------------------------------------------------------------------------ r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_file_close_no_error_handling(): Unused, remove. ------------------------------------------------------------------------ r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: page_set_max_trx_id(): Make the code compile with UNIV_HOTBACKUP. ------------------------------------------------------------------------ r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: os_file_close_no_error_handling(): Restore, as this function is used within InnoDB Hot Backup. ------------------------------------------------------------------------ r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line branches/zip: os_process_set_priority_boost(): Unused, remove. ------------------------------------------------------------------------ r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines branches/zip: Replace a non-ASCII character (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute. ------------------------------------------------------------------------ r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines branches/zip Non functional change. s/Percona/Percona Inc./ ------------------------------------------------------------------------ r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines branches/zip: Use PAUSE instruction inside spinloop if it is available. The patch was originally developed by Mikael Ronstrom <mikael@mysql.com> and can be found here: http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799 http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800 Approved by: Heikki (rb://137) ------------------------------------------------------------------------ r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines branches/zip: Remove unnecessary quotes and simplify plug.in. ------------------------------------------------------------------------ r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines branches/zip: add COPYING files for Percona and Sun Micro. 1.0.4 contains patches based on contributions from Percona and Sun Microsystems. ------------------------------------------------------------------------ r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake. Windows will support PAUSE instruction by default. ------------------------------------------------------------------------ r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines branches/zip rb://126 Based on contribution from Google Inc. This patch introduces a new parameter innodb_io_capacity to control the rate at which master threads performs various tasks. The default value is 200 and higher values imply more aggressive flushing and ibuf merges from within the master thread. This patch also changes the ibuf merge from synchronous to asynchronous. Another minor change is not to force the master thread to wait for a log flush to complete every second. Approved by: Heikki ------------------------------------------------------------------------ r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines branches/zip rb://138 The current implementation is to try to flush the neighbors of every page that we flush. This patch makes the following distinction: 1) If the flush is from flush_list AND 2) If the flush is intended to move the oldest_modification LSN ahead (this happens when a user thread sees little space in the log file and attempts to flush pages from the buffer pool so that a checkpoint can be made) THEN Do not try to flush the neighbors. Just focus on flushing dirty pages at the end of flush_list Approved by: Heikki ------------------------------------------------------------------------ r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines branches/zip rb://133 This patch introduces heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. 1) log_capacity / log_generated per second gives us number of seconds in which ALL dirty pages need to be flushed. Based on this rough assumption we can say that n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate 2) We use weighted averages (hard coded to 20 seconds) of log_generation_rate to avoid resonance. 3) From the desired_flush_rate we subtract the number of pages that have been flushed due to LRU flushing. That gives us pages that we should flush as part of flush_list cleanup. And that is the number (capped by maximum io_capacity) that we try to flush from the master thread. Knobs: ====== innodb_adaptive_flushing: boolean, global, dynamic, default TRUE. Since this heuristic is very experimental and has the potential to dramatically change the IO pattern I think it is a good idea to leave a knob to turn it off. Approved by: Heikki ------------------------------------------------------------------------ r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines branches/zip: fix PAUSE instruction patch on Windows The original PAUSE instruction patch (r5470) does not compile on Windows. Also, there is an elegant way of doing it on Windows - YieldProcessor(). Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines branches/zip: Change the defaults for innodb_sync_spin_loops: 20 -> 30 innodb_spin_wait_delay: 5 -> 6 This change was proposed by Sun/MySQL based on their performance testing, see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4 ------------------------------------------------------------------------ r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines branches/zip: Add ChangeLog entry for 5489. ------------------------------------------------------------------------ r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines branches/zip: add copyright info to files related to PAUSE instruction patch, contributed by Sun Microsystems. ------------------------------------------------------------------------ r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines branches/zip: add ChangeLog entries for r5484-r5486. ------------------------------------------------------------------------ r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines branches/zip: Restore the original value of innodb_sync_spin_loops at the end, previously the test assumed that setting it to 20 will do this, but now the default is 30 and MTR's internal check failed. ------------------------------------------------------------------------ r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines branches/zip rb://138 (REVERT) Revert the flush neighbors patch as it shows regression in the benchmarks run by Michael. ------------------------------------------------------------------------ r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines branches/zip Fixed warnings on windows where ulint != ib_uint64_t ------------------------------------------------------------------------ r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines branches/zip: fix run-time symbols clash on Solaris. This patch is from Sergey Vojtovich of Sun Microsystems, to fix run-time symbols clash on Solaris with older C++ compiler: - when finding out a way to hide symbols, make decision basing on compiler, not operating system. - Sun Studio supports __hidden declaration specifier for this purpose. ------------------------------------------------------------------------ r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines branches/zip: Merge r5341:5497 from branches/5.1, skipping: c5419 because it is merge from branches/zip into branches/5.1 c5466 because the source code has been adjusted to match the MySQL behavior and the innodb-autoinc test does not fail in branches/zip, if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested not to merge c5466. and resolving conflicts in c5410, c5440, c5488: ------------------------------------------------------------------------ r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines Changed paths: M /branches/5.1/include/trx0sys.ic M /branches/5.1/trx/trx0purge.c M /branches/5.1/trx/trx0sys.c M /branches/5.1/trx/trx0undo.c branches/5.1: Add missing #include "mtr0log.h" to avoid warnings when compiling with -DUNIV_MUST_NOT_INLINE. ------------------------------------------------------------------------ r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test M /branches/5.1/mysql-test/innodb_bug42101.result M /branches/5.1/mysql-test/innodb_bug42101.test branches/5.1: Merge r5418 from branches/zip: ------------------------------------------------------------------------ r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines Changed paths: M /branches/zip/ChangeLog M /branches/zip/handler/ha_innodb.cc M /branches/zip/mysql-test/innodb_bug42101-nonzero.result M /branches/zip/mysql-test/innodb_bug42101-nonzero.test M /branches/zip/mysql-test/innodb_bug42101.result M /branches/zip/mysql-test/innodb_bug42101.test branches/zip: Fix a race condition caused by SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749) When innodb_commit_concurrency is initially set nonzero, DEFAULT would change it back to 0, triggering Bug #42101. rb://139 approved by Heikki Tuuri. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines Changed paths: M /branches/5.1/fil/fil0fil.c branches/5.1: Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation by changing the URL from http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html ------------------------------------------------------------------------ r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines Changed paths: M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------------------ r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug21704.result A /branches/5.1/mysql-test/innodb_bug21704.test branches/5.1: Fix Bug#21704 Renaming column does not update FK definition by checking whether a column that participates in a FK definition is being renamed and denying the ALTER in this case. The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>: http://lists.mysql.com/commits/77714 and was later adjusted to conform to InnoDB coding style by me (Vasil), I also added some more comments and moved the bug specific mysql-test to a separate file to make it more manageable and flexible. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: add a missing file in Makefile.am This change was suggested by MySQL. ------------------------------------------------------------------------ r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines branches/zip: minor change Remove an extra "with". ------------------------------------------------------------------------ r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines branches/zip: Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h header file that is eventually used by mysqld. ------------------------------------------------------------------------ r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines branches/zip: Add include/ut0auxconf.h to noinst_HEADERS ------------------------------------------------------------------------ r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines branches/zip: Non-functional change: put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort alphabetically, so it is easier to find if a file is there or not and also diffs show exactly the added or removed file instead of surrounding lines too. ------------------------------------------------------------------------ r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines branches/zip: fix compile errors on Win64 Both srv_read_ahead_factor and srv_io_capacity should be defined as ulong. Approved by: Sunny ------------------------------------------------------------------------ r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines branches/zip: Support inlining of functions and prefetch with Sun Studio Those changes are contributed by Sun/MySQL. Two sets of changes in this patch when Sun Studio is used: - Explicit inlining of functions - Prefetch Support This patch has been tested by Sunny with the plugin statically built in. Since we've never built the plugin as a dynamically loaded module on Solaris, it is a separate task to change plug.in. rb://142 Approved by: Heikki ------------------------------------------------------------------------ r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines branches/zip: add ChangeLog entry for r5508. ------------------------------------------------------------------------ r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Remove unused extern ref to timed_mutexes. ------------------------------------------------------------------------ r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Undo r5512 ------------------------------------------------------------------------ r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. ------------------------------------------------------------------------ r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. ------------------------------------------------------------------------ r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Make this file usable from within HotBackup. A new file has been introduced called hb_univ.i. This file should have all the HotBackup specific configuration. ------------------------------------------------------------------------ r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines Add /* UNIV_HOTBACK */ ------------------------------------------------------------------------ r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines branches/zip: Merge r5497:5518 from branches/5.1: ------------------------------------------------------------------------ r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2874.2.1 committer: Anurag Shekhar <anurag.shekhar@sun.com> branch nick: mysql-5.1-bugteam-windows-warning timestamp: Wed 2009-05-13 15:41:24 +0530 message: Bug #39802 On Windows, 32-bit time_t should be enforced This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree. modified: storage/archive/ha_archive.cc storage/federated/ha_federated.cc storage/innobase/handler/ha_innodb.cc storage/myisam/ha_myisam.cc ------------------------------------------------------------------------ ------------------------------------------------------------------------ r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines branches/zip: Add ChangeLog entries for r5498 and r5519. ------------------------------------------------------------------------ r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines branches/zip Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead request. Suggested by: Ken ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
/* Flush logs if needed */
srv_sync_log_buffer_in_background();
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "making checkpoint";
log_checkpoint(TRUE, FALSE);
if (buf_get_modified_ratio_pct() > srv_max_buf_pool_modified_pct) {
/* Try to keep the number of modified pages in the
buffer pool under the limit wished by the user */
2005-10-27 07:29:40 +00:00
goto flush_loop;
}
srv_main_thread_op_info = "reserving kernel mutex";
mutex_enter(&kernel_mutex);
if (srv_activity_count != old_activity_count) {
mutex_exit(&kernel_mutex);
goto loop;
}
mutex_exit(&kernel_mutex);
/*
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "archiving log (if log archive is on)";
2005-10-27 07:29:40 +00:00
log_archive_do(FALSE, &n_bytes_archived);
*/
2005-10-27 07:29:40 +00:00
n_bytes_archived = 0;
/* Keep looping in the background loop if still work to do */
if (srv_fast_shutdown && srv_shutdown_state > 0) {
if (n_tables_to_drop + n_pages_flushed
+ n_bytes_archived != 0) {
2005-10-27 07:29:40 +00:00
/* If we are doing a fast shutdown (= the default)
we do not do purge or insert buffer merge. But we
flush the buffer pool completely to disk.
In a 'very fast' shutdown we do not flush the buffer
pool to data files: we have set n_pages_flushed to
0 artificially. */
goto background_loop;
}
} else if (n_tables_to_drop
+ n_pages_purged + n_bytes_merged + n_pages_flushed
+ n_bytes_archived != 0) {
2005-10-27 07:29:40 +00:00
/* In a 'slow' shutdown we run purge and the insert buffer
merge to completion */
goto background_loop;
}
2005-10-27 07:29:40 +00:00
/* There is no work for background operations either: suspend
master thread to wait for more server activity */
2005-10-27 07:29:40 +00:00
suspend_thread:
srv_main_thread_op_info = "suspending";
mutex_enter(&kernel_mutex);
if (row_get_background_drop_list_len_low() > 0) {
mutex_exit(&kernel_mutex);
goto loop;
}
event = srv_suspend_thread();
mutex_exit(&kernel_mutex);
/* DO NOT CHANGE THIS STRING. innobase_start_or_create_for_mysql()
waits for database activity to die down when converting < 4.1.x
databases, and relies on this string being exactly as it is. InnoDB
manual also mentions this string in several places. */
2005-10-27 07:29:40 +00:00
srv_main_thread_op_info = "waiting for server activity";
os_event_wait(event);
if (srv_shutdown_state == SRV_SHUTDOWN_EXIT_THREADS) {
/* This is only extra safety, the thread should exit
2005-10-27 07:29:40 +00:00
already when the event wait ends */
os_thread_exit(NULL);
2005-10-27 07:29:40 +00:00
}
/* When there is user activity, InnoDB will set the event and the
main thread goes back to loop. */
2005-10-27 07:29:40 +00:00
goto loop;
OS_THREAD_DUMMY_RETURN; /* Not reached, avoid compiler warning */
2005-10-27 07:29:40 +00:00
}