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 09:32:21 +01:00
|
|
|
/*****************************************************************************
|
|
|
|
|
|
|
|
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
|
|
|
|
|
|
|
|
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 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 11:52:16 +02:00
|
|
|
/**************************************************//**
|
|
|
|
@file log/log0log.c
|
2005-10-27 09:29:40 +02:00
|
|
|
Database log
|
|
|
|
|
|
|
|
Created 12/9/1995 Heikki Tuuri
|
|
|
|
*******************************************************/
|
|
|
|
|
|
|
|
#include "log0log.h"
|
|
|
|
|
|
|
|
#ifdef UNIV_NONINL
|
|
|
|
#include "log0log.ic"
|
|
|
|
#endif
|
|
|
|
|
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 09:32:21 +01:00
|
|
|
#ifndef UNIV_HOTBACKUP
|
2005-10-27 09:29:40 +02:00
|
|
|
#include "mem0mem.h"
|
|
|
|
#include "buf0buf.h"
|
|
|
|
#include "buf0flu.h"
|
|
|
|
#include "srv0srv.h"
|
|
|
|
#include "log0recv.h"
|
|
|
|
#include "fil0fil.h"
|
|
|
|
#include "dict0boot.h"
|
|
|
|
#include "srv0srv.h"
|
|
|
|
#include "srv0start.h"
|
|
|
|
#include "trx0sys.h"
|
|
|
|
#include "trx0trx.h"
|
|
|
|
|
|
|
|
/*
|
|
|
|
General philosophy of InnoDB redo-logs:
|
|
|
|
|
|
|
|
1) Every change to a contents of a data page must be done
|
|
|
|
through mtr, which in mtr_commit() writes log records
|
|
|
|
to the InnoDB redo log.
|
|
|
|
|
|
|
|
2) Normally these changes are performed using a mlog_write_ulint()
|
|
|
|
or similar function.
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
3) In some page level operations only a code number of a
|
|
|
|
c-function and its parameters are written to the log to
|
2005-10-27 09:29:40 +02:00
|
|
|
reduce the size of the log.
|
|
|
|
|
|
|
|
3a) You should not add parameters to these kind of functions
|
|
|
|
(e.g. trx_undo_header_create(), trx_undo_insert_header_reuse())
|
|
|
|
|
|
|
|
3b) You should not add such functionality which either change
|
|
|
|
working when compared with the old or are dependent on data
|
|
|
|
outside of the page. These kind of functions should implement
|
|
|
|
self-contained page transformation and it should be unchanged
|
|
|
|
if you don't have very essential reasons to change log
|
|
|
|
semantics or format.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* Current free limit of space 0; protected by the log sys mutex; 0 means
|
|
|
|
uninitialized */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN ulint log_fsp_current_free_limit = 0;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Global log system variable */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN log_t* log_sys = NULL;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN ibool log_do_write = TRUE;
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
|
|
|
/* These control how often we print warnings if the last checkpoint is too
|
|
|
|
old */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN ibool log_has_printed_chkp_warning = FALSE;
|
|
|
|
UNIV_INTERN time_t log_last_warning_time;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
/* Pointer to this variable is used as the i/o-message when we do i/o to an
|
|
|
|
archive */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN byte log_archive_io;
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
/* A margin for free space in the log buffer before a log entry is catenated */
|
2006-02-23 20:25:29 +01:00
|
|
|
#define LOG_BUF_WRITE_MARGIN (4 * OS_FILE_LOG_BLOCK_SIZE)
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Margins for free space in the log buffer after a log entry is catenated */
|
|
|
|
#define LOG_BUF_FLUSH_RATIO 2
|
|
|
|
#define LOG_BUF_FLUSH_MARGIN (LOG_BUF_WRITE_MARGIN + 4 * UNIV_PAGE_SIZE)
|
|
|
|
|
|
|
|
/* Margin for the free space in the smallest log group, before a new query
|
|
|
|
step which modifies the database, is started */
|
|
|
|
|
|
|
|
#define LOG_CHECKPOINT_FREE_PER_THREAD (4 * UNIV_PAGE_SIZE)
|
|
|
|
#define LOG_CHECKPOINT_EXTRA_FREE (8 * UNIV_PAGE_SIZE)
|
|
|
|
|
|
|
|
/* This parameter controls asynchronous making of a new checkpoint; the value
|
|
|
|
should be bigger than LOG_POOL_PREFLUSH_RATIO_SYNC */
|
|
|
|
|
|
|
|
#define LOG_POOL_CHECKPOINT_RATIO_ASYNC 32
|
|
|
|
|
|
|
|
/* This parameter controls synchronous preflushing of modified buffer pages */
|
|
|
|
#define LOG_POOL_PREFLUSH_RATIO_SYNC 16
|
|
|
|
|
|
|
|
/* The same ratio for asynchronous preflushing; this value should be less than
|
|
|
|
the previous */
|
|
|
|
#define LOG_POOL_PREFLUSH_RATIO_ASYNC 8
|
|
|
|
|
|
|
|
/* Extra margin, in addition to one log file, used in archiving */
|
|
|
|
#define LOG_ARCHIVE_EXTRA_MARGIN (4 * UNIV_PAGE_SIZE)
|
|
|
|
|
|
|
|
/* This parameter controls asynchronous writing to the archive */
|
|
|
|
#define LOG_ARCHIVE_RATIO_ASYNC 16
|
|
|
|
|
|
|
|
/* Codes used in unlocking flush latches */
|
|
|
|
#define LOG_UNLOCK_NONE_FLUSHED_LOCK 1
|
|
|
|
#define LOG_UNLOCK_FLUSH_LOCK 2
|
|
|
|
|
|
|
|
/* States of an archiving operation */
|
|
|
|
#define LOG_ARCHIVE_READ 1
|
|
|
|
#define LOG_ARCHIVE_WRITE 2
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes a checkpoint write i/o to a log file. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_io_complete_checkpoint(void);
|
|
|
|
/*============================*/
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes an archiving i/o. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_io_complete_archive(void);
|
|
|
|
/*=========================*/
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Sets the global variable log_fsp_current_free_limit. Also makes a checkpoint,
|
|
|
|
so that we know that the limit has been written to a log checkpoint field
|
|
|
|
on disk. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_fsp_current_free_limit_set_and_checkpoint(
|
|
|
|
/*==========================================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint limit) /*!< in: limit to set */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ibool success;
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_fsp_current_free_limit = limit;
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
/* Try to make a synchronous checkpoint */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
success = FALSE;
|
|
|
|
|
|
|
|
while (!success) {
|
|
|
|
success = log_checkpoint(TRUE, TRUE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Returns the oldest modified block lsn in the pool, or log_sys->lsn if none
|
2009-05-25 08:46:10 +02:00
|
|
|
exists.
|
|
|
|
@return LSN of oldest modification */
|
2005-10-27 09:29:40 +02:00
|
|
|
static
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t
|
2005-10-27 09:29:40 +02:00
|
|
|
log_buf_pool_get_oldest_modification(void)
|
|
|
|
/*======================================*/
|
|
|
|
{
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
lsn = buf_pool_get_oldest_modification();
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (!lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
lsn = log_sys->lsn;
|
|
|
|
}
|
|
|
|
|
|
|
|
return(lsn);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Opens the log for log_write_low. The log must be closed with log_close and
|
2009-05-25 08:46:10 +02:00
|
|
|
released with log_release.
|
|
|
|
@return start lsn of the log record */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t
|
2005-10-27 09:29:40 +02:00
|
|
|
log_reserve_and_open(
|
|
|
|
/*=================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint len) /*!< in: length of data to be catenated */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
log_t* log = log_sys;
|
|
|
|
ulint len_upper_limit;
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
ulint archived_lsn_age;
|
|
|
|
ulint dummy;
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
ulint count = 0;
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
|
|
|
ut_a(len < log->buf_size / 2);
|
|
|
|
loop:
|
|
|
|
mutex_enter(&(log->mutex));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
/* Calculate an upper limit for the space the string may take in the
|
|
|
|
log buffer */
|
|
|
|
|
|
|
|
len_upper_limit = LOG_BUF_WRITE_MARGIN + (5 * len) / 4;
|
|
|
|
|
|
|
|
if (log->buf_free + len_upper_limit > log->buf_size) {
|
|
|
|
|
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
|
|
|
|
/* Not enough free space, do a syncronous flush of the log
|
|
|
|
buffer */
|
|
|
|
|
|
|
|
log_buffer_flush_to_disk();
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
srv_log_waits++;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_ad(++count < 50);
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
if (log->archiving_state != LOG_ARCH_OFF) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
archived_lsn_age = log->lsn - log->archived_lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
if (archived_lsn_age + len_upper_limit
|
2006-08-29 11:30:31 +02:00
|
|
|
> log->max_archived_lsn_age) {
|
2005-10-27 09:29:40 +02:00
|
|
|
/* Not enough free archived space in log groups: do a
|
|
|
|
synchronous archive write batch: */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log->mutex));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_ad(len_upper_limit <= log->max_archived_lsn_age);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_archive_do(TRUE, &dummy);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_ad(++count < 50);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_DEBUG
|
|
|
|
log->old_buf_free = log->buf_free;
|
|
|
|
log->old_lsn = log->lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
#endif
|
2005-10-27 09:29:40 +02:00
|
|
|
return(log->lsn);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes to the log the string given. It is assumed that the caller holds the
|
|
|
|
log mutex. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_write_low(
|
|
|
|
/*==========*/
|
2009-05-25 08:46:10 +02:00
|
|
|
byte* str, /*!< in: string */
|
|
|
|
ulint str_len) /*!< in: string length */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
log_t* log = log_sys;
|
|
|
|
ulint len;
|
|
|
|
ulint data_len;
|
|
|
|
byte* log_block;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log->mutex)));
|
|
|
|
part_loop:
|
|
|
|
/* Calculate a part length */
|
|
|
|
|
|
|
|
data_len = (log->buf_free % OS_FILE_LOG_BLOCK_SIZE) + str_len;
|
|
|
|
|
|
|
|
if (data_len <= OS_FILE_LOG_BLOCK_SIZE - LOG_BLOCK_TRL_SIZE) {
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
/* The string fits within the current log block */
|
|
|
|
|
|
|
|
len = str_len;
|
2005-10-27 09:29:40 +02:00
|
|
|
} else {
|
|
|
|
data_len = OS_FILE_LOG_BLOCK_SIZE - LOG_BLOCK_TRL_SIZE;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
|
|
|
len = OS_FILE_LOG_BLOCK_SIZE
|
2005-10-27 09:29:40 +02:00
|
|
|
- (log->buf_free % OS_FILE_LOG_BLOCK_SIZE)
|
2006-02-23 20:25:29 +01:00
|
|
|
- LOG_BLOCK_TRL_SIZE;
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
ut_memcpy(log->buf + log->buf_free, str, len);
|
|
|
|
|
|
|
|
str_len -= len;
|
|
|
|
str = str + len;
|
|
|
|
|
|
|
|
log_block = ut_align_down(log->buf + log->buf_free,
|
2006-08-29 11:30:31 +02:00
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
log_block_set_data_len(log_block, data_len);
|
|
|
|
|
|
|
|
if (data_len == OS_FILE_LOG_BLOCK_SIZE - LOG_BLOCK_TRL_SIZE) {
|
|
|
|
/* This block became full */
|
|
|
|
log_block_set_data_len(log_block, OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
log_block_set_checkpoint_no(log_block,
|
2006-08-29 11:30:31 +02:00
|
|
|
log_sys->next_checkpoint_no);
|
2005-10-27 09:29:40 +02:00
|
|
|
len += LOG_BLOCK_HDR_SIZE + LOG_BLOCK_TRL_SIZE;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
log->lsn += len;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Initialize the next block header */
|
|
|
|
log_block_init(log_block + OS_FILE_LOG_BLOCK_SIZE, log->lsn);
|
|
|
|
} else {
|
2006-11-24 14:05:01 +01:00
|
|
|
log->lsn += len;
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
log->buf_free += len;
|
|
|
|
|
|
|
|
ut_ad(log->buf_free <= log->buf_size);
|
|
|
|
|
|
|
|
if (str_len > 0) {
|
|
|
|
goto part_loop;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
|
|
|
srv_log_write_requests++;
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/************************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Closes the log.
|
|
|
|
@return lsn */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t
|
2005-10-27 09:29:40 +02:00
|
|
|
log_close(void)
|
|
|
|
/*===========*/
|
|
|
|
{
|
2006-11-24 14:05:01 +01:00
|
|
|
byte* log_block;
|
|
|
|
ulint first_rec_group;
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t oldest_lsn;
|
|
|
|
ib_uint64_t lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
log_t* log = log_sys;
|
2008-05-14 17:43:19 +02:00
|
|
|
ib_uint64_t checkpoint_age;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log->mutex)));
|
|
|
|
|
|
|
|
lsn = log->lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_block = ut_align_down(log->buf + log->buf_free,
|
2006-08-29 11:30:31 +02:00
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
first_rec_group = log_block_get_first_rec_group(log_block);
|
|
|
|
|
|
|
|
if (first_rec_group == 0) {
|
|
|
|
/* We initialized a new log block which was not written
|
|
|
|
full by the current mtr: the next mtr log record group
|
|
|
|
will start within this block at the offset data_len */
|
|
|
|
|
2006-09-19 12:14:07 +02:00
|
|
|
log_block_set_first_rec_group(
|
|
|
|
log_block, log_block_get_data_len(log_block));
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if (log->buf_free > log->max_buf_free) {
|
|
|
|
|
|
|
|
log->check_flush_or_checkpoint = TRUE;
|
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
checkpoint_age = lsn - log->last_checkpoint_lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (checkpoint_age >= log->log_group_capacity) {
|
|
|
|
/* TODO: split btr_store_big_rec_extern_fields() into small
|
|
|
|
steps so that we can release all latches in the middle, and
|
|
|
|
call log_free_check() to ensure we never write over log written
|
|
|
|
after the latest checkpoint. In principle, we should split all
|
|
|
|
big_rec operations, but other operations are smaller. */
|
|
|
|
|
|
|
|
if (!log_has_printed_chkp_warning
|
2006-08-29 11:30:31 +02:00
|
|
|
|| difftime(time(NULL), log_last_warning_time) > 15) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
log_has_printed_chkp_warning = TRUE;
|
2005-10-27 09:29:40 +02:00
|
|
|
log_last_warning_time = time(NULL);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
|
|
|
ut_print_timestamp(stderr);
|
2005-10-27 09:29:40 +02:00
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
" InnoDB: ERROR: the age of the last"
|
|
|
|
" checkpoint is %lu,\n"
|
|
|
|
"InnoDB: which exceeds the log group"
|
|
|
|
" capacity %lu.\n"
|
|
|
|
"InnoDB: If you are using big"
|
|
|
|
" BLOB or TEXT rows, you must set the\n"
|
|
|
|
"InnoDB: combined size of log files"
|
|
|
|
" at least 10 times bigger than the\n"
|
|
|
|
"InnoDB: largest such row.\n",
|
2005-10-27 09:29:40 +02:00
|
|
|
(ulong) checkpoint_age,
|
|
|
|
(ulong) log->log_group_capacity);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (checkpoint_age <= log->max_modified_age_async) {
|
|
|
|
|
|
|
|
goto function_exit;
|
|
|
|
}
|
|
|
|
|
|
|
|
oldest_lsn = buf_pool_get_oldest_modification();
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (!oldest_lsn
|
|
|
|
|| lsn - oldest_lsn > log->max_modified_age_async
|
2006-08-29 11:30:31 +02:00
|
|
|
|| checkpoint_age > log->max_checkpoint_age_async) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log->check_flush_or_checkpoint = TRUE;
|
|
|
|
}
|
|
|
|
function_exit:
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_DEBUG
|
|
|
|
log_check_log_recs(log->buf + log->old_buf_free,
|
2006-08-29 11:30:31 +02:00
|
|
|
log->buf_free - log->old_buf_free, log->old_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
return(lsn);
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Pads the current log block full with dummy log records. Used in producing
|
|
|
|
consistent archived log files. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_pad_current_log_block(void)
|
|
|
|
/*===========================*/
|
|
|
|
{
|
2006-11-24 14:05:01 +01:00
|
|
|
byte b = MLOG_DUMMY_RECORD;
|
|
|
|
ulint pad_length;
|
|
|
|
ulint i;
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
/* We retrieve lsn only because otherwise gcc crashed on HP-UX */
|
|
|
|
lsn = log_reserve_and_open(OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
|
|
|
|
pad_length = OS_FILE_LOG_BLOCK_SIZE
|
2006-08-29 11:30:31 +02:00
|
|
|
- (log_sys->buf_free % OS_FILE_LOG_BLOCK_SIZE)
|
|
|
|
- LOG_BLOCK_TRL_SIZE;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
for (i = 0; i < pad_length; i++) {
|
|
|
|
log_write_low(&b, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
lsn = log_sys->lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_close();
|
|
|
|
log_release();
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(lsn % OS_FILE_LOG_BLOCK_SIZE == LOG_BLOCK_HDR_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Calculates the data capacity of a log group, when the log file headers are not
|
2009-05-25 08:46:10 +02:00
|
|
|
included.
|
|
|
|
@return capacity in bytes */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint
|
|
|
|
log_group_get_capacity(
|
|
|
|
/*===================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
const log_group_t* group) /*!< in: log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
return((group->file_size - LOG_FILE_HDR_SIZE) * group->n_files);
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Calculates the offset within a log group, when the log file headers are not
|
2009-05-25 08:46:10 +02:00
|
|
|
included.
|
|
|
|
@return size offset (<= offset) */
|
2005-10-27 09:29:40 +02:00
|
|
|
UNIV_INLINE
|
|
|
|
ulint
|
|
|
|
log_group_calc_size_offset(
|
|
|
|
/*=======================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint offset, /*!< in: real offset within the
|
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 09:32:21 +01:00
|
|
|
log group */
|
2009-05-25 08:46:10 +02:00
|
|
|
const log_group_t* group) /*!< in: log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
return(offset - LOG_FILE_HDR_SIZE * (1 + offset / group->file_size));
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Calculates the offset within a log group, when the log file headers are
|
2009-05-25 08:46:10 +02:00
|
|
|
included.
|
|
|
|
@return real offset (>= offset) */
|
2005-10-27 09:29:40 +02:00
|
|
|
UNIV_INLINE
|
|
|
|
ulint
|
|
|
|
log_group_calc_real_offset(
|
|
|
|
/*=======================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint offset, /*!< in: size offset within the
|
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 09:32:21 +01:00
|
|
|
log group */
|
2009-05-25 08:46:10 +02:00
|
|
|
const log_group_t* group) /*!< in: log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
return(offset + LOG_FILE_HDR_SIZE
|
2006-08-29 11:30:31 +02:00
|
|
|
* (1 + offset / (group->file_size - LOG_FILE_HDR_SIZE)));
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Calculates the offset of an lsn within a log group.
|
|
|
|
@return offset within the log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
static
|
|
|
|
ulint
|
|
|
|
log_group_calc_lsn_offset(
|
|
|
|
/*======================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t lsn, /*!< in: lsn, must be within 4 GB of
|
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 09:32:21 +01:00
|
|
|
group->lsn */
|
2009-05-25 08:46:10 +02:00
|
|
|
const log_group_t* group) /*!< in: log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t gr_lsn;
|
2008-05-14 17:43:19 +02:00
|
|
|
ib_int64_t gr_lsn_size_offset;
|
|
|
|
ib_int64_t difference;
|
|
|
|
ib_int64_t group_size;
|
|
|
|
ib_int64_t offset;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
/* If total log file size is > 2 GB we can easily get overflows
|
|
|
|
with 32-bit integers. Use 64-bit integers instead. */
|
|
|
|
|
|
|
|
gr_lsn = group->lsn;
|
|
|
|
|
2008-05-14 17:43:19 +02:00
|
|
|
gr_lsn_size_offset = (ib_int64_t)
|
2006-02-23 20:25:29 +01:00
|
|
|
log_group_calc_size_offset(group->lsn_offset, group);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2008-05-14 17:43:19 +02:00
|
|
|
group_size = (ib_int64_t) log_group_get_capacity(group);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (lsn >= gr_lsn) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2008-05-14 17:43:19 +02:00
|
|
|
difference = (ib_int64_t) (lsn - gr_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
} else {
|
2008-05-14 17:43:19 +02:00
|
|
|
difference = (ib_int64_t) (gr_lsn - lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
difference = difference % group_size;
|
|
|
|
|
|
|
|
difference = group_size - difference;
|
|
|
|
}
|
|
|
|
|
|
|
|
offset = (gr_lsn_size_offset + difference) % group_size;
|
|
|
|
|
2008-05-14 17:43:19 +02:00
|
|
|
ut_a(offset < (((ib_int64_t) 1) << 32)); /* offset must be < 4 GB */
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"Offset is %lu gr_lsn_offset is %lu difference is %lu\n",
|
|
|
|
(ulint)offset,(ulint)gr_lsn_size_offset, (ulint)difference);
|
2005-10-27 09:29:40 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
return(log_group_calc_real_offset((ulint)offset, group));
|
|
|
|
}
|
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 09:32:21 +01:00
|
|
|
#endif /* !UNIV_HOTBACKUP */
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
UNIV_INTERN ibool log_debug_writes = FALSE;
|
|
|
|
#endif /* UNIV_DEBUG */
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/*******************************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Calculates where in log files we find a specified lsn.
|
|
|
|
@return log file number */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint
|
|
|
|
log_calc_where_lsn_is(
|
|
|
|
/*==================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_int64_t* log_file_offset, /*!< out: offset in that file
|
2005-10-27 09:29:40 +02:00
|
|
|
(including the header) */
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t first_header_lsn, /*!< in: first log file start
|
2005-10-27 09:29:40 +02:00
|
|
|
lsn */
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t lsn, /*!< in: lsn whose position to
|
2005-10-27 09:29:40 +02:00
|
|
|
determine */
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint n_log_files, /*!< in: total number of log
|
2005-10-27 09:29:40 +02:00
|
|
|
files */
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_int64_t log_file_size) /*!< in: log file size
|
2005-10-27 09:29:40 +02:00
|
|
|
(including the header) */
|
|
|
|
{
|
2008-05-14 17:43:19 +02:00
|
|
|
ib_int64_t capacity = log_file_size - LOG_FILE_HDR_SIZE;
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint file_no;
|
2008-05-14 17:43:19 +02:00
|
|
|
ib_int64_t add_this_many;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (lsn < first_header_lsn) {
|
|
|
|
add_this_many = 1 + (first_header_lsn - lsn)
|
2008-05-14 17:43:19 +02:00
|
|
|
/ (capacity * (ib_int64_t)n_log_files);
|
2006-11-24 14:05:01 +01:00
|
|
|
lsn += add_this_many
|
2008-05-14 17:43:19 +02:00
|
|
|
* capacity * (ib_int64_t)n_log_files;
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(lsn >= first_header_lsn);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
file_no = ((ulint)((lsn - first_header_lsn) / capacity))
|
2006-08-29 11:30:31 +02:00
|
|
|
% n_log_files;
|
2006-11-24 14:05:01 +01:00
|
|
|
*log_file_offset = (lsn - first_header_lsn) % capacity;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
*log_file_offset = *log_file_offset + LOG_FILE_HDR_SIZE;
|
|
|
|
|
|
|
|
return(file_no);
|
|
|
|
}
|
|
|
|
|
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 09:32:21 +01:00
|
|
|
#ifndef UNIV_HOTBACKUP
|
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 11:52:16 +02:00
|
|
|
/********************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Sets the field values in group to correspond to a given lsn. For this function
|
|
|
|
to work, the values must already be correctly initialized to correspond to
|
|
|
|
some lsn, for instance, a checkpoint lsn. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_group_set_fields(
|
|
|
|
/*=================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group, /*!< in/out: group */
|
|
|
|
ib_uint64_t lsn) /*!< in: lsn for which the values should be
|
2005-10-27 09:29:40 +02:00
|
|
|
set */
|
|
|
|
{
|
|
|
|
group->lsn_offset = log_group_calc_lsn_offset(lsn, group);
|
|
|
|
group->lsn = lsn;
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/*****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Calculates the recommended highest values for lsn - last_checkpoint_lsn,
|
2009-05-25 08:46:10 +02:00
|
|
|
lsn - buf_get_oldest_modification(), and lsn - max_archive_lsn_age.
|
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 11:52:16 +02:00
|
|
|
@return error value FALSE if the smallest log group is too small to
|
|
|
|
accommodate the number of OS threads in the database server */
|
2005-10-27 09:29:40 +02:00
|
|
|
static
|
|
|
|
ibool
|
|
|
|
log_calc_max_ages(void)
|
|
|
|
/*===================*/
|
|
|
|
{
|
|
|
|
log_group_t* group;
|
|
|
|
ulint margin;
|
|
|
|
ulint free;
|
|
|
|
ibool success = TRUE;
|
2006-02-23 20:25:29 +01:00
|
|
|
ulint smallest_capacity;
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint archive_margin;
|
|
|
|
ulint smallest_archive_margin;
|
|
|
|
|
|
|
|
ut_ad(!mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
ut_ad(group);
|
|
|
|
|
|
|
|
smallest_capacity = ULINT_MAX;
|
|
|
|
smallest_archive_margin = ULINT_MAX;
|
|
|
|
|
|
|
|
while (group) {
|
|
|
|
if (log_group_get_capacity(group) < smallest_capacity) {
|
|
|
|
|
|
|
|
smallest_capacity = log_group_get_capacity(group);
|
|
|
|
}
|
|
|
|
|
|
|
|
archive_margin = log_group_get_capacity(group)
|
2006-08-29 11:30:31 +02:00
|
|
|
- (group->file_size - LOG_FILE_HDR_SIZE)
|
|
|
|
- LOG_ARCHIVE_EXTRA_MARGIN;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (archive_margin < smallest_archive_margin) {
|
|
|
|
|
|
|
|
smallest_archive_margin = archive_margin;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
group = UT_LIST_GET_NEXT(log_groups, group);
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
/* Add extra safety */
|
|
|
|
smallest_capacity = smallest_capacity - smallest_capacity / 10;
|
|
|
|
|
|
|
|
/* For each OS thread we must reserve so much free space in the
|
|
|
|
smallest log group that it can accommodate the log entries produced
|
|
|
|
by single query steps: running out of free log space is a serious
|
|
|
|
system error which requires rebooting the database. */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
free = LOG_CHECKPOINT_FREE_PER_THREAD * (10 + srv_thread_concurrency)
|
2006-08-29 11:30:31 +02:00
|
|
|
+ LOG_CHECKPOINT_EXTRA_FREE;
|
2005-10-27 09:29:40 +02:00
|
|
|
if (free >= smallest_capacity / 2) {
|
|
|
|
success = FALSE;
|
|
|
|
|
|
|
|
goto failure;
|
|
|
|
} else {
|
|
|
|
margin = smallest_capacity - free;
|
|
|
|
}
|
|
|
|
|
|
|
|
margin = ut_min(margin, log_sys->adm_checkpoint_interval);
|
|
|
|
|
|
|
|
margin = margin - margin / 10; /* Add still some extra safety */
|
|
|
|
|
|
|
|
log_sys->log_group_capacity = smallest_capacity;
|
|
|
|
|
|
|
|
log_sys->max_modified_age_async = margin
|
2006-08-29 11:30:31 +02:00
|
|
|
- margin / LOG_POOL_PREFLUSH_RATIO_ASYNC;
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->max_modified_age_sync = margin
|
2006-08-29 11:30:31 +02:00
|
|
|
- margin / LOG_POOL_PREFLUSH_RATIO_SYNC;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->max_checkpoint_age_async = margin - margin
|
2006-08-29 11:30:31 +02:00
|
|
|
/ LOG_POOL_CHECKPOINT_RATIO_ASYNC;
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->max_checkpoint_age = margin;
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
log_sys->max_archived_lsn_age = smallest_archive_margin;
|
|
|
|
|
|
|
|
log_sys->max_archived_lsn_age_async = smallest_archive_margin
|
2006-08-29 11:30:31 +02:00
|
|
|
- smallest_archive_margin / LOG_ARCHIVE_RATIO_ASYNC;
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
failure:
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (!success) {
|
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"InnoDB: Error: ib_logfiles are too small"
|
|
|
|
" for innodb_thread_concurrency %lu.\n"
|
|
|
|
"InnoDB: The combined size of ib_logfiles"
|
|
|
|
" should be bigger than\n"
|
|
|
|
"InnoDB: 200 kB * innodb_thread_concurrency.\n"
|
|
|
|
"InnoDB: To get mysqld to start up, set"
|
|
|
|
" innodb_thread_concurrency in my.cnf\n"
|
|
|
|
"InnoDB: to a lower value, for example, to 8."
|
|
|
|
" After an ERROR-FREE shutdown\n"
|
|
|
|
"InnoDB: of mysqld you can adjust the size of"
|
|
|
|
" ib_logfiles, as explained in\n"
|
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 08:20:53 +02:00
|
|
|
"InnoDB: " REFMAN "adding-and-removing.html\n"
|
2006-08-29 11:30:31 +02:00
|
|
|
"InnoDB: Cannot continue operation."
|
|
|
|
" Calling exit(1).\n",
|
2005-10-27 09:29:40 +02:00
|
|
|
(ulong)srv_thread_concurrency);
|
|
|
|
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
return(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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Initializes the log. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_init(void)
|
|
|
|
/*==========*/
|
|
|
|
{
|
|
|
|
byte* buf;
|
|
|
|
|
|
|
|
log_sys = mem_alloc(sizeof(log_t));
|
|
|
|
|
2006-05-08 08:18:59 +02:00
|
|
|
mutex_create(&log_sys->mutex, SYNC_LOG);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
/* Start the lsn from one log block from zero: this way every
|
|
|
|
log record has a start lsn != zero, a fact which we will use */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->lsn = LOG_START_LSN;
|
|
|
|
|
|
|
|
ut_a(LOG_BUFFER_SIZE >= 16 * OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
ut_a(LOG_BUFFER_SIZE >= 4 * UNIV_PAGE_SIZE);
|
|
|
|
|
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 11:03:42 +01:00
|
|
|
buf = mem_alloc(LOG_BUFFER_SIZE + OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->buf = ut_align(buf, OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
|
|
|
|
log_sys->buf_size = LOG_BUFFER_SIZE;
|
|
|
|
|
|
|
|
memset(log_sys->buf, '\0', LOG_BUFFER_SIZE);
|
|
|
|
|
|
|
|
log_sys->max_buf_free = log_sys->buf_size / LOG_BUF_FLUSH_RATIO
|
2006-08-29 11:30:31 +02:00
|
|
|
- LOG_BUF_FLUSH_MARGIN;
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->check_flush_or_checkpoint = TRUE;
|
|
|
|
UT_LIST_INIT(log_sys->log_groups);
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
log_sys->n_log_ios = 0;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->n_log_ios_old = log_sys->n_log_ios;
|
|
|
|
log_sys->last_printout_time = time(NULL);
|
|
|
|
/*----------------------------*/
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->buf_next_to_write = 0;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
log_sys->write_lsn = 0;
|
|
|
|
log_sys->current_flush_lsn = 0;
|
|
|
|
log_sys->flushed_to_disk_lsn = 0;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->written_to_some_lsn = log_sys->lsn;
|
|
|
|
log_sys->written_to_all_lsn = log_sys->lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->n_pending_writes = 0;
|
|
|
|
|
|
|
|
log_sys->no_flush_event = os_event_create(NULL);
|
|
|
|
|
|
|
|
os_event_set(log_sys->no_flush_event);
|
|
|
|
|
|
|
|
log_sys->one_flushed_event = os_event_create(NULL);
|
|
|
|
|
|
|
|
os_event_set(log_sys->one_flushed_event);
|
|
|
|
|
|
|
|
/*----------------------------*/
|
|
|
|
log_sys->adm_checkpoint_interval = ULINT_MAX;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
log_sys->next_checkpoint_no = 0;
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->last_checkpoint_lsn = log_sys->lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
log_sys->n_pending_checkpoint_writes = 0;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-05-08 08:18:59 +02:00
|
|
|
rw_lock_create(&log_sys->checkpoint_lock, SYNC_NO_ORDER_CHECK);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
log_sys->checkpoint_buf
|
|
|
|
= ut_align(mem_alloc(2 * OS_FILE_LOG_BLOCK_SIZE),
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
memset(log_sys->checkpoint_buf, '\0', OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
/*----------------------------*/
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
/* Under MySQL, log archiving is always off */
|
|
|
|
log_sys->archiving_state = LOG_ARCH_OFF;
|
|
|
|
log_sys->archived_lsn = log_sys->lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
log_sys->next_archived_lsn = 0;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->n_pending_archive_ios = 0;
|
|
|
|
|
2006-05-08 08:18:59 +02:00
|
|
|
rw_lock_create(&log_sys->archive_lock, SYNC_NO_ORDER_CHECK);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->archive_buf = NULL;
|
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
/* ut_align(
|
|
|
|
ut_malloc(LOG_ARCHIVE_BUF_SIZE
|
|
|
|
+ OS_FILE_LOG_BLOCK_SIZE),
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE); */
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->archive_buf_size = 0;
|
|
|
|
|
|
|
|
/* memset(log_sys->archive_buf, '\0', LOG_ARCHIVE_BUF_SIZE); */
|
|
|
|
|
|
|
|
log_sys->archiving_on = os_event_create(NULL);
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
/*----------------------------*/
|
|
|
|
|
|
|
|
log_block_init(log_sys->buf, log_sys->lsn);
|
|
|
|
log_block_set_first_rec_group(log_sys->buf, LOG_BLOCK_HDR_SIZE);
|
|
|
|
|
|
|
|
log_sys->buf_free = LOG_BLOCK_HDR_SIZE;
|
2006-11-24 14:05:01 +01:00
|
|
|
log_sys->lsn = LOG_START_LSN + LOG_BLOCK_HDR_SIZE;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_DEBUG
|
|
|
|
recv_sys_create();
|
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 09:32:21 +01:00
|
|
|
recv_sys_init(buf_pool_get_curr_size());
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
recv_sys->parse_start_lsn = log_sys->lsn;
|
|
|
|
recv_sys->scanned_lsn = log_sys->lsn;
|
|
|
|
recv_sys->scanned_checkpoint_no = 0;
|
|
|
|
recv_sys->recovered_lsn = log_sys->lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
recv_sys->limit_lsn = IB_ULONGLONG_MAX;
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Inits a log group to the log system. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_group_init(
|
|
|
|
/*===========*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint id, /*!< in: group id */
|
|
|
|
ulint n_files, /*!< in: number of log files */
|
|
|
|
ulint file_size, /*!< in: log file size in bytes */
|
|
|
|
ulint space_id, /*!< in: space id of the file space
|
2005-10-27 09:29:40 +02:00
|
|
|
which contains the log files of this
|
|
|
|
group */
|
|
|
|
ulint archive_space_id __attribute__((unused)))
|
2009-05-25 08:46:10 +02:00
|
|
|
/*!< in: space id of the file space
|
2005-10-27 09:29:40 +02:00
|
|
|
which contains some archived log
|
|
|
|
files for this group; currently, only
|
|
|
|
for the first log group this is
|
|
|
|
used */
|
|
|
|
{
|
|
|
|
ulint i;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_group_t* group;
|
|
|
|
|
|
|
|
group = mem_alloc(sizeof(log_group_t));
|
|
|
|
|
|
|
|
group->id = id;
|
|
|
|
group->n_files = n_files;
|
|
|
|
group->file_size = file_size;
|
|
|
|
group->space_id = space_id;
|
|
|
|
group->state = LOG_GROUP_OK;
|
|
|
|
group->lsn = LOG_START_LSN;
|
|
|
|
group->lsn_offset = LOG_FILE_HDR_SIZE;
|
|
|
|
group->n_pending_writes = 0;
|
|
|
|
|
|
|
|
group->file_header_bufs = mem_alloc(sizeof(byte*) * n_files);
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
group->archive_file_header_bufs = mem_alloc(sizeof(byte*) * n_files);
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
for (i = 0; i < n_files; i++) {
|
2006-09-19 12:14:07 +02:00
|
|
|
*(group->file_header_bufs + i) = ut_align(
|
|
|
|
mem_alloc(LOG_FILE_HDR_SIZE + OS_FILE_LOG_BLOCK_SIZE),
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
memset(*(group->file_header_bufs + i), '\0',
|
2006-08-29 11:30:31 +02:00
|
|
|
LOG_FILE_HDR_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
2006-09-19 12:14:07 +02:00
|
|
|
*(group->archive_file_header_bufs + i) = ut_align(
|
|
|
|
mem_alloc(LOG_FILE_HDR_SIZE + OS_FILE_LOG_BLOCK_SIZE),
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
memset(*(group->archive_file_header_bufs + i), '\0',
|
2006-08-29 11:30:31 +02:00
|
|
|
LOG_FILE_HDR_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
group->archive_space_id = archive_space_id;
|
|
|
|
|
|
|
|
group->archived_file_no = 0;
|
|
|
|
group->archived_offset = 0;
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
2006-09-19 12:14:07 +02:00
|
|
|
group->checkpoint_buf = ut_align(
|
|
|
|
mem_alloc(2 * OS_FILE_LOG_BLOCK_SIZE), OS_FILE_LOG_BLOCK_SIZE);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
memset(group->checkpoint_buf, '\0', OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
|
|
|
|
UT_LIST_ADD_LAST(log_groups, log_sys->log_groups, group);
|
|
|
|
|
|
|
|
ut_a(log_calc_max_ages());
|
2006-02-23 20:25:29 +01: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 11:52:16 +02:00
|
|
|
/******************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Does the unlockings needed in flush i/o completion. */
|
|
|
|
UNIV_INLINE
|
|
|
|
void
|
|
|
|
log_flush_do_unlocks(
|
|
|
|
/*=================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint code) /*!< in: any ORed combination of LOG_UNLOCK_FLUSH_LOCK
|
2005-10-27 09:29:40 +02:00
|
|
|
and LOG_UNLOCK_NONE_FLUSHED_LOCK */
|
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
/* NOTE that we must own the log mutex when doing the setting of the
|
|
|
|
events: this is because transactions will wait for these events to
|
|
|
|
be set, and at that moment the log flush they were waiting for must
|
|
|
|
have ended. If the log mutex were not reserved here, the i/o-thread
|
|
|
|
calling this function might be preempted for a while, and when it
|
|
|
|
resumed execution, it might be that a new flush had been started, and
|
|
|
|
this function would erroneously signal the NEW flush as completed.
|
2006-08-29 11:30:31 +02:00
|
|
|
Thus, the changes in the state of these events are performed
|
2005-10-27 09:29:40 +02:00
|
|
|
atomically in conjunction with the changes in the state of
|
2006-02-23 20:25:29 +01:00
|
|
|
log_sys->n_pending_writes etc. */
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (code & LOG_UNLOCK_NONE_FLUSHED_LOCK) {
|
|
|
|
os_event_set(log_sys->one_flushed_event);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (code & LOG_UNLOCK_FLUSH_LOCK) {
|
|
|
|
os_event_set(log_sys->no_flush_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 11:52:16 +02:00
|
|
|
/******************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Checks if a flush is completed for a log group and does the completion
|
2009-05-25 08:46:10 +02:00
|
|
|
routine if yes.
|
|
|
|
@return LOG_UNLOCK_NONE_FLUSHED_LOCK or 0 */
|
2005-10-27 09:29:40 +02:00
|
|
|
UNIV_INLINE
|
|
|
|
ulint
|
|
|
|
log_group_check_flush_completion(
|
|
|
|
/*=============================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group) /*!< in: log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
if (!log_sys->one_flushed && group->n_pending_writes == 0) {
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"Log flushed first to group %lu\n",
|
|
|
|
(ulong) group->id);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
log_sys->written_to_some_lsn = log_sys->write_lsn;
|
|
|
|
log_sys->one_flushed = TRUE;
|
|
|
|
|
|
|
|
return(LOG_UNLOCK_NONE_FLUSHED_LOCK);
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes && (group->n_pending_writes == 0)) {
|
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
fprintf(stderr, "Log flushed to group %lu\n",
|
|
|
|
(ulong) group->id);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
return(0);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Checks if a flush is completed and does the completion routine if yes.
|
|
|
|
@return LOG_UNLOCK_FLUSH_LOCK or 0 */
|
2005-10-27 09:29:40 +02:00
|
|
|
static
|
|
|
|
ulint
|
|
|
|
log_sys_check_flush_completion(void)
|
|
|
|
/*================================*/
|
|
|
|
{
|
|
|
|
ulint move_start;
|
|
|
|
ulint move_end;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
if (log_sys->n_pending_writes == 0) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->written_to_all_lsn = log_sys->write_lsn;
|
|
|
|
log_sys->buf_next_to_write = log_sys->write_end_offset;
|
|
|
|
|
|
|
|
if (log_sys->write_end_offset > log_sys->max_buf_free / 2) {
|
|
|
|
/* Move the log buffer content to the start of the
|
|
|
|
buffer */
|
|
|
|
|
2006-09-19 12:14:07 +02:00
|
|
|
move_start = ut_calc_align_down(
|
|
|
|
log_sys->write_end_offset,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
move_end = ut_calc_align(log_sys->buf_free,
|
2006-08-29 11:30:31 +02:00
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_memmove(log_sys->buf, log_sys->buf + move_start,
|
2006-08-29 11:30:31 +02:00
|
|
|
move_end - move_start);
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->buf_free -= move_start;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->buf_next_to_write -= move_start;
|
|
|
|
}
|
|
|
|
|
|
|
|
return(LOG_UNLOCK_FLUSH_LOCK);
|
|
|
|
}
|
|
|
|
|
|
|
|
return(0);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes an i/o to a log file. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_io_complete(
|
|
|
|
/*============*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group) /*!< in: log group or a dummy pointer */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ulint unlock;
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
if ((byte*)group == &log_archive_io) {
|
|
|
|
/* It was an archive write */
|
|
|
|
|
|
|
|
log_io_complete_archive();
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
if ((ulint)group & 0x1UL) {
|
|
|
|
/* It was a checkpoint write */
|
|
|
|
group = (log_group_t*)((ulint)group - 1);
|
|
|
|
|
|
|
|
if (srv_unix_file_flush_method != SRV_UNIX_O_DSYNC
|
2006-08-29 11:30:31 +02:00
|
|
|
&& srv_unix_file_flush_method != SRV_UNIX_NOSYNC) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
|
|
|
fil_flush(group->space_id);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr,
|
|
|
|
"Checkpoint info written to group %lu\n",
|
|
|
|
group->id);
|
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
log_io_complete_checkpoint();
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
ut_error; /*!< We currently use synchronous writing of the
|
2005-10-27 09:29:40 +02:00
|
|
|
logs and cannot end up here! */
|
|
|
|
|
|
|
|
if (srv_unix_file_flush_method != SRV_UNIX_O_DSYNC
|
2006-08-29 11:30:31 +02:00
|
|
|
&& srv_unix_file_flush_method != SRV_UNIX_NOSYNC
|
|
|
|
&& srv_flush_log_at_trx_commit != 2) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
fil_flush(group->space_id);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
ut_a(group->n_pending_writes > 0);
|
|
|
|
ut_a(log_sys->n_pending_writes > 0);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
group->n_pending_writes--;
|
|
|
|
log_sys->n_pending_writes--;
|
|
|
|
|
|
|
|
unlock = log_group_check_flush_completion(group);
|
|
|
|
unlock = unlock | log_sys_check_flush_completion();
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_flush_do_unlocks(unlock);
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes a log file header to a log file space. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_group_file_header_flush(
|
|
|
|
/*========================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group, /*!< in: log group */
|
|
|
|
ulint nth_file, /*!< in: header to the nth file in the
|
2005-10-27 09:29:40 +02:00
|
|
|
log file space */
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t start_lsn) /*!< in: log file data starts at this
|
2005-10-27 09:29:40 +02:00
|
|
|
lsn */
|
|
|
|
{
|
|
|
|
byte* buf;
|
|
|
|
ulint dest_offset;
|
|
|
|
|
2007-01-18 19:29:12 +01:00
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_a(nth_file < group->n_files);
|
|
|
|
|
|
|
|
buf = *(group->file_header_bufs + nth_file);
|
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_GROUP_ID, group->id);
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_FILE_START_LSN, start_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Wipe over possible label of ibbackup --restore */
|
|
|
|
memcpy(buf + LOG_FILE_WAS_CREATED_BY_HOT_BACKUP, " ", 4);
|
|
|
|
|
|
|
|
dest_offset = nth_file * group->file_size;
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr,
|
|
|
|
"Writing log file header to group %lu file %lu\n",
|
|
|
|
(ulong) group->id, (ulong) nth_file);
|
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
if (log_do_write) {
|
2006-02-23 20:25:29 +01:00
|
|
|
log_sys->n_log_ios++;
|
|
|
|
|
|
|
|
srv_os_log_pending_writes++;
|
|
|
|
|
2006-06-15 09:27:13 +02:00
|
|
|
fil_io(OS_FILE_WRITE | OS_FILE_LOG, TRUE, group->space_id, 0,
|
2006-08-29 11:30:31 +02:00
|
|
|
dest_offset / UNIV_PAGE_SIZE,
|
|
|
|
dest_offset % UNIV_PAGE_SIZE,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE,
|
|
|
|
buf, group);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
srv_os_log_pending_writes--;
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Stores a 4-byte checksum to the trailer checksum field of a log block
|
|
|
|
before writing it to a log file. This checksum is used in recovery to
|
|
|
|
check the consistency of a log block. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_block_store_checksum(
|
|
|
|
/*=====================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
byte* block) /*!< in/out: pointer to a log block */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
log_block_set_checksum(block, log_block_calc_checksum(block));
|
|
|
|
}
|
2006-02-23 20:25:29 +01: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes a buffer to a log file group. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_group_write_buf(
|
|
|
|
/*================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group, /*!< in: log group */
|
|
|
|
byte* buf, /*!< in: buffer */
|
|
|
|
ulint len, /*!< in: buffer len; must be divisible
|
2005-10-27 09:29:40 +02:00
|
|
|
by OS_FILE_LOG_BLOCK_SIZE */
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t start_lsn, /*!< in: start lsn of the buffer; must
|
2005-10-27 09:29:40 +02:00
|
|
|
be divisible by
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE */
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint new_data_offset)/*!< in: start offset of new data in
|
2005-10-27 09:29:40 +02:00
|
|
|
buf: this parameter is used to decide
|
|
|
|
if we have to write a new log file
|
|
|
|
header */
|
|
|
|
{
|
|
|
|
ulint write_len;
|
|
|
|
ibool write_header;
|
|
|
|
ulint next_offset;
|
|
|
|
ulint i;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
ut_a(len % OS_FILE_LOG_BLOCK_SIZE == 0);
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(((ulint) start_lsn) % OS_FILE_LOG_BLOCK_SIZE == 0);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (new_data_offset == 0) {
|
|
|
|
write_header = TRUE;
|
|
|
|
} else {
|
|
|
|
write_header = FALSE;
|
|
|
|
}
|
|
|
|
loop:
|
|
|
|
if (len == 0) {
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
next_offset = log_group_calc_lsn_offset(start_lsn, group);
|
|
|
|
|
|
|
|
if ((next_offset % group->file_size == LOG_FILE_HDR_SIZE)
|
2006-08-29 11:30:31 +02:00
|
|
|
&& write_header) {
|
2005-10-27 09:29:40 +02:00
|
|
|
/* We start to write a new log file instance in the group */
|
|
|
|
|
|
|
|
log_group_file_header_flush(group,
|
2006-08-29 11:30:31 +02:00
|
|
|
next_offset / group->file_size,
|
|
|
|
start_lsn);
|
2006-02-23 20:25:29 +01:00
|
|
|
srv_os_log_written+= OS_FILE_LOG_BLOCK_SIZE;
|
|
|
|
srv_log_writes++;
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if ((next_offset % group->file_size) + len > group->file_size) {
|
|
|
|
|
|
|
|
write_len = group->file_size
|
2006-08-29 11:30:31 +02:00
|
|
|
- (next_offset % group->file_size);
|
2005-10-27 09:29:40 +02:00
|
|
|
} else {
|
|
|
|
write_len = len;
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
|
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"Writing log file segment to group %lu"
|
|
|
|
" offset %lu len %lu\n"
|
2006-11-24 14:05:01 +01:00
|
|
|
"start lsn %llu\n"
|
2006-08-29 11:30:31 +02:00
|
|
|
"First block n:o %lu last block n:o %lu\n",
|
2005-10-27 09:29:40 +02:00
|
|
|
(ulong) group->id, (ulong) next_offset,
|
2006-02-23 20:25:29 +01:00
|
|
|
(ulong) write_len,
|
2006-11-24 14:05:01 +01:00
|
|
|
start_lsn,
|
2005-10-27 09:29:40 +02:00
|
|
|
(ulong) log_block_get_hdr_no(buf),
|
2006-09-19 12:14:07 +02:00
|
|
|
(ulong) log_block_get_hdr_no(
|
|
|
|
buf + write_len - OS_FILE_LOG_BLOCK_SIZE));
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_a(log_block_get_hdr_no(buf)
|
2006-08-29 11:30:31 +02:00
|
|
|
== log_block_convert_lsn_to_no(start_lsn));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
for (i = 0; i < write_len / OS_FILE_LOG_BLOCK_SIZE; i++) {
|
|
|
|
|
|
|
|
ut_a(log_block_get_hdr_no(buf) + i
|
2006-09-19 12:14:07 +02:00
|
|
|
== log_block_get_hdr_no(
|
|
|
|
buf + i * OS_FILE_LOG_BLOCK_SIZE));
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
/* Calculate the checksums for each log block and write them to
|
|
|
|
the trailer fields of the log blocks */
|
|
|
|
|
|
|
|
for (i = 0; i < write_len / OS_FILE_LOG_BLOCK_SIZE; i++) {
|
|
|
|
log_block_store_checksum(buf + i * OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (log_do_write) {
|
2006-02-23 20:25:29 +01:00
|
|
|
log_sys->n_log_ios++;
|
|
|
|
|
|
|
|
srv_os_log_pending_writes++;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-06-15 09:27:13 +02:00
|
|
|
fil_io(OS_FILE_WRITE | OS_FILE_LOG, TRUE, group->space_id, 0,
|
2006-08-29 11:30:31 +02:00
|
|
|
next_offset / UNIV_PAGE_SIZE,
|
|
|
|
next_offset % UNIV_PAGE_SIZE, write_len, buf, group);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
srv_os_log_pending_writes--;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
srv_os_log_written+= write_len;
|
|
|
|
srv_log_writes++;
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if (write_len < len) {
|
2006-11-24 14:05:01 +01:00
|
|
|
start_lsn += write_len;
|
2005-10-27 09:29:40 +02:00
|
|
|
len -= write_len;
|
|
|
|
buf += write_len;
|
|
|
|
|
|
|
|
write_header = TRUE;
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
This function is called, e.g., when a transaction wants to commit. It checks
|
|
|
|
that the log has been written to the log file up to the last log entry written
|
|
|
|
by the transaction. If there is a flush running, it waits and checks if the
|
|
|
|
flush flushed enough. If not, starts a new flush. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_write_up_to(
|
|
|
|
/*============*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t lsn, /*!< in: log sequence number up to which
|
2006-11-24 14:05:01 +01:00
|
|
|
the log should be written,
|
|
|
|
IB_ULONGLONG_MAX if not specified */
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint wait, /*!< in: LOG_NO_WAIT, LOG_WAIT_ONE_GROUP,
|
2006-11-24 14:05:01 +01:00
|
|
|
or LOG_WAIT_ALL_GROUPS */
|
|
|
|
ibool flush_to_disk)
|
2009-05-25 08:46:10 +02:00
|
|
|
/*!< in: TRUE if we want the written log
|
2006-11-24 14:05:01 +01:00
|
|
|
also to be flushed to disk */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
log_group_t* group;
|
|
|
|
ulint start_offset;
|
|
|
|
ulint end_offset;
|
|
|
|
ulint area_start;
|
|
|
|
ulint area_end;
|
2006-08-29 11:30:31 +02:00
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
ulint loop_count = 0;
|
|
|
|
#endif /* UNIV_DEBUG */
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint unlock;
|
|
|
|
|
|
|
|
if (recv_no_ibuf_operations) {
|
|
|
|
/* Recovery is running and no operations on the log files are
|
|
|
|
allowed yet (the variable name .._no_ibuf_.. is misleading) */
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
loop:
|
2006-08-29 11:30:31 +02:00
|
|
|
#ifdef UNIV_DEBUG
|
2005-10-27 09:29:40 +02:00
|
|
|
loop_count++;
|
|
|
|
|
|
|
|
ut_ad(loop_count < 5);
|
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
# if 0
|
2005-10-27 09:29:40 +02:00
|
|
|
if (loop_count > 2) {
|
2006-08-29 11:30:31 +02:00
|
|
|
fprintf(stderr, "Log loop count %lu\n", loop_count);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
2006-08-29 11:30:31 +02:00
|
|
|
# endif
|
|
|
|
#endif
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (flush_to_disk
|
2006-11-24 14:05:01 +01:00
|
|
|
&& log_sys->flushed_to_disk_lsn >= lsn) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!flush_to_disk
|
2006-11-24 14:05:01 +01:00
|
|
|
&& (log_sys->written_to_all_lsn >= lsn
|
|
|
|
|| (log_sys->written_to_some_lsn >= lsn
|
2006-08-29 11:30:31 +02:00
|
|
|
&& wait != LOG_WAIT_ALL_GROUPS))) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (log_sys->n_pending_writes > 0) {
|
|
|
|
/* A write (+ possibly flush to disk) is running */
|
|
|
|
|
|
|
|
if (flush_to_disk
|
2006-11-24 14:05:01 +01:00
|
|
|
&& log_sys->current_flush_lsn >= lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
/* The write + flush will write enough: wait for it to
|
|
|
|
complete */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
goto do_waits;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!flush_to_disk
|
2006-11-24 14:05:01 +01:00
|
|
|
&& log_sys->write_lsn >= lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
/* The write will write enough: wait for it to
|
|
|
|
complete */
|
|
|
|
|
|
|
|
goto do_waits;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
/* Wait for the write to complete and try to start a new
|
|
|
|
write */
|
|
|
|
|
|
|
|
os_event_wait(log_sys->no_flush_event);
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!flush_to_disk
|
2006-08-29 11:30:31 +02:00
|
|
|
&& log_sys->buf_free == log_sys->buf_next_to_write) {
|
2005-10-27 09:29:40 +02:00
|
|
|
/* Nothing to write and no flush to disk requested */
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr,
|
2006-11-24 14:05:01 +01:00
|
|
|
"Writing log from %llu up to lsn %llu\n",
|
|
|
|
log_sys->written_to_all_lsn,
|
|
|
|
log_sys->lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
log_sys->n_pending_writes++;
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
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 11:52:16 +02:00
|
|
|
group->n_pending_writes++; /*!< We assume here that we have only
|
2005-10-27 09:29:40 +02:00
|
|
|
one log group! */
|
|
|
|
|
|
|
|
os_event_reset(log_sys->no_flush_event);
|
|
|
|
os_event_reset(log_sys->one_flushed_event);
|
|
|
|
|
|
|
|
start_offset = log_sys->buf_next_to_write;
|
|
|
|
end_offset = log_sys->buf_free;
|
|
|
|
|
|
|
|
area_start = ut_calc_align_down(start_offset, OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
area_end = ut_calc_align(end_offset, OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
|
|
|
|
ut_ad(area_end - area_start > 0);
|
|
|
|
|
|
|
|
log_sys->write_lsn = log_sys->lsn;
|
|
|
|
|
|
|
|
if (flush_to_disk) {
|
|
|
|
log_sys->current_flush_lsn = log_sys->lsn;
|
|
|
|
}
|
|
|
|
|
|
|
|
log_sys->one_flushed = FALSE;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_block_set_flush_bit(log_sys->buf + area_start, TRUE);
|
2006-09-19 12:14:07 +02:00
|
|
|
log_block_set_checkpoint_no(
|
|
|
|
log_sys->buf + area_end - OS_FILE_LOG_BLOCK_SIZE,
|
|
|
|
log_sys->next_checkpoint_no);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
/* Copy the last, incompletely written, log block a log block length
|
|
|
|
up, so that when the flush operation writes from the log buffer, the
|
|
|
|
segment to write will not be changed by writers to the log */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_memcpy(log_sys->buf + area_end,
|
2006-08-29 11:30:31 +02:00
|
|
|
log_sys->buf + area_end - OS_FILE_LOG_BLOCK_SIZE,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->buf_free += OS_FILE_LOG_BLOCK_SIZE;
|
|
|
|
log_sys->write_end_offset = log_sys->buf_free;
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
/* Do the write to the log files */
|
|
|
|
|
|
|
|
while (group) {
|
2006-09-19 12:14:07 +02:00
|
|
|
log_group_write_buf(
|
|
|
|
group, log_sys->buf + area_start,
|
|
|
|
area_end - area_start,
|
2006-11-30 10:23:47 +01:00
|
|
|
ut_uint64_align_down(log_sys->written_to_all_lsn,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE),
|
2006-09-19 12:14:07 +02:00
|
|
|
start_offset - area_start);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_group_set_fields(group, log_sys->write_lsn);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
group = UT_LIST_GET_NEXT(log_groups, group);
|
|
|
|
}
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (srv_unix_file_flush_method == SRV_UNIX_O_DSYNC) {
|
|
|
|
/* O_DSYNC means the OS did not buffer the log file at all:
|
|
|
|
so we have also flushed to disk what we have written */
|
|
|
|
|
|
|
|
log_sys->flushed_to_disk_lsn = log_sys->write_lsn;
|
|
|
|
|
|
|
|
} else if (flush_to_disk) {
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
fil_flush(group->space_id);
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->flushed_to_disk_lsn = log_sys->write_lsn;
|
|
|
|
}
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
ut_a(group->n_pending_writes == 1);
|
|
|
|
ut_a(log_sys->n_pending_writes == 1);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
group->n_pending_writes--;
|
|
|
|
log_sys->n_pending_writes--;
|
|
|
|
|
|
|
|
unlock = log_group_check_flush_completion(group);
|
|
|
|
unlock = unlock | log_sys_check_flush_completion();
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_flush_do_unlocks(unlock);
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
do_waits:
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
2007-05-06 14:28:05 +02:00
|
|
|
switch (wait) {
|
|
|
|
case LOG_WAIT_ONE_GROUP:
|
2005-10-27 09:29:40 +02:00
|
|
|
os_event_wait(log_sys->one_flushed_event);
|
2007-05-06 14:28:05 +02:00
|
|
|
break;
|
|
|
|
case LOG_WAIT_ALL_GROUPS:
|
2005-10-27 09:29:40 +02:00
|
|
|
os_event_wait(log_sys->no_flush_event);
|
2007-05-06 14:28:05 +02:00
|
|
|
break;
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
case LOG_NO_WAIT:
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
ut_error;
|
|
|
|
#endif /* UNIV_DEBUG */
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Does a syncronous flush of the log buffer to disk. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_buffer_flush_to_disk(void)
|
|
|
|
/*==========================*/
|
|
|
|
{
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
lsn = log_sys->lsn;
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_write_up_to(lsn, LOG_WAIT_ALL_GROUPS, TRUE);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Tries to establish a big enough margin of free space in the log buffer, such
|
|
|
|
that a new log entry can be catenated without an immediate need for a flush. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_flush_margin(void)
|
|
|
|
/*==================*/
|
|
|
|
{
|
2006-12-29 10:07:01 +01:00
|
|
|
log_t* log = log_sys;
|
|
|
|
ib_uint64_t lsn = 0;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_enter(&(log->mutex));
|
|
|
|
|
|
|
|
if (log->buf_free > log->max_buf_free) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (log->n_pending_writes > 0) {
|
|
|
|
/* A flush is running: hope that it will provide enough
|
|
|
|
free space */
|
|
|
|
} else {
|
|
|
|
lsn = log->lsn;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
|
2006-12-29 10:07:01 +01:00
|
|
|
if (lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
log_write_up_to(lsn, LOG_NO_WAIT, FALSE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Advances the smallest lsn for which there are unflushed dirty blocks in the
|
|
|
|
buffer pool. NOTE: this function may only be called if the calling thread owns
|
2009-05-25 08:46:10 +02:00
|
|
|
no synchronization objects!
|
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 11:52:16 +02:00
|
|
|
@return FALSE if there was a flush batch of the same type running,
|
|
|
|
which means that we could not start this flush batch */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ibool
|
|
|
|
log_preflush_pool_modified_pages(
|
|
|
|
/*=============================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t new_oldest, /*!< in: try to advance
|
2006-11-24 14:05:01 +01:00
|
|
|
oldest_modified_lsn at least
|
|
|
|
to this lsn */
|
2009-05-25 08:46:10 +02:00
|
|
|
ibool sync) /*!< in: TRUE if synchronous
|
2006-11-24 14:05:01 +01:00
|
|
|
operation is desired */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ulint n_pages;
|
|
|
|
|
|
|
|
if (recv_recovery_on) {
|
|
|
|
/* If the recovery is running, we must first apply all
|
|
|
|
log records to their respective file pages to get the
|
|
|
|
right modify lsn values to these pages: otherwise, there
|
|
|
|
might be pages on disk which are not yet recovered to the
|
|
|
|
current lsn, and even after calling this function, we could
|
|
|
|
not know how up-to-date the disk version of the database is,
|
|
|
|
and we could not make a new checkpoint on the basis of the
|
|
|
|
info on the buffer pool only. */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
recv_apply_hashed_log_recs(TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
n_pages = buf_flush_batch(BUF_FLUSH_LIST, ULINT_MAX, new_oldest);
|
|
|
|
|
|
|
|
if (sync) {
|
|
|
|
buf_flush_wait_batch_end(BUF_FLUSH_LIST);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (n_pages == ULINT_UNDEFINED) {
|
|
|
|
|
|
|
|
return(FALSE);
|
|
|
|
}
|
|
|
|
|
|
|
|
return(TRUE);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes a checkpoint. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_complete_checkpoint(void)
|
|
|
|
/*=========================*/
|
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
ut_ad(log_sys->n_pending_checkpoint_writes == 0);
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
log_sys->next_checkpoint_no++;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->last_checkpoint_lsn = log_sys->next_checkpoint_lsn;
|
|
|
|
|
|
|
|
rw_lock_x_unlock_gen(&(log_sys->checkpoint_lock), LOG_CHECKPOINT);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes an asynchronous checkpoint info write i/o to a log file. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_io_complete_checkpoint(void)
|
|
|
|
/*============================*/
|
|
|
|
{
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
ut_ad(log_sys->n_pending_checkpoint_writes > 0);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->n_pending_checkpoint_writes--;
|
|
|
|
|
|
|
|
if (log_sys->n_pending_checkpoint_writes == 0) {
|
|
|
|
log_complete_checkpoint();
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->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 11:52:16 +02:00
|
|
|
/*******************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes info to a checkpoint about a log group. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_checkpoint_set_nth_group_info(
|
|
|
|
/*==============================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
byte* buf, /*!< in: buffer for checkpoint info */
|
|
|
|
ulint n, /*!< in: nth slot */
|
|
|
|
ulint file_no,/*!< in: archived file number */
|
|
|
|
ulint offset) /*!< in: archived file offset */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ut_ad(n < LOG_MAX_N_GROUPS);
|
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_GROUP_ARRAY
|
|
|
|
+ 8 * n + LOG_CHECKPOINT_ARCHIVED_FILE_NO, file_no);
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_GROUP_ARRAY
|
|
|
|
+ 8 * n + LOG_CHECKPOINT_ARCHIVED_OFFSET, offset);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/*******************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Gets info from a checkpoint about a log group. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_checkpoint_get_nth_group_info(
|
|
|
|
/*==============================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
const byte* buf, /*!< in: buffer containing checkpoint info */
|
|
|
|
ulint n, /*!< in: nth slot */
|
|
|
|
ulint* file_no,/*!< out: archived file number */
|
|
|
|
ulint* offset) /*!< out: archived file offset */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ut_ad(n < LOG_MAX_N_GROUPS);
|
|
|
|
|
|
|
|
*file_no = mach_read_from_4(buf + LOG_CHECKPOINT_GROUP_ARRAY
|
2006-08-29 11:30:31 +02:00
|
|
|
+ 8 * n + LOG_CHECKPOINT_ARCHIVED_FILE_NO);
|
2005-10-27 09:29:40 +02:00
|
|
|
*offset = mach_read_from_4(buf + LOG_CHECKPOINT_GROUP_ARRAY
|
2006-08-29 11:30:31 +02:00
|
|
|
+ 8 * n + LOG_CHECKPOINT_ARCHIVED_OFFSET);
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes the checkpoint info to a log group header. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_group_checkpoint(
|
|
|
|
/*=================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group) /*!< in: log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
log_group_t* group2;
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t archived_lsn;
|
|
|
|
ib_uint64_t next_archived_lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
2006-11-24 14:05:01 +01:00
|
|
|
ulint write_offset;
|
|
|
|
ulint fold;
|
|
|
|
byte* buf;
|
|
|
|
ulint i;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
2006-02-17 15:19:39 +01:00
|
|
|
#if LOG_CHECKPOINT_SIZE > OS_FILE_LOG_BLOCK_SIZE
|
|
|
|
# error "LOG_CHECKPOINT_SIZE > OS_FILE_LOG_BLOCK_SIZE"
|
|
|
|
#endif
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
buf = group->checkpoint_buf;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_CHECKPOINT_NO, log_sys->next_checkpoint_no);
|
|
|
|
mach_write_ull(buf + LOG_CHECKPOINT_LSN, log_sys->next_checkpoint_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_OFFSET,
|
2006-09-19 12:14:07 +02:00
|
|
|
log_group_calc_lsn_offset(
|
|
|
|
log_sys->next_checkpoint_lsn, group));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_LOG_BUF_SIZE, log_sys->buf_size);
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
if (log_sys->archiving_state == LOG_ARCH_OFF) {
|
2006-11-24 14:05:01 +01:00
|
|
|
archived_lsn = IB_ULONGLONG_MAX;
|
2005-10-27 09:29:40 +02:00
|
|
|
} else {
|
|
|
|
archived_lsn = log_sys->archived_lsn;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (archived_lsn != log_sys->next_archived_lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
next_archived_lsn = log_sys->next_archived_lsn;
|
|
|
|
/* For debugging only */
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_CHECKPOINT_ARCHIVED_LSN, archived_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
#else /* UNIV_LOG_ARCHIVE */
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_CHECKPOINT_ARCHIVED_LSN, IB_ULONGLONG_MAX);
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
for (i = 0; i < LOG_MAX_N_GROUPS; i++) {
|
|
|
|
log_checkpoint_set_nth_group_info(buf, i, 0, 0);
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
group2 = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
while (group2) {
|
|
|
|
log_checkpoint_set_nth_group_info(buf, group2->id,
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
2006-08-29 11:30:31 +02:00
|
|
|
group2->archived_file_no,
|
|
|
|
group2->archived_offset
|
2005-10-27 09:29:40 +02:00
|
|
|
#else /* UNIV_LOG_ARCHIVE */
|
2006-08-29 11:30:31 +02:00
|
|
|
0, 0
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
2006-08-29 11:30:31 +02:00
|
|
|
);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
group2 = UT_LIST_GET_NEXT(log_groups, group2);
|
|
|
|
}
|
|
|
|
|
|
|
|
fold = ut_fold_binary(buf, LOG_CHECKPOINT_CHECKSUM_1);
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_CHECKSUM_1, fold);
|
|
|
|
|
|
|
|
fold = ut_fold_binary(buf + LOG_CHECKPOINT_LSN,
|
2006-08-29 11:30:31 +02:00
|
|
|
LOG_CHECKPOINT_CHECKSUM_2 - LOG_CHECKPOINT_LSN);
|
2005-10-27 09:29:40 +02:00
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_CHECKSUM_2, fold);
|
|
|
|
|
|
|
|
/* Starting from InnoDB-3.23.50, we also write info on allocated
|
|
|
|
size in the tablespace */
|
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_FSP_FREE_LIMIT,
|
2006-08-29 11:30:31 +02:00
|
|
|
log_fsp_current_free_limit);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_FSP_MAGIC_N,
|
2006-08-29 11:30:31 +02:00
|
|
|
LOG_CHECKPOINT_FSP_MAGIC_N_VAL);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* We alternate the physical place of the checkpoint info in the first
|
|
|
|
log file */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if ((log_sys->next_checkpoint_no & 1) == 0) {
|
2005-10-27 09:29:40 +02:00
|
|
|
write_offset = LOG_CHECKPOINT_1;
|
|
|
|
} else {
|
|
|
|
write_offset = LOG_CHECKPOINT_2;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (log_do_write) {
|
|
|
|
if (log_sys->n_pending_checkpoint_writes == 0) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
rw_lock_x_lock_gen(&(log_sys->checkpoint_lock),
|
2006-08-29 11:30:31 +02:00
|
|
|
LOG_CHECKPOINT);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
log_sys->n_pending_checkpoint_writes++;
|
|
|
|
|
|
|
|
log_sys->n_log_ios++;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
/* We send as the last parameter the group machine address
|
|
|
|
added with 1, as we want to distinguish between a normal log
|
|
|
|
file write and a checkpoint field write */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-06-15 09:27:13 +02:00
|
|
|
fil_io(OS_FILE_WRITE | OS_FILE_LOG, FALSE, group->space_id, 0,
|
2006-08-29 11:30:31 +02:00
|
|
|
write_offset / UNIV_PAGE_SIZE,
|
|
|
|
write_offset % UNIV_PAGE_SIZE,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE,
|
|
|
|
buf, ((byte*)group + 1));
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_ad(((ulint)group & 0x1UL) == 0);
|
|
|
|
}
|
|
|
|
}
|
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 09:32:21 +01:00
|
|
|
#endif /* !UNIV_HOTBACKUP */
|
2005-10-27 09:29:40 +02:00
|
|
|
|
branches/innodb+: Merge revisions 4006:4060 from branches/zip:
------------------------------------------------------------------------
r4008 | vasil | 2009-01-20 17:01:08 +0200 (Tue, 20 Jan 2009) | 4 lines
branches/zip:
Add ChangeLog entries for the bugfixes in r4004 and r4005.
------------------------------------------------------------------------
r4027 | marko | 2009-01-23 11:04:49 +0200 (Fri, 23 Jan 2009) | 1 line
branches/zip: Remove some redundant #include statements.
------------------------------------------------------------------------
r4028 | marko | 2009-01-23 11:26:10 +0200 (Fri, 23 Jan 2009) | 13 lines
branches/zip: Enclose some more unused code in #ifdef UNIV_LOG_ARCHIVE.
This will help trim the dependencies of InnoDB Hot Backup.
recv_recovery_from_checkpoint_start(): Rename to
recv_recovery_from_checkpoint_start_func(), and remove the two first
parameters unless UNIV_LOG_ARCHIVE is defined. Define and use
the auxiliary macros TYPE_CHECKPOINT and LIMIT_LSN in the function.
struct recv_sys_struct: Remove archive_group unless UNIV_LOG_ARCHIVE
is defined.
Do not define LOG_ARCHIVE unless UNIV_LOG_ARCHIVE is defined.
------------------------------------------------------------------------
r4029 | marko | 2009-01-23 14:07:38 +0200 (Fri, 23 Jan 2009) | 1 line
branches/zip: Remove some redundant #include directives.
------------------------------------------------------------------------
r4030 | marko | 2009-01-23 15:31:36 +0200 (Fri, 23 Jan 2009) | 2 lines
branches/zip: buf_page_get_gen(): Remove the unused mode BUF_GET_NOWAIT.
This was noticed while investigating Issue #160.
------------------------------------------------------------------------
r4033 | marko | 2009-01-23 15:49:04 +0200 (Fri, 23 Jan 2009) | 16 lines
branches/zip: Merge revisions 4005:4032 from branches/5.1:
------------------------------------------------------------------------
r4032 | marko | 2009-01-23 15:43:51 +0200 (Fri, 23 Jan 2009) | 10 lines
branches/5.1: Merge r4031 from branches/5.0:
btr_search_drop_page_hash_when_freed(): Check if buf_page_get_gen()
returns NULL. The page may have been evicted from the buffer pool
between buf_page_peek_if_search_hashed() and buf_page_get_gen(),
because the buffer pool mutex will be released between these two calls.
(Bug #42279, Issue #160)
rb://82 approved by Heikki Tuuri
------------------------------------------------------------------------
------------------------------------------------------------------------
r4034 | marko | 2009-01-26 16:16:39 +0200 (Mon, 26 Jan 2009) | 2 lines
branches/zip: buf_page_get_gen(): Fix a "possibly uninitialized" warning
that was introduced in r4030.
------------------------------------------------------------------------
r4036 | marko | 2009-01-26 22:33:20 +0200 (Mon, 26 Jan 2009) | 22 lines
branches/zip: In r988, the function buf_block_align() was enclosed
within UNIV_DEBUG. The two remaining callers in non-debug builds,
btr_search_guess_on_hash() and btr_search_validate(), were rewritten
to call buf_page_hash_get().
To implement support for a resizeable buffer pool, the function
buf_block_align() had been rewritten to perform a page hash lookup in
the buffer pool. The caller was also made responsible for holding the
buffer pool mutex.
Because the page hash lookup is expensive and it has to be done while
holding the buffer pool mutex, implement buf_block_align() by pointer
arithmetics again, and make btr_search_guess_on_hash() call it. Note
that this will have to be adjusted if the interface to the resizeable
buffer pool is actually implemented.
rb://83 approved by Heikki Tuuri, to address Issue #161.
As a deviation from the approved patch, this patch also makes
btr_search_validate() (invoked by CHECK TABLE) check that
buf_pool->page_hash is consistent with buf_block_align().
------------------------------------------------------------------------
r4039 | vasil | 2009-01-27 08:04:17 +0200 (Tue, 27 Jan 2009) | 5 lines
branches/zip:
Adjust the paths in innodb_file_per_table.diff with a recent rename of
the test/result files in the MySQL tree.
------------------------------------------------------------------------
r4042 | marko | 2009-01-27 10:05:24 +0200 (Tue, 27 Jan 2009) | 2 lines
branches/zip: buf_LRU_invalidate_tablespace(): Fix a race condition:
read zip_size while still holding block_mutex.
------------------------------------------------------------------------
r4045 | marko | 2009-01-28 00:31:17 +0200 (Wed, 28 Jan 2009) | 8 lines
branches/zip: btr_search_validate(): Fix a bogus UNIV_DEBUG
assertion failure that was accidentally introduced in r4036.
Instead of calling buf_block_get_frame(), which asserts that the
block must be buffer-fixed, access block->frame directly. That
is safe, because changes of block->page.state are protected by
the buffer pool mutex, which we are holding.
This bug was reported by Michael.
------------------------------------------------------------------------
r4046 | marko | 2009-01-28 00:33:20 +0200 (Wed, 28 Jan 2009) | 2 lines
branches/zip: Revert the change to univ.i that was accidentally
committed in r4045.
------------------------------------------------------------------------
r4047 | marko | 2009-01-28 00:46:13 +0200 (Wed, 28 Jan 2009) | 6 lines
branches/zip: btr_search_validate(): Fix an assertion failure that was
introduced in r4036.
Do not call buf_block_get_space(), buf_block_get_page_no()
unless the block state is BUF_BLOCK_FILE_PAGE.
This bug was reported by Michael.
------------------------------------------------------------------------
r4050 | vasil | 2009-01-28 08:21:44 +0200 (Wed, 28 Jan 2009) | 5 lines
branches/zip:
Adjust the paths in innodb_lock_wait_timeout.diff with a recent rename of
the test/result files in the MySQL tree.
------------------------------------------------------------------------
r4051 | marko | 2009-01-28 14:35:49 +0200 (Wed, 28 Jan 2009) | 1 line
branches/zip: trx0sys.ic: Remove unnecessary #include <data0type.h>.
------------------------------------------------------------------------
r4052 | marko | 2009-01-28 15:21:45 +0200 (Wed, 28 Jan 2009) | 5 lines
branches/zip: Enclose some functions inside #ifdef UNIV_HOTBACKUP:
ut_sprintf_timestamp_without_extra_chars(), ut_get_year_month_day(),
log_reset_first_header_and_checkpoint(): These functions are only used
in InnoDB Hot Backup.
------------------------------------------------------------------------
r4056 | calvin | 2009-01-29 03:06:41 +0200 (Thu, 29 Jan 2009) | 33 lines
branches/zip: Merge revisions 4032:4035 from branches/5.1
All InnoDB related tests passed on Windows, except
known failure in partition_innodb_semi_consistent.
The inadvertent change to btr0sea.c in this commit is reverted in r4060.
------------------------------------------------------------------------
r4035 | vasil | 2009-01-26 09:26:25 -0600 (Mon, 26 Jan 2009) | 23 lines
branches/5.1:
Merge a change from MySQL:
------------------------------------------------------------
revno: 2646.161.4
committer: Tatiana A. Nurnberg <azundris@mysql.com>
branch nick: 51-31177v2
timestamp: Mon 2009-01-12 06:32:49 +0100
message:
Bug#31177: Server variables can't be set to their current values
Bounds-checks and blocksize corrections were applied to user-input,
but constants in the server were trusted implicitly. If these values
did not actually meet the requirements, the user could not set change
a variable, then set it back to the (wonky) factory default or maximum
by explicitly specifying it (SET <var>=<value> vs SET <var>=DEFAULT).
Now checks also apply to the server's presets. Wonky values and maxima
get corrected at startup. Consequently all non-offsetted values the user
sees are valid, and users can set the variable to that exact value if
they so desire.
------------------------------------------------------------------------
r4060 | marko | 2009-01-29 09:39:04 +0200 (Thu, 29 Jan 2009) | 1 line
branches/zip: btr0sea.c: Revert the inadvertent change made in r4056.
------------------------------------------------------------------------
2009-01-29 10:47:07 +01:00
|
|
|
#ifdef UNIV_HOTBACKUP
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes info to a buffer of a log group when log files are created in
|
|
|
|
backup restoration. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_reset_first_header_and_checkpoint(
|
|
|
|
/*==================================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
byte* hdr_buf,/*!< in: buffer which will be written to the
|
2006-11-24 14:05:01 +01:00
|
|
|
start of the first log file */
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t start) /*!< in: lsn of the start of the first log file;
|
2006-11-24 14:05:01 +01:00
|
|
|
we pretend that there is a checkpoint at
|
|
|
|
start + LOG_BLOCK_HDR_SIZE */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
2006-11-24 14:05:01 +01:00
|
|
|
ulint fold;
|
|
|
|
byte* buf;
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mach_write_to_4(hdr_buf + LOG_GROUP_ID, 0);
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(hdr_buf + LOG_FILE_START_LSN, start);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
lsn = start + LOG_BLOCK_HDR_SIZE;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Write the label of ibbackup --restore */
|
|
|
|
strcpy((char*) hdr_buf + LOG_FILE_WAS_CREATED_BY_HOT_BACKUP,
|
2006-08-29 11:30:31 +02:00
|
|
|
"ibbackup ");
|
|
|
|
ut_sprintf_timestamp((char*) hdr_buf
|
|
|
|
+ (LOG_FILE_WAS_CREATED_BY_HOT_BACKUP
|
|
|
|
+ (sizeof "ibbackup ") - 1));
|
2005-10-27 09:29:40 +02:00
|
|
|
buf = hdr_buf + LOG_CHECKPOINT_1;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_CHECKPOINT_NO, 0);
|
|
|
|
mach_write_ull(buf + LOG_CHECKPOINT_LSN, lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_OFFSET,
|
2006-08-29 11:30:31 +02:00
|
|
|
LOG_FILE_HDR_SIZE + LOG_BLOCK_HDR_SIZE);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_LOG_BUF_SIZE, 2 * 1024 * 1024);
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_CHECKPOINT_ARCHIVED_LSN, IB_ULONGLONG_MAX);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
fold = ut_fold_binary(buf, LOG_CHECKPOINT_CHECKSUM_1);
|
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_CHECKSUM_1, fold);
|
|
|
|
|
|
|
|
fold = ut_fold_binary(buf + LOG_CHECKPOINT_LSN,
|
2006-08-29 11:30:31 +02:00
|
|
|
LOG_CHECKPOINT_CHECKSUM_2 - LOG_CHECKPOINT_LSN);
|
2005-10-27 09:29:40 +02:00
|
|
|
mach_write_to_4(buf + LOG_CHECKPOINT_CHECKSUM_2, fold);
|
|
|
|
|
|
|
|
/* Starting from InnoDB-3.23.50, we should also write info on
|
|
|
|
allocated size in the tablespace, but unfortunately we do not
|
|
|
|
know it here */
|
|
|
|
}
|
branches/innodb+: Merge revisions 4006:4060 from branches/zip:
------------------------------------------------------------------------
r4008 | vasil | 2009-01-20 17:01:08 +0200 (Tue, 20 Jan 2009) | 4 lines
branches/zip:
Add ChangeLog entries for the bugfixes in r4004 and r4005.
------------------------------------------------------------------------
r4027 | marko | 2009-01-23 11:04:49 +0200 (Fri, 23 Jan 2009) | 1 line
branches/zip: Remove some redundant #include statements.
------------------------------------------------------------------------
r4028 | marko | 2009-01-23 11:26:10 +0200 (Fri, 23 Jan 2009) | 13 lines
branches/zip: Enclose some more unused code in #ifdef UNIV_LOG_ARCHIVE.
This will help trim the dependencies of InnoDB Hot Backup.
recv_recovery_from_checkpoint_start(): Rename to
recv_recovery_from_checkpoint_start_func(), and remove the two first
parameters unless UNIV_LOG_ARCHIVE is defined. Define and use
the auxiliary macros TYPE_CHECKPOINT and LIMIT_LSN in the function.
struct recv_sys_struct: Remove archive_group unless UNIV_LOG_ARCHIVE
is defined.
Do not define LOG_ARCHIVE unless UNIV_LOG_ARCHIVE is defined.
------------------------------------------------------------------------
r4029 | marko | 2009-01-23 14:07:38 +0200 (Fri, 23 Jan 2009) | 1 line
branches/zip: Remove some redundant #include directives.
------------------------------------------------------------------------
r4030 | marko | 2009-01-23 15:31:36 +0200 (Fri, 23 Jan 2009) | 2 lines
branches/zip: buf_page_get_gen(): Remove the unused mode BUF_GET_NOWAIT.
This was noticed while investigating Issue #160.
------------------------------------------------------------------------
r4033 | marko | 2009-01-23 15:49:04 +0200 (Fri, 23 Jan 2009) | 16 lines
branches/zip: Merge revisions 4005:4032 from branches/5.1:
------------------------------------------------------------------------
r4032 | marko | 2009-01-23 15:43:51 +0200 (Fri, 23 Jan 2009) | 10 lines
branches/5.1: Merge r4031 from branches/5.0:
btr_search_drop_page_hash_when_freed(): Check if buf_page_get_gen()
returns NULL. The page may have been evicted from the buffer pool
between buf_page_peek_if_search_hashed() and buf_page_get_gen(),
because the buffer pool mutex will be released between these two calls.
(Bug #42279, Issue #160)
rb://82 approved by Heikki Tuuri
------------------------------------------------------------------------
------------------------------------------------------------------------
r4034 | marko | 2009-01-26 16:16:39 +0200 (Mon, 26 Jan 2009) | 2 lines
branches/zip: buf_page_get_gen(): Fix a "possibly uninitialized" warning
that was introduced in r4030.
------------------------------------------------------------------------
r4036 | marko | 2009-01-26 22:33:20 +0200 (Mon, 26 Jan 2009) | 22 lines
branches/zip: In r988, the function buf_block_align() was enclosed
within UNIV_DEBUG. The two remaining callers in non-debug builds,
btr_search_guess_on_hash() and btr_search_validate(), were rewritten
to call buf_page_hash_get().
To implement support for a resizeable buffer pool, the function
buf_block_align() had been rewritten to perform a page hash lookup in
the buffer pool. The caller was also made responsible for holding the
buffer pool mutex.
Because the page hash lookup is expensive and it has to be done while
holding the buffer pool mutex, implement buf_block_align() by pointer
arithmetics again, and make btr_search_guess_on_hash() call it. Note
that this will have to be adjusted if the interface to the resizeable
buffer pool is actually implemented.
rb://83 approved by Heikki Tuuri, to address Issue #161.
As a deviation from the approved patch, this patch also makes
btr_search_validate() (invoked by CHECK TABLE) check that
buf_pool->page_hash is consistent with buf_block_align().
------------------------------------------------------------------------
r4039 | vasil | 2009-01-27 08:04:17 +0200 (Tue, 27 Jan 2009) | 5 lines
branches/zip:
Adjust the paths in innodb_file_per_table.diff with a recent rename of
the test/result files in the MySQL tree.
------------------------------------------------------------------------
r4042 | marko | 2009-01-27 10:05:24 +0200 (Tue, 27 Jan 2009) | 2 lines
branches/zip: buf_LRU_invalidate_tablespace(): Fix a race condition:
read zip_size while still holding block_mutex.
------------------------------------------------------------------------
r4045 | marko | 2009-01-28 00:31:17 +0200 (Wed, 28 Jan 2009) | 8 lines
branches/zip: btr_search_validate(): Fix a bogus UNIV_DEBUG
assertion failure that was accidentally introduced in r4036.
Instead of calling buf_block_get_frame(), which asserts that the
block must be buffer-fixed, access block->frame directly. That
is safe, because changes of block->page.state are protected by
the buffer pool mutex, which we are holding.
This bug was reported by Michael.
------------------------------------------------------------------------
r4046 | marko | 2009-01-28 00:33:20 +0200 (Wed, 28 Jan 2009) | 2 lines
branches/zip: Revert the change to univ.i that was accidentally
committed in r4045.
------------------------------------------------------------------------
r4047 | marko | 2009-01-28 00:46:13 +0200 (Wed, 28 Jan 2009) | 6 lines
branches/zip: btr_search_validate(): Fix an assertion failure that was
introduced in r4036.
Do not call buf_block_get_space(), buf_block_get_page_no()
unless the block state is BUF_BLOCK_FILE_PAGE.
This bug was reported by Michael.
------------------------------------------------------------------------
r4050 | vasil | 2009-01-28 08:21:44 +0200 (Wed, 28 Jan 2009) | 5 lines
branches/zip:
Adjust the paths in innodb_lock_wait_timeout.diff with a recent rename of
the test/result files in the MySQL tree.
------------------------------------------------------------------------
r4051 | marko | 2009-01-28 14:35:49 +0200 (Wed, 28 Jan 2009) | 1 line
branches/zip: trx0sys.ic: Remove unnecessary #include <data0type.h>.
------------------------------------------------------------------------
r4052 | marko | 2009-01-28 15:21:45 +0200 (Wed, 28 Jan 2009) | 5 lines
branches/zip: Enclose some functions inside #ifdef UNIV_HOTBACKUP:
ut_sprintf_timestamp_without_extra_chars(), ut_get_year_month_day(),
log_reset_first_header_and_checkpoint(): These functions are only used
in InnoDB Hot Backup.
------------------------------------------------------------------------
r4056 | calvin | 2009-01-29 03:06:41 +0200 (Thu, 29 Jan 2009) | 33 lines
branches/zip: Merge revisions 4032:4035 from branches/5.1
All InnoDB related tests passed on Windows, except
known failure in partition_innodb_semi_consistent.
The inadvertent change to btr0sea.c in this commit is reverted in r4060.
------------------------------------------------------------------------
r4035 | vasil | 2009-01-26 09:26:25 -0600 (Mon, 26 Jan 2009) | 23 lines
branches/5.1:
Merge a change from MySQL:
------------------------------------------------------------
revno: 2646.161.4
committer: Tatiana A. Nurnberg <azundris@mysql.com>
branch nick: 51-31177v2
timestamp: Mon 2009-01-12 06:32:49 +0100
message:
Bug#31177: Server variables can't be set to their current values
Bounds-checks and blocksize corrections were applied to user-input,
but constants in the server were trusted implicitly. If these values
did not actually meet the requirements, the user could not set change
a variable, then set it back to the (wonky) factory default or maximum
by explicitly specifying it (SET <var>=<value> vs SET <var>=DEFAULT).
Now checks also apply to the server's presets. Wonky values and maxima
get corrected at startup. Consequently all non-offsetted values the user
sees are valid, and users can set the variable to that exact value if
they so desire.
------------------------------------------------------------------------
r4060 | marko | 2009-01-29 09:39:04 +0200 (Thu, 29 Jan 2009) | 1 line
branches/zip: btr0sea.c: Revert the inadvertent change made in r4056.
------------------------------------------------------------------------
2009-01-29 10:47:07 +01:00
|
|
|
#endif /* UNIV_HOTBACKUP */
|
2005-10-27 09:29:40 +02:00
|
|
|
|
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 09:32:21 +01:00
|
|
|
#ifndef UNIV_HOTBACKUP
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Reads a checkpoint info from a log group header to log_sys->checkpoint_buf. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_group_read_checkpoint_info(
|
|
|
|
/*===========================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group, /*!< in: log group */
|
|
|
|
ulint field) /*!< in: LOG_CHECKPOINT_1 or LOG_CHECKPOINT_2 */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
log_sys->n_log_ios++;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-06-15 09:27:13 +02:00
|
|
|
fil_io(OS_FILE_READ | OS_FILE_LOG, TRUE, group->space_id, 0,
|
2006-08-29 11:30:31 +02:00
|
|
|
field / UNIV_PAGE_SIZE, field % UNIV_PAGE_SIZE,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE, log_sys->checkpoint_buf, NULL);
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes checkpoint info to groups. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_groups_write_checkpoint_info(void)
|
|
|
|
/*==================================*/
|
|
|
|
{
|
|
|
|
log_group_t* group;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
while (group) {
|
|
|
|
log_group_checkpoint(group);
|
|
|
|
|
|
|
|
group = UT_LIST_GET_NEXT(log_groups, group);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Makes a checkpoint. Note that this function does not flush dirty
|
|
|
|
blocks from the buffer pool: it only checks what is lsn of the oldest
|
|
|
|
modification in the pool, and writes information about the lsn in
|
2009-05-25 08:46:10 +02:00
|
|
|
log files. Use log_make_checkpoint_at to flush also the pool.
|
|
|
|
@return TRUE if success, FALSE if a checkpoint write was already running */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ibool
|
|
|
|
log_checkpoint(
|
|
|
|
/*===========*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ibool sync, /*!< in: TRUE if synchronous operation is
|
2005-10-27 09:29:40 +02:00
|
|
|
desired */
|
2009-05-25 08:46:10 +02:00
|
|
|
ibool write_always) /*!< in: the function normally checks if the
|
2005-10-27 09:29:40 +02:00
|
|
|
the new checkpoint would have a greater
|
|
|
|
lsn than the previous one: if not, then no
|
|
|
|
physical write is done; by setting this
|
|
|
|
parameter TRUE, a physical write will always be
|
|
|
|
made to log files */
|
|
|
|
{
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t oldest_lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (recv_recovery_is_on()) {
|
|
|
|
recv_apply_hashed_log_recs(TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (srv_unix_file_flush_method != SRV_UNIX_NOSYNC) {
|
2006-02-23 20:25:29 +01:00
|
|
|
fil_flush_file_spaces(FIL_TABLESPACE);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
oldest_lsn = log_buf_pool_get_oldest_modification();
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
/* Because log also contains headers and dummy log records,
|
|
|
|
if the buffer pool contains no dirty buffers, oldest_lsn
|
|
|
|
gets the value log_sys->lsn from the previous function,
|
|
|
|
and we must make sure that the log is flushed up to that
|
|
|
|
lsn. If there are dirty buffers in the buffer pool, then our
|
|
|
|
write-ahead-logging algorithm ensures that the log has been flushed
|
|
|
|
up to oldest_lsn. */
|
|
|
|
|
|
|
|
log_write_up_to(oldest_lsn, LOG_WAIT_ALL_GROUPS, TRUE);
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
if (!write_always
|
2006-11-24 14:05:01 +01:00
|
|
|
&& log_sys->last_checkpoint_lsn >= oldest_lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return(TRUE);
|
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_ad(log_sys->written_to_all_lsn >= oldest_lsn);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (log_sys->n_pending_checkpoint_writes > 0) {
|
|
|
|
/* A checkpoint write is running */
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (sync) {
|
|
|
|
/* Wait for the checkpoint write to complete */
|
|
|
|
rw_lock_s_lock(&(log_sys->checkpoint_lock));
|
|
|
|
rw_lock_s_unlock(&(log_sys->checkpoint_lock));
|
|
|
|
}
|
|
|
|
|
|
|
|
return(FALSE);
|
|
|
|
}
|
|
|
|
|
|
|
|
log_sys->next_checkpoint_lsn = oldest_lsn;
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
2006-11-24 14:05:01 +01:00
|
|
|
fprintf(stderr, "Making checkpoint no %lu at lsn %llu\n",
|
|
|
|
(ulong) log_sys->next_checkpoint_no,
|
|
|
|
oldest_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
|
|
|
log_groups_write_checkpoint_info();
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (sync) {
|
|
|
|
/* Wait for the checkpoint write to complete */
|
|
|
|
rw_lock_s_lock(&(log_sys->checkpoint_lock));
|
|
|
|
rw_lock_s_unlock(&(log_sys->checkpoint_lock));
|
|
|
|
}
|
|
|
|
|
|
|
|
return(TRUE);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Makes a checkpoint at a given lsn or later. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_make_checkpoint_at(
|
|
|
|
/*===================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t lsn, /*!< in: make a checkpoint at this or a
|
2006-11-24 14:05:01 +01:00
|
|
|
later lsn, if IB_ULONGLONG_MAX, makes
|
|
|
|
a checkpoint at the latest lsn */
|
2009-05-25 08:46:10 +02:00
|
|
|
ibool write_always) /*!< in: the function normally checks if
|
2006-11-24 14:05:01 +01:00
|
|
|
the the new checkpoint would have a
|
|
|
|
greater lsn than the previous one: if
|
|
|
|
not, then no physical write is done;
|
|
|
|
by setting this parameter TRUE, a
|
|
|
|
physical write will always be made to
|
|
|
|
log files */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
/* Preflush pages synchronously */
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
while (!log_preflush_pool_modified_pages(lsn, TRUE));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
while (!log_checkpoint(TRUE, write_always));
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Tries to establish a big enough margin of free space in the log groups, such
|
|
|
|
that a new log entry can be catenated without an immediate need for a
|
|
|
|
checkpoint. NOTE: this function may only be called if the calling thread
|
|
|
|
owns no synchronization objects! */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_checkpoint_margin(void)
|
|
|
|
/*=======================*/
|
|
|
|
{
|
2006-11-24 14:05:01 +01:00
|
|
|
log_t* log = log_sys;
|
2008-05-14 17:43:19 +02:00
|
|
|
ib_uint64_t age;
|
|
|
|
ib_uint64_t checkpoint_age;
|
|
|
|
ib_uint64_t advance;
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t oldest_lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
ibool sync;
|
|
|
|
ibool checkpoint_sync;
|
|
|
|
ibool do_checkpoint;
|
|
|
|
ibool success;
|
2005-10-27 09:29:40 +02:00
|
|
|
loop:
|
|
|
|
sync = FALSE;
|
|
|
|
checkpoint_sync = FALSE;
|
|
|
|
do_checkpoint = FALSE;
|
|
|
|
|
|
|
|
mutex_enter(&(log->mutex));
|
|
|
|
|
|
|
|
if (log->check_flush_or_checkpoint == FALSE) {
|
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
|
|
|
|
return;
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
oldest_lsn = log_buf_pool_get_oldest_modification();
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
age = log->lsn - oldest_lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (age > log->max_modified_age_sync) {
|
|
|
|
|
|
|
|
/* A flush is urgent: we have to do a synchronous preflush */
|
|
|
|
|
|
|
|
sync = TRUE;
|
|
|
|
advance = 2 * (age - log->max_modified_age_sync);
|
|
|
|
} else if (age > log->max_modified_age_async) {
|
|
|
|
|
|
|
|
/* A flush is not urgent: we do an asynchronous preflush */
|
|
|
|
advance = age - log->max_modified_age_async;
|
|
|
|
} else {
|
|
|
|
advance = 0;
|
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
checkpoint_age = log->lsn - log->last_checkpoint_lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (checkpoint_age > log->max_checkpoint_age) {
|
|
|
|
/* A checkpoint is urgent: we do it synchronously */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
checkpoint_sync = TRUE;
|
|
|
|
|
|
|
|
do_checkpoint = TRUE;
|
|
|
|
|
|
|
|
} else if (checkpoint_age > log->max_checkpoint_age_async) {
|
|
|
|
/* A checkpoint is not urgent: do it asynchronously */
|
|
|
|
|
|
|
|
do_checkpoint = TRUE;
|
|
|
|
|
|
|
|
log->check_flush_or_checkpoint = FALSE;
|
|
|
|
} else {
|
|
|
|
log->check_flush_or_checkpoint = FALSE;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
|
|
|
|
if (advance) {
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t new_oldest = oldest_lsn + advance;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
success = log_preflush_pool_modified_pages(new_oldest, sync);
|
|
|
|
|
|
|
|
/* If the flush succeeded, this thread has done its part
|
|
|
|
and can proceed. If it did not succeed, there was another
|
|
|
|
thread doing a flush at the same time. If sync was FALSE,
|
|
|
|
the flush was not urgent, and we let this thread proceed.
|
|
|
|
Otherwise, we let it start from the beginning again. */
|
|
|
|
|
|
|
|
if (sync && !success) {
|
|
|
|
mutex_enter(&(log->mutex));
|
|
|
|
|
|
|
|
log->check_flush_or_checkpoint = TRUE;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (do_checkpoint) {
|
|
|
|
log_checkpoint(checkpoint_sync, FALSE);
|
|
|
|
|
|
|
|
if (checkpoint_sync) {
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Reads a specified log segment to a buffer. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_group_read_log_seg(
|
|
|
|
/*===================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint type, /*!< in: LOG_ARCHIVE or LOG_RECOVER */
|
|
|
|
byte* buf, /*!< in: buffer where to read */
|
|
|
|
log_group_t* group, /*!< in: log group */
|
|
|
|
ib_uint64_t start_lsn, /*!< in: read area start */
|
|
|
|
ib_uint64_t end_lsn) /*!< in: read area end */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
ulint len;
|
|
|
|
ulint source_offset;
|
|
|
|
ibool sync;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
sync = (type == LOG_RECOVER);
|
2005-10-27 09:29:40 +02:00
|
|
|
loop:
|
|
|
|
source_offset = log_group_calc_lsn_offset(start_lsn, group);
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
len = (ulint) (end_lsn - start_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_ad(len != 0);
|
|
|
|
|
|
|
|
if ((source_offset % group->file_size) + len > group->file_size) {
|
|
|
|
|
|
|
|
len = group->file_size - (source_offset % group->file_size);
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
if (type == LOG_ARCHIVE) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->n_pending_archive_ios++;
|
|
|
|
}
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
log_sys->n_log_ios++;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-06-15 09:27:13 +02:00
|
|
|
fil_io(OS_FILE_READ | OS_FILE_LOG, sync, group->space_id, 0,
|
2006-08-29 11:30:31 +02:00
|
|
|
source_offset / UNIV_PAGE_SIZE, source_offset % UNIV_PAGE_SIZE,
|
|
|
|
len, buf, NULL);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
start_lsn += len;
|
2005-10-27 09:29:40 +02:00
|
|
|
buf += len;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (start_lsn != end_lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Generates an archived log file name. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_archived_file_name_gen(
|
|
|
|
/*=======================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
char* buf, /*!< in: buffer where to write */
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint id __attribute__((unused)),
|
2009-05-25 08:46:10 +02:00
|
|
|
/*!< in: group id;
|
2005-10-27 09:29:40 +02:00
|
|
|
currently we only archive the first group */
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint file_no)/*!< in: file number */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
sprintf(buf, "%sib_arch_log_%010lu", srv_arch_dir, (ulong) file_no);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes a log file header to a log file space. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_group_archive_file_header_write(
|
|
|
|
/*================================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group, /*!< in: log group */
|
|
|
|
ulint nth_file, /*!< in: header to the nth file in the
|
2005-10-27 09:29:40 +02:00
|
|
|
archive log file space */
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint file_no, /*!< in: archived file number */
|
|
|
|
ib_uint64_t start_lsn) /*!< in: log file data starts at this
|
2005-10-27 09:29:40 +02:00
|
|
|
lsn */
|
|
|
|
{
|
|
|
|
byte* buf;
|
|
|
|
ulint dest_offset;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
ut_a(nth_file < group->n_files);
|
|
|
|
|
|
|
|
buf = *(group->archive_file_header_bufs + nth_file);
|
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_GROUP_ID, group->id);
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_FILE_START_LSN, start_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
mach_write_to_4(buf + LOG_FILE_NO, file_no);
|
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_FILE_ARCH_COMPLETED, FALSE);
|
|
|
|
|
|
|
|
dest_offset = nth_file * group->file_size;
|
|
|
|
|
|
|
|
log_sys->n_log_ios++;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
fil_io(OS_FILE_WRITE | OS_FILE_LOG, TRUE, group->archive_space_id,
|
2006-08-29 11:30:31 +02:00
|
|
|
dest_offset / UNIV_PAGE_SIZE,
|
|
|
|
dest_offset % UNIV_PAGE_SIZE,
|
|
|
|
2 * OS_FILE_LOG_BLOCK_SIZE,
|
|
|
|
buf, &log_archive_io);
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes a log file header to a completed archived log file. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_group_archive_completed_header_write(
|
|
|
|
/*=====================================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group, /*!< in: log group */
|
|
|
|
ulint nth_file, /*!< in: header to the nth file in the
|
2005-10-27 09:29:40 +02:00
|
|
|
archive log file space */
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t end_lsn) /*!< in: end lsn of the file */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
byte* buf;
|
|
|
|
ulint dest_offset;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
ut_a(nth_file < group->n_files);
|
|
|
|
|
|
|
|
buf = *(group->archive_file_header_bufs + nth_file);
|
|
|
|
|
|
|
|
mach_write_to_4(buf + LOG_FILE_ARCH_COMPLETED, TRUE);
|
2006-11-24 14:05:01 +01:00
|
|
|
mach_write_ull(buf + LOG_FILE_END_LSN, end_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
dest_offset = nth_file * group->file_size + LOG_FILE_ARCH_COMPLETED;
|
|
|
|
|
|
|
|
log_sys->n_log_ios++;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
fil_io(OS_FILE_WRITE | OS_FILE_LOG, TRUE, group->archive_space_id,
|
2006-08-29 11:30:31 +02:00
|
|
|
dest_offset / UNIV_PAGE_SIZE,
|
|
|
|
dest_offset % UNIV_PAGE_SIZE,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE,
|
|
|
|
buf + LOG_FILE_ARCH_COMPLETED,
|
|
|
|
&log_archive_io);
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Does the archive writes for a single log group. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_group_archive(
|
|
|
|
/*==============*/
|
2009-05-25 08:46:10 +02:00
|
|
|
log_group_t* group) /*!< in: log group */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
2006-11-24 14:05:01 +01:00
|
|
|
os_file_t file_handle;
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t start_lsn;
|
|
|
|
ib_uint64_t end_lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
char name[1024];
|
|
|
|
byte* buf;
|
|
|
|
ulint len;
|
|
|
|
ibool ret;
|
|
|
|
ulint next_offset;
|
|
|
|
ulint n_files;
|
|
|
|
ulint open_mode;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
start_lsn = log_sys->archived_lsn;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(start_lsn % OS_FILE_LOG_BLOCK_SIZE == 0);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
end_lsn = log_sys->next_archived_lsn;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(end_lsn % OS_FILE_LOG_BLOCK_SIZE == 0);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
buf = log_sys->archive_buf;
|
|
|
|
|
|
|
|
n_files = 0;
|
|
|
|
|
|
|
|
next_offset = group->archived_offset;
|
2006-02-23 20:25:29 +01:00
|
|
|
loop:
|
2005-10-27 09:29:40 +02:00
|
|
|
if ((next_offset % group->file_size == 0)
|
2006-08-29 11:30:31 +02:00
|
|
|
|| (fil_space_get_size(group->archive_space_id) == 0)) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Add the file to the archive file space; create or open the
|
|
|
|
file */
|
|
|
|
|
|
|
|
if (next_offset % group->file_size == 0) {
|
|
|
|
open_mode = OS_FILE_CREATE;
|
|
|
|
} else {
|
|
|
|
open_mode = OS_FILE_OPEN;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_archived_file_name_gen(name, group->id,
|
2006-08-29 11:30:31 +02:00
|
|
|
group->archived_file_no + n_files);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
file_handle = os_file_create(name, open_mode, OS_FILE_AIO,
|
2006-08-29 11:30:31 +02:00
|
|
|
OS_DATA_FILE, &ret);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (!ret && (open_mode == OS_FILE_CREATE)) {
|
2006-09-19 12:14:07 +02:00
|
|
|
file_handle = os_file_create(
|
|
|
|
name, OS_FILE_OPEN, OS_FILE_AIO,
|
|
|
|
OS_DATA_FILE, &ret);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if (!ret) {
|
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"InnoDB: Cannot create or open"
|
|
|
|
" archive log file %s.\n"
|
|
|
|
"InnoDB: Cannot continue operation.\n"
|
|
|
|
"InnoDB: Check that the log archive"
|
|
|
|
" directory exists,\n"
|
|
|
|
"InnoDB: you have access rights to it, and\n"
|
|
|
|
"InnoDB: there is space available.\n", name);
|
2005-10-27 09:29:40 +02:00
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr, "Created archive file %s\n", name);
|
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
|
|
|
ret = os_file_close(file_handle);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_a(ret);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
/* Add the archive file as a node to the space */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
fil_node_create(name, group->file_size / UNIV_PAGE_SIZE,
|
2006-08-29 11:30:31 +02:00
|
|
|
group->archive_space_id, FALSE);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (next_offset % group->file_size == 0) {
|
2006-09-19 12:14:07 +02:00
|
|
|
log_group_archive_file_header_write(
|
|
|
|
group, n_files,
|
|
|
|
group->archived_file_no + n_files,
|
|
|
|
start_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
next_offset += LOG_FILE_HDR_SIZE;
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
len = end_lsn - start_lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (group->file_size < (next_offset % group->file_size) + len) {
|
|
|
|
|
|
|
|
len = group->file_size - (next_offset % group->file_size);
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr,
|
2006-11-24 14:05:01 +01:00
|
|
|
"Archiving starting at lsn %llu, len %lu"
|
2006-08-29 11:30:31 +02:00
|
|
|
" to group %lu\n",
|
2006-11-24 14:05:01 +01:00
|
|
|
start_lsn,
|
2006-08-29 11:30:31 +02:00
|
|
|
(ulong) len, (ulong) group->id);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
|
|
|
log_sys->n_pending_archive_ios++;
|
|
|
|
|
|
|
|
log_sys->n_log_ios++;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
fil_io(OS_FILE_WRITE | OS_FILE_LOG, FALSE, group->archive_space_id,
|
2006-08-29 11:30:31 +02:00
|
|
|
next_offset / UNIV_PAGE_SIZE, next_offset % UNIV_PAGE_SIZE,
|
|
|
|
ut_calc_align(len, OS_FILE_LOG_BLOCK_SIZE), buf,
|
|
|
|
&log_archive_io);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
start_lsn += len;
|
2005-10-27 09:29:40 +02:00
|
|
|
next_offset += len;
|
|
|
|
buf += len;
|
|
|
|
|
|
|
|
if (next_offset % group->file_size == 0) {
|
|
|
|
n_files++;
|
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (end_lsn != start_lsn) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
group->next_archived_file_no = group->archived_file_no + n_files;
|
|
|
|
group->next_archived_offset = next_offset % group->file_size;
|
|
|
|
|
|
|
|
ut_a(group->next_archived_offset % OS_FILE_LOG_BLOCK_SIZE == 0);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/*****************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
(Writes to the archive of each log group.) Currently, only the first
|
|
|
|
group is archived. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_archive_groups(void)
|
|
|
|
/*====================*/
|
|
|
|
{
|
|
|
|
log_group_t* group;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
log_group_archive(group);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/*****************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes the archiving write phase for (each log group), currently,
|
|
|
|
the first log group. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_archive_write_complete_groups(void)
|
|
|
|
/*===================================*/
|
|
|
|
{
|
|
|
|
log_group_t* group;
|
|
|
|
ulint end_offset;
|
|
|
|
ulint trunc_files;
|
|
|
|
ulint n_files;
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t start_lsn;
|
|
|
|
ib_uint64_t end_lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint i;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
group->archived_file_no = group->next_archived_file_no;
|
|
|
|
group->archived_offset = group->next_archived_offset;
|
|
|
|
|
|
|
|
/* Truncate from the archive file space all but the last
|
|
|
|
file, or if it has been written full, all files */
|
|
|
|
|
|
|
|
n_files = (UNIV_PAGE_SIZE
|
2006-08-29 11:30:31 +02:00
|
|
|
* fil_space_get_size(group->archive_space_id))
|
2006-02-23 20:25:29 +01:00
|
|
|
/ group->file_size;
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_ad(n_files > 0);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
end_offset = group->archived_offset;
|
|
|
|
|
|
|
|
if (end_offset % group->file_size == 0) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
trunc_files = n_files;
|
|
|
|
} else {
|
|
|
|
trunc_files = n_files - 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes && trunc_files) {
|
|
|
|
fprintf(stderr,
|
|
|
|
"Complete file(s) archived to group %lu\n",
|
2006-08-29 11:30:31 +02:00
|
|
|
(ulong) group->id);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
|
|
|
/* Calculate the archive file space start lsn */
|
2006-11-24 14:05:01 +01:00
|
|
|
start_lsn = log_sys->next_archived_lsn
|
|
|
|
- (end_offset - LOG_FILE_HDR_SIZE + trunc_files
|
|
|
|
* (group->file_size - LOG_FILE_HDR_SIZE));
|
2005-10-27 09:29:40 +02:00
|
|
|
end_lsn = start_lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
for (i = 0; i < trunc_files; i++) {
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
end_lsn += group->file_size - LOG_FILE_HDR_SIZE;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Write a notice to the headers of archived log
|
|
|
|
files that the file write has been completed */
|
|
|
|
|
|
|
|
log_group_archive_completed_header_write(group, i, end_lsn);
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
fil_space_truncate_start(group->archive_space_id,
|
2006-08-29 11:30:31 +02:00
|
|
|
trunc_files * group->file_size);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fputs("Archiving writes completed\n", stderr);
|
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes an archiving i/o. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_archive_check_completion_low(void)
|
|
|
|
/*==================================*/
|
|
|
|
{
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
if (log_sys->n_pending_archive_ios == 0
|
2006-08-29 11:30:31 +02:00
|
|
|
&& log_sys->archiving_phase == LOG_ARCHIVE_READ) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fputs("Archiving read completed\n", stderr);
|
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
/* Archive buffer has now been read in: start archive writes */
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->archiving_phase = LOG_ARCHIVE_WRITE;
|
|
|
|
|
|
|
|
log_archive_groups();
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (log_sys->n_pending_archive_ios == 0
|
2006-08-29 11:30:31 +02:00
|
|
|
&& log_sys->archiving_phase == LOG_ARCHIVE_WRITE) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
log_archive_write_complete_groups();
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->archived_lsn = log_sys->next_archived_lsn;
|
|
|
|
|
|
|
|
rw_lock_x_unlock_gen(&(log_sys->archive_lock), LOG_ARCHIVE);
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Completes an archiving i/o. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_io_complete_archive(void)
|
|
|
|
/*=========================*/
|
|
|
|
{
|
|
|
|
log_group_t* group;
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
fil_flush(group->archive_space_id);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_enter(&(log_sys->mutex));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
ut_ad(log_sys->n_pending_archive_ios > 0);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->n_pending_archive_ios--;
|
|
|
|
|
|
|
|
log_archive_check_completion_low();
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->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 11:52:16 +02:00
|
|
|
/********************************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Starts an archiving operation.
|
|
|
|
@return TRUE if succeed, FALSE if an archiving operation was already running */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ibool
|
|
|
|
log_archive_do(
|
|
|
|
/*===========*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ibool sync, /*!< in: TRUE if synchronous operation is desired */
|
|
|
|
ulint* n_bytes)/*!< out: archive log buffer size, 0 if nothing to
|
2005-10-27 09:29:40 +02:00
|
|
|
archive */
|
|
|
|
{
|
2006-11-24 14:05:01 +01:00
|
|
|
ibool calc_new_limit;
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t start_lsn;
|
|
|
|
ib_uint64_t limit_lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
calc_new_limit = TRUE;
|
2006-02-23 20:25:29 +01:00
|
|
|
loop:
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
2007-05-06 14:28:05 +02:00
|
|
|
switch (log_sys->archiving_state) {
|
|
|
|
case LOG_ARCH_OFF:
|
|
|
|
arch_none:
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
*n_bytes = 0;
|
|
|
|
|
|
|
|
return(TRUE);
|
2007-05-06 14:28:05 +02:00
|
|
|
case LOG_ARCH_STOPPED:
|
|
|
|
case LOG_ARCH_STOPPING2:
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
os_event_wait(log_sys->archiving_on);
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
start_lsn = log_sys->archived_lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (calc_new_limit) {
|
2006-02-23 20:25:29 +01:00
|
|
|
ut_a(log_sys->archive_buf_size % OS_FILE_LOG_BLOCK_SIZE == 0);
|
2006-11-24 14:05:01 +01:00
|
|
|
limit_lsn = start_lsn + log_sys->archive_buf_size;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
*n_bytes = log_sys->archive_buf_size;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (limit_lsn >= log_sys->lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-11-30 10:23:47 +01:00
|
|
|
limit_lsn = ut_uint64_align_down(
|
2006-09-19 12:14:07 +02:00
|
|
|
log_sys->lsn, OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (log_sys->archived_lsn >= limit_lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2007-05-06 14:28:05 +02:00
|
|
|
goto arch_none;
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (log_sys->written_to_all_lsn < limit_lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_write_up_to(limit_lsn, LOG_WAIT_ALL_GROUPS, TRUE);
|
|
|
|
|
|
|
|
calc_new_limit = FALSE;
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (log_sys->n_pending_archive_ios > 0) {
|
|
|
|
/* An archiving operation is running */
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (sync) {
|
|
|
|
rw_lock_s_lock(&(log_sys->archive_lock));
|
|
|
|
rw_lock_s_unlock(&(log_sys->archive_lock));
|
|
|
|
}
|
|
|
|
|
|
|
|
*n_bytes = log_sys->archive_buf_size;
|
|
|
|
|
|
|
|
return(FALSE);
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
rw_lock_x_lock_gen(&(log_sys->archive_lock), LOG_ARCHIVE);
|
|
|
|
|
|
|
|
log_sys->archiving_phase = LOG_ARCHIVE_READ;
|
|
|
|
|
|
|
|
log_sys->next_archived_lsn = limit_lsn;
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr,
|
2006-11-24 14:05:01 +01:00
|
|
|
"Archiving from lsn %llu to lsn %llu\n",
|
|
|
|
log_sys->archived_lsn, limit_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
|
|
|
|
/* Read the log segment to the archive buffer */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_group_read_log_seg(LOG_ARCHIVE, log_sys->archive_buf,
|
2006-08-29 11:30:31 +02:00
|
|
|
UT_LIST_GET_FIRST(log_sys->log_groups),
|
|
|
|
start_lsn, limit_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (sync) {
|
|
|
|
rw_lock_s_lock(&(log_sys->archive_lock));
|
|
|
|
rw_lock_s_unlock(&(log_sys->archive_lock));
|
|
|
|
}
|
|
|
|
|
|
|
|
*n_bytes = log_sys->archive_buf_size;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
return(TRUE);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes the log contents to the archive at least up to the lsn when this
|
|
|
|
function was called. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_archive_all(void)
|
|
|
|
/*=================*/
|
|
|
|
{
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t present_lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
ulint dummy;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (log_sys->archiving_state == LOG_ARCH_OFF) {
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
present_lsn = log_sys->lsn;
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_pad_current_log_block();
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
for (;;) {
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (present_lsn <= log_sys->archived_lsn) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_archive_do(TRUE, &dummy);
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/*****************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Closes the possible open archive log file (for each group) the first group,
|
|
|
|
and if it was open, increments the group file count by 2, if desired. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_archive_close_groups(
|
|
|
|
/*=====================*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ibool increment_file_count) /*!< in: TRUE if we want to increment
|
2005-10-27 09:29:40 +02:00
|
|
|
the file count */
|
|
|
|
{
|
|
|
|
log_group_t* group;
|
|
|
|
ulint trunc_len;
|
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
if (log_sys->archiving_state == LOG_ARCH_OFF) {
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
group = UT_LIST_GET_FIRST(log_sys->log_groups);
|
|
|
|
|
|
|
|
trunc_len = UNIV_PAGE_SIZE
|
2006-02-23 20:25:29 +01:00
|
|
|
* fil_space_get_size(group->archive_space_id);
|
2005-10-27 09:29:40 +02:00
|
|
|
if (trunc_len > 0) {
|
|
|
|
ut_a(trunc_len == group->file_size);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
/* Write a notice to the headers of archived log
|
|
|
|
files that the file write has been completed */
|
|
|
|
|
2006-09-19 12:14:07 +02:00
|
|
|
log_group_archive_completed_header_write(
|
|
|
|
group, 0, log_sys->archived_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
fil_space_truncate_start(group->archive_space_id,
|
2006-08-29 11:30:31 +02:00
|
|
|
trunc_len);
|
2005-10-27 09:29:40 +02:00
|
|
|
if (increment_file_count) {
|
|
|
|
group->archived_offset = 0;
|
|
|
|
group->archived_file_no += 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
|
|
if (log_debug_writes) {
|
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"Incrementing arch file no to %lu"
|
|
|
|
" in log group %lu\n",
|
2005-10-27 09:29:40 +02:00
|
|
|
(ulong) group->archived_file_no + 2,
|
2006-02-23 20:25:29 +01:00
|
|
|
(ulong) group->id);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
#endif /* UNIV_DEBUG */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Writes the log contents to the archive up to the lsn when this function was
|
|
|
|
called, and stops the archiving. When archiving is started again, the archived
|
|
|
|
log file numbers start from 2 higher, so that the archiving will not write
|
2009-05-25 08:46:10 +02:00
|
|
|
again to the archived log files which exist when this function returns.
|
|
|
|
@return DB_SUCCESS or DB_ERROR */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint
|
|
|
|
log_archive_stop(void)
|
|
|
|
/*==================*/
|
|
|
|
{
|
|
|
|
ibool success;
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (log_sys->archiving_state != LOG_ARCH_ON) {
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return(DB_ERROR);
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->archiving_state = LOG_ARCH_STOPPING;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_archive_all();
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_sys->archiving_state = LOG_ARCH_STOPPING2;
|
|
|
|
os_event_reset(log_sys->archiving_on);
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
/* Wait for a possible archiving operation to end */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
rw_lock_s_lock(&(log_sys->archive_lock));
|
|
|
|
rw_lock_s_unlock(&(log_sys->archive_lock));
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
/* Close all archived log files, incrementing the file count by 2,
|
|
|
|
if appropriate */
|
|
|
|
|
|
|
|
log_archive_close_groups(TRUE);
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
/* Make a checkpoint, so that if recovery is needed, the file numbers
|
|
|
|
of new archived log files will start from the right value */
|
|
|
|
|
|
|
|
success = FALSE;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
while (!success) {
|
|
|
|
success = log_checkpoint(TRUE, TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_sys->archiving_state = LOG_ARCH_STOPPED;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Starts again archiving which has been stopped.
|
|
|
|
@return DB_SUCCESS or DB_ERROR */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint
|
|
|
|
log_archive_start(void)
|
|
|
|
/*===================*/
|
|
|
|
{
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (log_sys->archiving_state != LOG_ARCH_STOPPED) {
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return(DB_ERROR);
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
log_sys->archiving_state = LOG_ARCH_ON;
|
|
|
|
|
|
|
|
os_event_set(log_sys->archiving_on);
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Stop archiving the log so that a gap may occur in the archived log files.
|
|
|
|
@return DB_SUCCESS or DB_ERROR */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint
|
|
|
|
log_archive_noarchivelog(void)
|
|
|
|
/*==========================*/
|
|
|
|
{
|
|
|
|
loop:
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (log_sys->archiving_state == LOG_ARCH_STOPPED
|
2006-08-29 11:30:31 +02:00
|
|
|
|| log_sys->archiving_state == LOG_ARCH_OFF) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->archiving_state = LOG_ARCH_OFF;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
os_event_set(log_sys->archiving_on);
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return(DB_SUCCESS);
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
log_archive_stop();
|
|
|
|
|
|
|
|
os_thread_sleep(500000);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
|
|
|
goto loop;
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Start archiving the log so that a gap may occur in the archived log files.
|
|
|
|
@return DB_SUCCESS or DB_ERROR */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ulint
|
|
|
|
log_archive_archivelog(void)
|
|
|
|
/*========================*/
|
|
|
|
{
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (log_sys->archiving_state == LOG_ARCH_OFF) {
|
|
|
|
|
|
|
|
log_sys->archiving_state = LOG_ARCH_ON;
|
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
log_sys->archived_lsn
|
2006-11-30 10:23:47 +01:00
|
|
|
= ut_uint64_align_down(log_sys->lsn,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE);
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return(DB_SUCCESS);
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
return(DB_ERROR);
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Tries to establish a big enough margin of free space in the log groups, such
|
|
|
|
that a new log entry can be catenated without an immediate need for
|
|
|
|
archiving. */
|
|
|
|
static
|
|
|
|
void
|
|
|
|
log_archive_margin(void)
|
|
|
|
/*====================*/
|
|
|
|
{
|
|
|
|
log_t* log = log_sys;
|
|
|
|
ulint age;
|
|
|
|
ibool sync;
|
|
|
|
ulint dummy;
|
|
|
|
loop:
|
|
|
|
mutex_enter(&(log->mutex));
|
|
|
|
|
|
|
|
if (log->archiving_state == LOG_ARCH_OFF) {
|
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
age = log->lsn - log->archived_lsn;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (age > log->max_archived_lsn_age) {
|
|
|
|
|
|
|
|
/* An archiving is urgent: we have to do synchronous i/o */
|
|
|
|
|
|
|
|
sync = TRUE;
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
} else if (age > log->max_archived_lsn_age_async) {
|
|
|
|
|
|
|
|
/* An archiving is not urgent: we do asynchronous i/o */
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
sync = FALSE;
|
|
|
|
} else {
|
|
|
|
/* No archiving required yet */
|
|
|
|
|
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
mutex_exit(&(log->mutex));
|
|
|
|
|
|
|
|
log_archive_do(sync, &dummy);
|
|
|
|
|
|
|
|
if (sync == TRUE) {
|
|
|
|
/* Check again that enough was written to the archive */
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/********************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Checks that there is enough free space in the log to start a new query step.
|
|
|
|
Flushes the log buffer or makes a new checkpoint if necessary. NOTE: this
|
|
|
|
function may only be called if the calling thread owns no synchronization
|
|
|
|
objects! */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_check_margins(void)
|
|
|
|
/*===================*/
|
|
|
|
{
|
|
|
|
loop:
|
|
|
|
log_flush_margin();
|
|
|
|
|
|
|
|
log_checkpoint_margin();
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
log_archive_margin();
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
if (log_sys->check_flush_or_checkpoint) {
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->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 11:52:16 +02:00
|
|
|
/****************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Makes a checkpoint at the latest lsn and writes it to first page of each
|
|
|
|
data file in the database, so that we know that the file spaces contain
|
|
|
|
all modifications up to that lsn. This can only be called at database
|
|
|
|
shutdown. This function also writes all log in log files to the log archive. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
logs_empty_and_mark_files_at_shutdown(void)
|
|
|
|
/*=======================================*/
|
|
|
|
{
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
ulint arch_log_no;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (srv_print_verbose_log) {
|
2006-02-23 20:25:29 +01:00
|
|
|
ut_print_timestamp(stderr);
|
|
|
|
fprintf(stderr, " InnoDB: Starting shutdown...\n");
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
/* Wait until the master thread and all other operations are idle: our
|
|
|
|
algorithm only works if the server is idle at shutdown */
|
|
|
|
|
|
|
|
srv_shutdown_state = SRV_SHUTDOWN_CLEANUP;
|
|
|
|
loop:
|
|
|
|
os_thread_sleep(100000);
|
|
|
|
|
|
|
|
mutex_enter(&kernel_mutex);
|
|
|
|
|
2007-05-29 10:48:16 +02:00
|
|
|
/* We need the monitor threads to stop before we proceed with a
|
|
|
|
normal shutdown. In case of very fast shutdown, however, we can
|
|
|
|
proceed without waiting for monitor threads. */
|
|
|
|
|
|
|
|
if (srv_fast_shutdown < 2
|
|
|
|
&& (srv_error_monitor_active
|
|
|
|
|| srv_lock_timeout_and_monitor_active)) {
|
|
|
|
|
|
|
|
mutex_exit(&kernel_mutex);
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Check that there are no longer transactions. We need this wait even
|
|
|
|
for the 'very fast' shutdown, because the InnoDB layer may have
|
|
|
|
committed or prepared transactions and we don't want to lose them. */
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
if (trx_n_mysql_transactions > 0
|
2006-08-29 11:30:31 +02:00
|
|
|
|| UT_LIST_GET_LEN(trx_sys->trx_list) > 0) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&kernel_mutex);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
if (srv_fast_shutdown == 2) {
|
|
|
|
/* In this fastest shutdown we do not flush the buffer pool:
|
|
|
|
it is essentially a 'crash' of the InnoDB server. Make sure
|
|
|
|
that the log is all flushed to disk, so that we can recover
|
|
|
|
all committed transactions in a crash recovery. We must not
|
|
|
|
write the lsn stamps to the data files, since at a startup
|
|
|
|
InnoDB deduces from the stamps if the previous shutdown was
|
|
|
|
clean. */
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
log_buffer_flush_to_disk();
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
return; /* We SKIP ALL THE REST !! */
|
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
/* Check that the master thread is suspended */
|
|
|
|
|
|
|
|
if (srv_n_threads_active[SRV_MASTER] != 0) {
|
|
|
|
|
|
|
|
mutex_exit(&kernel_mutex);
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
mutex_exit(&kernel_mutex);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
if (log_sys->n_pending_checkpoint_writes
|
2005-10-27 09:29:40 +02:00
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
2006-08-29 11:30:31 +02:00
|
|
|
|| log_sys->n_pending_archive_ios
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
2006-08-29 11:30:31 +02:00
|
|
|
|| log_sys->n_pending_writes) {
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
goto loop;
|
2006-02-23 20:25:29 +01:00
|
|
|
}
|
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
if (!buf_pool_check_no_pending_io()) {
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
log_archive_all();
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
log_make_checkpoint_at(IB_ULONGLONG_MAX, TRUE);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
lsn = log_sys->lsn;
|
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (lsn != log_sys->last_checkpoint_lsn
|
2005-10-27 09:29:40 +02:00
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
2006-08-29 11:30:31 +02:00
|
|
|
|| (srv_log_archive_on
|
2006-11-24 14:05:01 +01:00
|
|
|
&& lsn != log_sys->archived_lsn + LOG_BLOCK_HDR_SIZE)
|
2005-10-27 09:29:40 +02:00
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
2006-08-29 11:30:31 +02:00
|
|
|
) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
mutex_exit(&(log_sys->mutex));
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
goto loop;
|
|
|
|
}
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
arch_log_no = 0;
|
|
|
|
|
|
|
|
#ifdef UNIV_LOG_ARCHIVE
|
|
|
|
UT_LIST_GET_FIRST(log_sys->log_groups)->archived_file_no;
|
|
|
|
|
|
|
|
if (0 == UT_LIST_GET_FIRST(log_sys->log_groups)->archived_offset) {
|
|
|
|
|
|
|
|
arch_log_no--;
|
|
|
|
}
|
|
|
|
|
|
|
|
log_archive_close_groups(TRUE);
|
|
|
|
#endif /* UNIV_LOG_ARCHIVE */
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
mutex_enter(&kernel_mutex);
|
|
|
|
/* Check that the master thread has stayed suspended */
|
|
|
|
if (srv_n_threads_active[SRV_MASTER] != 0) {
|
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"InnoDB: Warning: the master thread woke up"
|
|
|
|
" during shutdown\n");
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&kernel_mutex);
|
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
mutex_exit(&kernel_mutex);
|
|
|
|
|
|
|
|
fil_flush_file_spaces(FIL_TABLESPACE);
|
|
|
|
fil_flush_file_spaces(FIL_LOG);
|
|
|
|
|
|
|
|
/* The call fil_write_flushed_lsn_to_data_files() will pass the buffer
|
|
|
|
pool: therefore it is essential that the buffer pool has been
|
|
|
|
completely flushed to disk! (We do not call fil_write... if the
|
|
|
|
'very fast' shutdown is enabled.) */
|
|
|
|
|
2006-02-23 20:25:29 +01:00
|
|
|
if (!buf_all_freed()) {
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
goto loop;
|
|
|
|
}
|
|
|
|
|
|
|
|
srv_shutdown_state = SRV_SHUTDOWN_LAST_PHASE;
|
|
|
|
|
|
|
|
/* Make some checks that the server really is quiet */
|
|
|
|
ut_a(srv_n_threads_active[SRV_MASTER] == 0);
|
2006-02-23 20:25:29 +01:00
|
|
|
ut_a(buf_all_freed());
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(lsn == log_sys->lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
if (lsn < srv_start_lsn) {
|
2005-10-27 09:29:40 +02:00
|
|
|
fprintf(stderr,
|
2006-08-29 11:30:31 +02:00
|
|
|
"InnoDB: Error: log sequence number"
|
2006-11-24 14:05:01 +01:00
|
|
|
" at shutdown %llu\n"
|
|
|
|
"InnoDB: is lower than at startup %llu!\n",
|
|
|
|
lsn, srv_start_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
srv_shutdown_lsn = lsn;
|
|
|
|
|
2006-08-29 11:30:31 +02:00
|
|
|
fil_write_flushed_lsn_to_data_files(lsn, arch_log_no);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
fil_flush_file_spaces(FIL_TABLESPACE);
|
|
|
|
|
|
|
|
fil_close_all_files();
|
|
|
|
|
|
|
|
/* Make some checks that the server really is quiet */
|
|
|
|
ut_a(srv_n_threads_active[SRV_MASTER] == 0);
|
2006-02-23 20:25:29 +01:00
|
|
|
ut_a(buf_all_freed());
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(lsn == log_sys->lsn);
|
2005-10-27 09:29:40 +02: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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Checks by parsing that the catenated log segment for a single mtr is
|
|
|
|
consistent. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ibool
|
|
|
|
log_check_log_recs(
|
|
|
|
/*===============*/
|
2009-05-25 08:46:10 +02:00
|
|
|
byte* buf, /*!< in: pointer to the start of
|
2006-11-24 14:05:01 +01:00
|
|
|
the log segment in the
|
|
|
|
log_sys->buf log buffer */
|
2009-05-25 08:46:10 +02:00
|
|
|
ulint len, /*!< in: segment length in bytes */
|
|
|
|
ib_uint64_t buf_start_lsn) /*!< in: buffer start lsn */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
2006-11-29 15:52:16 +01:00
|
|
|
ib_uint64_t contiguous_lsn;
|
|
|
|
ib_uint64_t scanned_lsn;
|
2006-11-24 14:05:01 +01:00
|
|
|
byte* start;
|
|
|
|
byte* end;
|
|
|
|
byte* buf1;
|
|
|
|
byte* scan_buf;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
ut_ad(mutex_own(&(log_sys->mutex)));
|
|
|
|
|
|
|
|
if (len == 0) {
|
|
|
|
|
|
|
|
return(TRUE);
|
|
|
|
}
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
start = ut_align_down(buf, OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
end = ut_align(buf + len, OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
|
|
|
|
buf1 = mem_alloc((end - start) + OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
scan_buf = ut_align(buf1, OS_FILE_LOG_BLOCK_SIZE);
|
|
|
|
|
|
|
|
ut_memcpy(scan_buf, start, end - start);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
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 09:32:21 +01:00
|
|
|
recv_scan_log_recs((buf_pool->curr_size
|
2006-08-29 11:30:31 +02:00
|
|
|
- recv_n_pool_free_frames) * UNIV_PAGE_SIZE,
|
|
|
|
FALSE, scan_buf, end - start,
|
2006-11-30 10:23:47 +01:00
|
|
|
ut_uint64_align_down(buf_start_lsn,
|
|
|
|
OS_FILE_LOG_BLOCK_SIZE),
|
2006-08-29 11:30:31 +02:00
|
|
|
&contiguous_lsn, &scanned_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
2006-11-24 14:05:01 +01:00
|
|
|
ut_a(scanned_lsn == buf_start_lsn + len);
|
|
|
|
ut_a(recv_sys->recovered_lsn == scanned_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mem_free(buf1);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
return(TRUE);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2009-05-25 08:46:10 +02:00
|
|
|
Peeks the current lsn.
|
|
|
|
@return TRUE if success, FALSE if could not get the log system mutex */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
ibool
|
|
|
|
log_peek_lsn(
|
|
|
|
/*=========*/
|
2009-05-25 08:46:10 +02:00
|
|
|
ib_uint64_t* lsn) /*!< out: if returns TRUE, current lsn is here */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
2007-02-02 12:31:29 +01:00
|
|
|
if (0 == mutex_enter_nowait(&(log_sys->mutex))) {
|
2006-02-23 20:25:29 +01:00
|
|
|
*lsn = log_sys->lsn;
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
mutex_exit(&(log_sys->mutex));
|
|
|
|
|
|
|
|
return(TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
return(FALSE);
|
|
|
|
}
|
|
|
|
|
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 11:52:16 +02:00
|
|
|
/******************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Prints info of the log. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_print(
|
|
|
|
/*======*/
|
2009-05-25 08:46:10 +02:00
|
|
|
FILE* file) /*!< in: file where to print */
|
2005-10-27 09:29:40 +02:00
|
|
|
{
|
|
|
|
double time_elapsed;
|
|
|
|
time_t current_time;
|
|
|
|
|
|
|
|
mutex_enter(&(log_sys->mutex));
|
|
|
|
|
|
|
|
fprintf(file,
|
2006-11-24 14:05:01 +01:00
|
|
|
"Log sequence number %llu\n"
|
|
|
|
"Log flushed up to %llu\n"
|
|
|
|
"Last checkpoint at %llu\n",
|
|
|
|
log_sys->lsn,
|
|
|
|
log_sys->flushed_to_disk_lsn,
|
|
|
|
log_sys->last_checkpoint_lsn);
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
current_time = time(NULL);
|
2006-02-23 20:25:29 +01:00
|
|
|
|
2005-10-27 09:29:40 +02:00
|
|
|
time_elapsed = 0.001 + difftime(current_time,
|
|
|
|
log_sys->last_printout_time);
|
|
|
|
fprintf(file,
|
2006-08-29 11:30:31 +02:00
|
|
|
"%lu pending log writes, %lu pending chkp writes\n"
|
|
|
|
"%lu log i/o's done, %.2f log i/o's/second\n",
|
|
|
|
(ulong) log_sys->n_pending_writes,
|
|
|
|
(ulong) log_sys->n_pending_checkpoint_writes,
|
|
|
|
(ulong) log_sys->n_log_ios,
|
|
|
|
((log_sys->n_log_ios - log_sys->n_log_ios_old)
|
|
|
|
/ time_elapsed));
|
2005-10-27 09:29:40 +02:00
|
|
|
|
|
|
|
log_sys->n_log_ios_old = log_sys->n_log_ios;
|
|
|
|
log_sys->last_printout_time = current_time;
|
|
|
|
|
|
|
|
mutex_exit(&(log_sys->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 11:52:16 +02:00
|
|
|
/**********************************************************************//**
|
2005-10-27 09:29:40 +02:00
|
|
|
Refreshes the statistics used to print per-second averages. */
|
2008-02-06 15:17:36 +01:00
|
|
|
UNIV_INTERN
|
2005-10-27 09:29:40 +02:00
|
|
|
void
|
|
|
|
log_refresh_stats(void)
|
|
|
|
/*===================*/
|
|
|
|
{
|
|
|
|
log_sys->n_log_ios_old = log_sys->n_log_ios;
|
|
|
|
log_sys->last_printout_time = time(NULL);
|
|
|
|
}
|
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 09:32:21 +01:00
|
|
|
#endif /* !UNIV_HOTBACKUP */
|