Commit graph

36 commits

Author SHA1 Message Date
inaam
8a3ea85c92 branches/innodb+: Merge revisions 5144:5524 from branches/zip
------------------------------------------------------------------------
  r5147 | marko | 2009-05-27 06:55:14 -0400 (Wed, 27 May 2009) | 1 line
  
  branches/zip: ibuf0ibuf.c: Improve a comment.
  ------------------------------------------------------------------------
  r5149 | marko | 2009-05-27 07:46:42 -0400 (Wed, 27 May 2009) | 34 lines
  
  branches/zip: Merge revisions 4994:5148 from branches/5.1:
  
    ------------------------------------------------------------------------
    r5126 | vasil | 2009-05-26 16:57:12 +0300 (Tue, 26 May 2009) | 9 lines
  
    branches/5.1:
  
    Preparation for the fix of
    Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages
  
    Non-functional change: move FSP_* macros from fsp0fsp.h to a new file
    fsp0types.h. This is needed in order to be able to use FSP_EXTENT_SIZE
    in mtr0log.ic.
    ------------------------------------------------------------------------
    r5127 | vasil | 2009-05-26 17:05:43 +0300 (Tue, 26 May 2009) | 9 lines
  
    branches/5.1:
  
    Preparation for the fix of
    Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages
  
    Do not include unnecessary headers mtr0log.h and fut0lst.h in trx0sys.h
    and include fsp0fsp.h just before it is needed. This is needed in order
    to be able to use TRX_SYS_SPACE in mtr0log.ic.
    ------------------------------------------------------------------------
    r5128 | vasil | 2009-05-26 17:26:37 +0300 (Tue, 26 May 2009) | 7 lines
  
    branches/5.1:
  
    Fix Bug#45097 Hang during recovery, redo logs for doublewrite buffer pages
  
    Do not write redo log for the pages in the doublewrite buffer. Also, do not
    make a dummy change to the page because this is not needed.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r5169 | marko | 2009-05-28 03:21:55 -0400 (Thu, 28 May 2009) | 1 line
  
  branches/zip: mtr0mtr.h: Add Doxygen comments for the redo log entry types.
  ------------------------------------------------------------------------
  r5176 | marko | 2009-05-28 07:14:02 -0400 (Thu, 28 May 2009) | 1 line
  
  branches/zip: Correct a debug assertion that was added in r5125.
  ------------------------------------------------------------------------
  r5201 | marko | 2009-06-01 06:35:25 -0400 (Mon, 01 Jun 2009) | 2 lines
  
  branches/zip: Clean up some comments.
  Make the rec parameter of mlog_open_and_write_index() const.
  ------------------------------------------------------------------------
  r5234 | marko | 2009-06-03 08:26:41 -0400 (Wed, 03 Jun 2009) | 44 lines
  
  branches/zip: Merge revisions 5148:5233 from branches/5.1:
  
    ------------------------------------------------------------------------
    r5150 | vasil | 2009-05-27 18:56:03 +0300 (Wed, 27 May 2009) | 4 lines
  
    branches/5.1:
  
    Whitespace fixup.
    ------------------------------------------------------------------------
    r5191 | vasil | 2009-05-30 17:46:05 +0300 (Sat, 30 May 2009) | 19 lines
  
    branches/5.1:
  
    Merge a change from MySQL (this fixes the failing innodb_mysql test):
  
      ------------------------------------------------------------
      revno: 1810.3894.10
      committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      branch nick: mysql-5.0-bugteam
      timestamp: Tue 2009-05-19 11:32:21 +0500
      message:
        Bug#39793 Foreign keys not constructed when column has a '#' in a comment or default value
        Internal InnoDN FK parser does not recognize '\'' as quotation symbol.
        Suggested fix is to add '\'' symbol check for quotation condition
        (dict_strip_comments() function).
      modified:
        innobase/dict/dict0dict.c
        mysql-test/r/innodb_mysql.result
        mysql-test/t/innodb_mysql.test
    ------------------------------------------------------------------------
    r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines
  
    branches/5.1: Merge the test case from r5232 from branches/5.0:
      ------------------------------------------------------------------------
      r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines
  
      branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565
      (Update Query Results in "1 Row Affected" But Should Be "Zero Rows").
  
      Also, add a test case for Bug #40565.
  
      rb://128 approved by Heikki Tuuri
      ------------------------------------------------------------------------
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r5250 | marko | 2009-06-04 02:58:23 -0400 (Thu, 04 Jun 2009) | 1 line
  
  branches/zip: Add Doxygen comments to the rest of buf0*.
  ------------------------------------------------------------------------
  r5251 | marko | 2009-06-04 02:59:51 -0400 (Thu, 04 Jun 2009) | 1 line
  
  branches/zip: Replace <= in a function comment.
  ------------------------------------------------------------------------
  r5253 | marko | 2009-06-04 06:37:35 -0400 (Thu, 04 Jun 2009) | 1 line
  
  branches/zip: Add missing Doxygen comments for page0zip.
  ------------------------------------------------------------------------
  r5261 | vasil | 2009-06-05 11:13:31 -0400 (Fri, 05 Jun 2009) | 15 lines
  
  branches/zip:
  
  Fix Mantis Issue#244 fix bug in linear read ahead (no check on access pattern)
  
  The changes are:
  
  1) Take into account access pattern when deciding whether or not to do linear
    read ahead.
  2) Expose a knob innodb_read_ahead_factor = [0-64] default (8), dynamic,
    global to control linear read ahead behvior
  3) Disable random read ahead. Keep the code for now.
  
  Submitted by:	Inaam (rb://122)
  Approved by:	Heikki (rb://122)
  
  ------------------------------------------------------------------------
  r5262 | vasil | 2009-06-05 12:04:25 -0400 (Fri, 05 Jun 2009) | 22 lines
  
  branches/zip:
  
  Enable functionality to have multiple background io helper threads.
  This patch is based on percona contributions.
  
  More details about this patch will be written at:
  https://svn.innodb.com/innobase/MultipleBackgroundThreads
  
  The patch essentially does the following:
  
  expose following knobs:
  innodb_read_io_threads = [1 - 64] default 1
  innodb_write_io_threads = [1 - 64] default 1
  
  deprecate innodb_file_io_threads (this parameter was relevant only on windows)
  
  Internally it allows multiple segments for read and write IO request arrays
  where one thread works on one segement.
  
  Submitted by:	Inaam (rb://124)
  Approved by:	Heikki (rb://124)
  
  ------------------------------------------------------------------------
  r5263 | vasil | 2009-06-05 12:19:37 -0400 (Fri, 05 Jun 2009) | 4 lines
  
  branches/zip:
  
  Whitespace cleanup.
  
  ------------------------------------------------------------------------
  r5264 | vasil | 2009-06-05 12:26:58 -0400 (Fri, 05 Jun 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entry for r5261.
  
  ------------------------------------------------------------------------
  r5265 | vasil | 2009-06-05 12:34:11 -0400 (Fri, 05 Jun 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entry for r5262.
  
  ------------------------------------------------------------------------
  r5268 | inaam | 2009-06-08 12:18:21 -0400 (Mon, 08 Jun 2009) | 7 lines
  
  branches/zip
  
  Non functional change:
  
  Added legal notices acknowledging percona contribution to the multiple
  IO helper threads patch i.e.: r5262
  
  ------------------------------------------------------------------------
  r5283 | inaam | 2009-06-09 13:46:29 -0400 (Tue, 09 Jun 2009) | 9 lines
  
  branches/zip
  
  rb://130
  
  Enable Group Commit functionality that was broken in 5.0 when
  distributed transactions were introduced.
  
  Reviewed by: Heikki
  
  ------------------------------------------------------------------------
  r5319 | marko | 2009-06-11 04:40:33 -0400 (Thu, 11 Jun 2009) | 3 lines
  
  branches/zip: Declare os_thread_id_t as unsigned long,
  because ulint is wrong on Win64.
  Pointed out by Vladislav Vaintroub <wlad@sun.com>.
  ------------------------------------------------------------------------
  r5320 | inaam | 2009-06-11 09:15:41 -0400 (Thu, 11 Jun 2009) | 14 lines
  
  branches/zip	rb://131
  
  This patch changes the following defaults:
  
  max_dirty_pages_pct: default from 90 to 75. max allowed from 100 to 99
  additional_mem_pool_size: default from 1 to 8 MB
  buffer_pool_size: default from 8 to 128 MB
  log_buffer_size: default from 1 to 8 MB
  read_io_threads/write_io_threads: default from 1 to 4
  
  The log file sizes are untouched because of upgrade issues
  
  Reviewed by: Heikki
  
  ------------------------------------------------------------------------
  r5330 | marko | 2009-06-16 04:08:59 -0400 (Tue, 16 Jun 2009) | 2 lines
  
  branches/zip: buf_page_get_gen(): Reduce mutex holding time by adjusting
  buf_pool->n_pend_unzip while only holding buf_pool_mutex.
  ------------------------------------------------------------------------
  r5331 | marko | 2009-06-16 05:00:48 -0400 (Tue, 16 Jun 2009) | 2 lines
  
  branches/zip: buf_page_get_zip(): Eliminate a buf_page_get_mutex() call.
  The function must switch on the block state anyway.
  ------------------------------------------------------------------------
  r5332 | vasil | 2009-06-16 05:03:27 -0400 (Tue, 16 Jun 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entries for r5283 and r5320.
  
  ------------------------------------------------------------------------
  r5333 | marko | 2009-06-16 05:27:46 -0400 (Tue, 16 Jun 2009) | 1 line
  
  branches/zip: buf_page_io_query(): Remove unused function.
  ------------------------------------------------------------------------
  r5335 | marko | 2009-06-16 09:23:10 -0400 (Tue, 16 Jun 2009) | 2 lines
  
  branches/zip: innodb.test: Adjust the tolerance of
  innodb_buffer_pool_pages_total for r5320.
  ------------------------------------------------------------------------
  r5342 | marko | 2009-06-17 06:15:32 -0400 (Wed, 17 Jun 2009) | 60 lines
  
  branches/zip: Merge revisions 5233:5341 from branches/5.1:
  
    ------------------------------------------------------------------------
    r5233 | marko | 2009-06-03 15:12:44 +0300 (Wed, 03 Jun 2009) | 11 lines
  
    branches/5.1: Merge the test case from r5232 from branches/5.0:
      ------------------------------------------------------------------------
      r5232 | marko | 2009-06-03 14:31:04 +0300 (Wed, 03 Jun 2009) | 21 lines
  
      branches/5.0: Merge r3590 from branches/5.1 in order to fix Bug #40565
      (Update Query Results in "1 Row Affected" But Should Be "Zero Rows").
  
      Also, add a test case for Bug #40565.
  
      rb://128 approved by Heikki Tuuri
      ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines
  
    branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before
    the bug fix we would assert on missing autoinc columns. With this fix we allow
    MySQL to open the table but set the next autoinc value for the column to the
    MAX value. This effectively disables the next value generation. INSERTs will
    fail with a generic AUTOINC failure. However, the user should be able to
    read/dump the table, set the column values explicitly, use ALTER TABLE to
    set the next autoinc value and/or sync the two data dictionaries to resume
    normal operations.
  
    Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the
    index (PRIMARY)
  
    rb://118
    ------------------------------------------------------------------------
    r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines
  
    branches/5.1: The version of the result file checked in was broken in r5243.
    ------------------------------------------------------------------------
    r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines
  
    branches/5.1:
  
    Remove the word "Error" from the printout because the mysqltest suite
    interprets it as an error and thus the innodb-autoinc test fails.
  
    Approved by:	Sunny (via IM)
    ------------------------------------------------------------------------
    r5339 | marko | 2009-06-17 11:01:37 +0300 (Wed, 17 Jun 2009) | 2 lines
  
    branches/5.1: Add missing #include "mtr0log.h" so that the code compiles
    with -DUNIV_MUST_NOT_INLINE.
  
    (null merge; this had already been committed in branches/zip)
    ------------------------------------------------------------------------
    r5340 | marko | 2009-06-17 12:11:49 +0300 (Wed, 17 Jun 2009) | 4 lines
  
    branches/5.1: row_unlock_for_mysql(): When the clustered index is unknown,
    refuse to unlock the record.
    (Bug #45357, caused by the fix of Bug #39320).
    rb://132 approved by Sunny Bains.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r5343 | vasil | 2009-06-17 08:56:12 -0400 (Wed, 17 Jun 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entry for r5342.
  
  ------------------------------------------------------------------------
  r5344 | marko | 2009-06-17 09:03:45 -0400 (Wed, 17 Jun 2009) | 1 line
  
  branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug #45426)
  ------------------------------------------------------------------------
  r5391 | marko | 2009-06-22 05:31:35 -0400 (Mon, 22 Jun 2009) | 2 lines
  
  branches/zip: buf_page_get_zip(): Fix a bogus warning about
  block_mutex being possibly uninitialized.
  ------------------------------------------------------------------------
  r5392 | marko | 2009-06-22 07:58:20 -0400 (Mon, 22 Jun 2009) | 4 lines
  
  branches/zip: ha_innobase::check_if_incompatible_data(): When
  ROW_FORMAT=DEFAULT, do not compare to get_row_type().
  Without this change, fast index creation will be disabled
  in recent versions of MySQL 5.1.
  ------------------------------------------------------------------------
  r5393 | pekka | 2009-06-22 09:27:55 -0400 (Mon, 22 Jun 2009) | 4 lines
  
  branches/zip: Minor changes for Hot Backup to build correctly. (The
  code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */).
  This change should not affect !UNIV_HOTBACKUP build.
  
  ------------------------------------------------------------------------
  r5394 | pekka | 2009-06-22 09:46:34 -0400 (Mon, 22 Jun 2009) | 4 lines
  
  branches/zip: Add functions for checking the format of tablespaces 
  for Hot Backup build (UNIV_HOTBACKUP defined).
  This change should not affect !UNIV_HOTBACKUP build.
  
  ------------------------------------------------------------------------
  r5397 | calvin | 2009-06-23 16:59:42 -0400 (Tue, 23 Jun 2009) | 7 lines
  
  branches/zip: change the header file path.
  
  Change the header file path from ../storage/innobase/include/
  to ../include/. In the planned 5.1 + plugin release, the source
  directory of the plugin will not be in storage/innobase.
  
  Approved by: Heikki (IM)
  ------------------------------------------------------------------------
  r5407 | calvin | 2009-06-24 09:51:08 -0400 (Wed, 24 Jun 2009) | 4 lines
  
  branches/zip: remove relative path of header files.
  
  Suggested by Marko.
  
  ------------------------------------------------------------------------
  r5412 | marko | 2009-06-25 06:27:08 -0400 (Thu, 25 Jun 2009) | 1 line
  
  branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue #290.
  ------------------------------------------------------------------------
  r5415 | marko | 2009-06-25 06:45:57 -0400 (Thu, 25 Jun 2009) | 3 lines
  
  branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch.
  This addresses Bug #44571 but does not fix it.
  rb://135 approved by Sunny Bains.
  ------------------------------------------------------------------------
  r5417 | marko | 2009-06-25 08:20:56 -0400 (Thu, 25 Jun 2009) | 1 line
  
  branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment.
  ------------------------------------------------------------------------
  r5418 | marko | 2009-06-25 08:55:52 -0400 (Thu, 25 Jun 2009) | 5 lines
  
  branches/zip: Fix a race condition caused by
  SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749)
  When innodb_commit_concurrency is initially set nonzero,
  DEFAULT would change it back to 0, triggering Bug #42101.
  rb://139 approved by Heikki Tuuri.
  ------------------------------------------------------------------------
  r5423 | calvin | 2009-06-26 16:52:52 -0400 (Fri, 26 Jun 2009) | 2 lines
  
  branches/zip: Fix typos.
  
  ------------------------------------------------------------------------
  r5425 | marko | 2009-06-29 04:52:30 -0400 (Mon, 29 Jun 2009) | 4 lines
  
  branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index():
  Start prebuilt->trx before locking the table.  This should fix Issue #293
  and could fix Issue #229.
  Approved by Sunny (over IM).
  ------------------------------------------------------------------------
  r5426 | marko | 2009-06-29 05:24:27 -0400 (Mon, 29 Jun 2009) | 3 lines
  
  branches/zip: buf_page_get_gen(): Fix a race condition when reading
  buf_fix_count.  This could explain Issue #156.
  Tested by Michael.
  ------------------------------------------------------------------------
  r5427 | marko | 2009-06-29 05:54:53 -0400 (Mon, 29 Jun 2009) | 5 lines
  
  branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages():
  Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED).
  buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)).
  
  Issue #289, rb://136 approved by Sunny Bains
  ------------------------------------------------------------------------
  r5428 | marko | 2009-06-29 07:06:29 -0400 (Mon, 29 Jun 2009) | 2 lines
  
  branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast.
  Do not do arithmetics on void pointers.
  ------------------------------------------------------------------------
  r5429 | marko | 2009-06-29 09:49:54 -0400 (Mon, 29 Jun 2009) | 13 lines
  
  branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT
  or SET GLOBAL innodb_file_format_check=DEFAULT.
  
  innodb_file_format.test: New test for innodb_file_format and
  innodb_file_format_check.
  
  innodb_file_format_name_validate(): Store the string in *save.
  innodb_file_format_name_update(): Check the string again.
  
  innodb_file_format_check_validate(): Store the string in *save.
  innodb_file_format_check_update(): Check the string again.
  
  Issue #282, rb://140 approved by Heikki Tuuri
  ------------------------------------------------------------------------
  r5430 | marko | 2009-06-29 09:58:07 -0400 (Mon, 29 Jun 2009) | 2 lines
  
  branches/zip: lock_rec_validate_page(): Add another assertion
  to track down Issue #289.
  ------------------------------------------------------------------------
  r5431 | marko | 2009-06-29 09:58:40 -0400 (Mon, 29 Jun 2009) | 1 line
  
  branches/zip: Revert an accidentally made change in r5430 to univ.i.
  ------------------------------------------------------------------------
  r5437 | marko | 2009-06-30 05:10:01 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: ibuf_dummy_index_free(): Beautify the comment.
  ------------------------------------------------------------------------
  r5438 | marko | 2009-06-30 05:10:32 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: fseg_free(): Remove this unused function.
  ------------------------------------------------------------------------
  r5439 | marko | 2009-06-30 05:15:22 -0400 (Tue, 30 Jun 2009) | 2 lines
  
  branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG.
  This function is unused, but it could turn out to be a useful debugging aid.
  ------------------------------------------------------------------------
  r5441 | marko | 2009-06-30 06:30:14 -0400 (Tue, 30 Jun 2009) | 2 lines
  
  branches/zip: ha_delete(): Remove this unused function that was
  very similar to ha_search_and_delete_if_found().
  ------------------------------------------------------------------------
  r5442 | marko | 2009-06-30 06:45:41 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove.
  ------------------------------------------------------------------------
  r5443 | marko | 2009-06-30 07:03:00 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: os_event_create_auto(): Unused, remove.
  ------------------------------------------------------------------------
  r5444 | marko | 2009-06-30 07:19:49 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: que_graph_try_free(): Unused, remove.
  ------------------------------------------------------------------------
  r5445 | marko | 2009-06-30 07:28:11 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: row_build_row_ref_from_row(): Unused, remove.
  ------------------------------------------------------------------------
  r5446 | marko | 2009-06-30 07:35:45 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove.
  ------------------------------------------------------------------------
  r5447 | marko | 2009-06-30 07:37:58 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: srv_que_task_queue_check(): Unused, remove.
  ------------------------------------------------------------------------
  r5448 | marko | 2009-06-30 07:56:36 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: mem_heap_cat(): Unused, remove.
  ------------------------------------------------------------------------
  r5449 | marko | 2009-06-30 08:00:50 -0400 (Tue, 30 Jun 2009) | 2 lines
  
  branches/zip: innobase_start_or_create_for_mysql():
  Invoke os_get_os_version() at most once.
  ------------------------------------------------------------------------
  r5450 | marko | 2009-06-30 08:02:20 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: os_file_close_no_error_handling(): Unused, remove.
  ------------------------------------------------------------------------
  r5451 | marko | 2009-06-30 08:09:49 -0400 (Tue, 30 Jun 2009) | 2 lines
  
  branches/zip: page_set_max_trx_id(): Make the code compile
  with UNIV_HOTBACKUP.
  ------------------------------------------------------------------------
  r5452 | marko | 2009-06-30 08:10:26 -0400 (Tue, 30 Jun 2009) | 2 lines
  
  branches/zip: os_file_close_no_error_handling(): Restore,
  as this function is used within InnoDB Hot Backup.
  ------------------------------------------------------------------------
  r5453 | marko | 2009-06-30 08:14:01 -0400 (Tue, 30 Jun 2009) | 1 line
  
  branches/zip: os_process_set_priority_boost(): Unused, remove.
  ------------------------------------------------------------------------
  r5454 | marko | 2009-06-30 08:42:52 -0400 (Tue, 30 Jun 2009) | 2 lines
  
  branches/zip: Replace a non-ASCII character
  (ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute.
  ------------------------------------------------------------------------
  r5456 | inaam | 2009-06-30 14:21:09 -0400 (Tue, 30 Jun 2009) | 4 lines
  
  branches/zip
  
  Non functional change. s/Percona/Percona Inc./
  
  ------------------------------------------------------------------------
  r5470 | vasil | 2009-07-02 09:12:36 -0400 (Thu, 02 Jul 2009) | 16 lines
  
  branches/zip:
  
  Use PAUSE instruction inside spinloop if it is available.
  
  The patch was originally developed by Mikael Ronstrom <mikael@mysql.com>
  and can be found here:
  http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768
  http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771
  http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772
  http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774
  http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777
  http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799
  http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800
  
  Approved by:	Heikki (rb://137)
  
  ------------------------------------------------------------------------
  r5481 | vasil | 2009-07-06 13:16:32 -0400 (Mon, 06 Jul 2009) | 4 lines
  
  branches/zip:
  
  Remove unnecessary quotes and simplify plug.in.
  
  ------------------------------------------------------------------------
  r5482 | calvin | 2009-07-06 18:36:35 -0400 (Mon, 06 Jul 2009) | 5 lines
  
  branches/zip: add COPYING files for Percona and Sun Micro.
  
  1.0.4 contains patches based on contributions from Percona
  and Sun Microsystems.
  
  ------------------------------------------------------------------------
  r5483 | calvin | 2009-07-07 05:36:43 -0400 (Tue, 07 Jul 2009) | 3 lines
  
  branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake.
  
  Windows will support PAUSE instruction by default.
  ------------------------------------------------------------------------
  r5484 | inaam | 2009-07-07 18:57:14 -0400 (Tue, 07 Jul 2009) | 13 lines
  
  branches/zip  rb://126
  
  Based on contribution from Google Inc.
  This patch introduces a new parameter innodb_io_capacity to control the
  rate at which master threads performs various tasks. The default value
  is 200 and higher values imply more aggressive flushing and ibuf merges
  from within the master thread.
  This patch also changes the ibuf merge from synchronous to asynchronous.
  Another minor change is not to force the master thread to wait for a
  log flush to complete every second.
  
  Approved by: Heikki
  
  ------------------------------------------------------------------------
  r5485 | inaam | 2009-07-07 19:00:49 -0400 (Tue, 07 Jul 2009) | 18 lines
  
  branches/zip  rb://138
  
  The current implementation is to try to flush the neighbors of every
  page that we flush. This patch makes the following distinction:
  
  1) If the flush is from flush_list AND
  2) If the flush is intended to move the oldest_modification LSN ahead
  (this happens when a user thread sees little space in the log file and
  attempts to flush pages from the buffer pool so that a checkpoint can
  be made)
  
  THEN
  
  Do not try to flush the neighbors. Just focus on flushing dirty pages at
  the end of flush_list
  
  Approved by: Heikki
  
  ------------------------------------------------------------------------
  r5486 | inaam | 2009-07-08 12:11:40 -0400 (Wed, 08 Jul 2009) | 29 lines
  
  branches/zip  rb://133
  
  This patch introduces heuristics based flushing rate of dirty pages to
  avoid IO bursts at checkpoint.
  
  1) log_capacity / log_generated per second gives us number of seconds
  in which ALL dirty pages need to be flushed. Based on this rough
  assumption we can say that
  n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate
  
  2) We use weighted averages (hard coded to 20 seconds) of
  log_generation_rate to avoid resonance.
  
  3) From the desired_flush_rate we subtract the number of pages that have
  been flushed due to LRU flushing. That gives us pages that we should
  flush as part of flush_list cleanup. And that is the number (capped by
  maximum io_capacity) that we try to flush from the master thread.
  
  Knobs:
  ======
  
  innodb_adaptive_flushing: boolean, global, dynamic, default TRUE.
  Since this heuristic is very experimental and has the potential to
  dramatically change the IO pattern I think it is a good idea to leave a
  knob to turn it off.
  
  Approved by: Heikki
  
  
  ------------------------------------------------------------------------
  r5487 | calvin | 2009-07-08 12:42:28 -0400 (Wed, 08 Jul 2009) | 7 lines
  
  branches/zip: fix PAUSE instruction patch on Windows
  
  The original PAUSE instruction patch (r5470) does not
  compile on Windows. Also, there is an elegant way of
  doing it on Windows - YieldProcessor().
  
  Approved by: Heikki (on IM)
  ------------------------------------------------------------------------
  r5489 | vasil | 2009-07-10 05:02:22 -0400 (Fri, 10 Jul 2009) | 9 lines
  
  branches/zip:
  
  Change the defaults for
  innodb_sync_spin_loops: 20 -> 30
  innodb_spin_wait_delay: 5 -> 6
  
  This change was proposed by Sun/MySQL based on their performance testing,
  see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4
  
  ------------------------------------------------------------------------
  r5490 | vasil | 2009-07-10 05:04:20 -0400 (Fri, 10 Jul 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entry for 5489.
  
  ------------------------------------------------------------------------
  r5491 | calvin | 2009-07-10 12:19:17 -0400 (Fri, 10 Jul 2009) | 6 lines
  
  branches/zip: add copyright info to files related to PAUSE
  instruction patch, contributed by Sun Microsystems.
  
  
  
  
  ------------------------------------------------------------------------
  r5492 | calvin | 2009-07-10 17:47:34 -0400 (Fri, 10 Jul 2009) | 5 lines
  
  branches/zip: add ChangeLog entries for r5484-r5486.
  
  
  
  
  ------------------------------------------------------------------------
  r5494 | vasil | 2009-07-13 03:37:35 -0400 (Mon, 13 Jul 2009) | 6 lines
  
  branches/zip:
  
  Restore the original value of innodb_sync_spin_loops at the end, previously
  the test assumed that setting it to 20 will do this, but now the default is
  30 and MTR's internal check failed.
  
  ------------------------------------------------------------------------
  r5495 | inaam | 2009-07-13 11:48:45 -0400 (Mon, 13 Jul 2009) | 5 lines
  
  branches/zip rb://138 (REVERT)
  
  Revert the flush neighbors patch as it shows regression in
  the benchmarks run by Michael.
  
  ------------------------------------------------------------------------
  r5496 | inaam | 2009-07-13 14:04:57 -0400 (Mon, 13 Jul 2009) | 4 lines
  
  branches/zip
  
  Fixed warnings on windows where ulint != ib_uint64_t
  
  ------------------------------------------------------------------------
  r5497 | calvin | 2009-07-13 15:01:00 -0400 (Mon, 13 Jul 2009) | 9 lines
  
  branches/zip: fix run-time symbols clash on Solaris.
  
  This patch is from Sergey Vojtovich of Sun Microsystems,
  to fix run-time symbols clash on Solaris with older C++
  compiler:
  - when finding out a way to hide symbols, make decision basing
    on compiler, not operating system.
  - Sun Studio supports __hidden declaration specifier for this
    purpose.
  ------------------------------------------------------------------------
  r5498 | vasil | 2009-07-14 03:16:18 -0400 (Tue, 14 Jul 2009) | 92 lines
  
  branches/zip: Merge r5341:5497 from branches/5.1, skipping:
  c5419 because it is merge from branches/zip into branches/5.1
  c5466 because the source code has been adjusted to match the MySQL
    behavior and the innodb-autoinc test does not fail in branches/zip,
    if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested
    not to merge c5466.
  and resolving conflicts in c5410, c5440, c5488:
  
    ------------------------------------------------------------------------
    r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines
    Changed paths:
       M /branches/5.1/include/trx0sys.ic
       M /branches/5.1/trx/trx0purge.c
       M /branches/5.1/trx/trx0sys.c
       M /branches/5.1/trx/trx0undo.c
    
    branches/5.1: Add missing #include "mtr0log.h" to avoid warnings
    when compiling with -DUNIV_MUST_NOT_INLINE.
    ------------------------------------------------------------------------
    r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result
       M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test
       M /branches/5.1/mysql-test/innodb_bug42101.result
       M /branches/5.1/mysql-test/innodb_bug42101.test
    
    branches/5.1: Merge r5418 from branches/zip:
    
      ------------------------------------------------------------------------
      r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines
      Changed paths:
         M /branches/zip/ChangeLog
         M /branches/zip/handler/ha_innodb.cc
         M /branches/zip/mysql-test/innodb_bug42101-nonzero.result
         M /branches/zip/mysql-test/innodb_bug42101-nonzero.test
         M /branches/zip/mysql-test/innodb_bug42101.result
         M /branches/zip/mysql-test/innodb_bug42101.test
      
      branches/zip: Fix a race condition caused by
      SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749)
      When innodb_commit_concurrency is initially set nonzero,
      DEFAULT would change it back to 0, triggering Bug #42101.
      rb://139 approved by Heikki Tuuri.
      ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines
    Changed paths:
       M /branches/5.1/fil/fil0fil.c
    
    branches/5.1:
    
    Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation
    
    by changing the URL from
    http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to
    http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html
    
    ------------------------------------------------------------------------
    r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test
    
    branches/5.1:
    
    Adjust the failing innodb-autoinc test to conform to the latest behavior
    of the MySQL code. The idea and the comment in innodb-autoinc.test come
    from Sunny.
    
    ------------------------------------------------------------------------
    r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       A /branches/5.1/mysql-test/innodb_bug21704.result
       A /branches/5.1/mysql-test/innodb_bug21704.test
    
    branches/5.1:
    
    Fix Bug#21704 Renaming column does not update FK definition
    
    by checking whether a column that participates in a FK definition is being
    renamed and denying the ALTER in this case.
    
    The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>:
    http://lists.mysql.com/commits/77714
    and was later adjusted to conform to InnoDB coding style by me (Vasil),
    I also added some more comments and moved the bug specific mysql-test to
    a separate file to make it more manageable and flexible.
    
    ------------------------------------------------------------------------
  
  ------------------------------------------------------------------------
  r5499 | calvin | 2009-07-14 12:55:10 -0400 (Tue, 14 Jul 2009) | 3 lines
  
  branches/zip: add a missing file in Makefile.am
  
  This change was suggested by MySQL.
  ------------------------------------------------------------------------
  r5500 | calvin | 2009-07-14 13:03:26 -0400 (Tue, 14 Jul 2009) | 3 lines
  
  branches/zip: minor change
  
  Remove an extra "with".
  ------------------------------------------------------------------------
  r5501 | vasil | 2009-07-14 13:58:15 -0400 (Tue, 14 Jul 2009) | 5 lines
  
  branches/zip:
  
  Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h
  header file that is eventually used by mysqld.
  
  ------------------------------------------------------------------------
  r5502 | vasil | 2009-07-14 13:59:59 -0400 (Tue, 14 Jul 2009) | 4 lines
  
  branches/zip:
  
  Add include/ut0auxconf.h to noinst_HEADERS
  
  ------------------------------------------------------------------------
  r5503 | vasil | 2009-07-14 14:16:11 -0400 (Tue, 14 Jul 2009) | 8 lines
  
  branches/zip:
  
  Non-functional change:
  put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort
  alphabetically, so it is easier to find if a file is there or not and
  also diffs show exactly the added or removed file instead of surrounding
  lines too.
  
  ------------------------------------------------------------------------
  r5504 | calvin | 2009-07-15 04:58:44 -0400 (Wed, 15 Jul 2009) | 6 lines
  
  branches/zip: fix compile errors on Win64
  
  Both srv_read_ahead_factor and srv_io_capacity should
  be defined as ulong.
  
  Approved by: Sunny
  ------------------------------------------------------------------------
  r5508 | calvin | 2009-07-16 09:40:47 -0400 (Thu, 16 Jul 2009) | 16 lines
  
  branches/zip: Support inlining of functions and prefetch with
  Sun Studio
  
  Those changes are contributed by Sun/MySQL. Two sets of changes
  in this patch when Sun Studio is used:
  - Explicit inlining of functions
  - Prefetch Support
  
  This patch has been tested by Sunny with the plugin statically
  built in. Since we've never built the plugin as a dynamically
  loaded module on Solaris, it is a separate task to change
  plug.in.
  
  rb://142
  Approved by: Heikki
  
  ------------------------------------------------------------------------
  r5509 | calvin | 2009-07-16 09:45:28 -0400 (Thu, 16 Jul 2009) | 2 lines
  
  branches/zip: add ChangeLog entry for r5508.
  
  ------------------------------------------------------------------------
  r5512 | sunny | 2009-07-19 19:52:48 -0400 (Sun, 19 Jul 2009) | 2 lines
  
  branches/zip: Remove unused extern ref to timed_mutexes.
  
  ------------------------------------------------------------------------
  r5513 | sunny | 2009-07-19 19:58:43 -0400 (Sun, 19 Jul 2009) | 2 lines
  
  branches/zip: Undo r5512
  
  ------------------------------------------------------------------------
  r5514 | sunny | 2009-07-19 20:08:49 -0400 (Sun, 19 Jul 2009) | 2 lines
  
  branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined.
  
  ------------------------------------------------------------------------
  r5515 | sunny | 2009-07-20 03:29:14 -0400 (Mon, 20 Jul 2009) | 2 lines
  
  branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup.
  
  ------------------------------------------------------------------------
  r5516 | sunny | 2009-07-20 03:46:05 -0400 (Mon, 20 Jul 2009) | 4 lines
  
  branches/zip: Make this file usable from within HotBackup. A new file has
  been introduced called hb_univ.i. This file should have all the HotBackup
  specific configuration.
  
  ------------------------------------------------------------------------
  r5517 | sunny | 2009-07-20 03:55:11 -0400 (Mon, 20 Jul 2009) | 2 lines
  
  Add /* UNIV_HOTBACK */
  
  ------------------------------------------------------------------------
  r5519 | vasil | 2009-07-20 04:45:18 -0400 (Mon, 20 Jul 2009) | 31 lines
  
  branches/zip: Merge r5497:5518 from branches/5.1:
  
    ------------------------------------------------------------------------
    r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
    
    branches/5.1:
    
    Merge a change from MySQL:
    
      ------------------------------------------------------------
      revno: 2874.2.1
      committer: Anurag Shekhar <anurag.shekhar@sun.com>
      branch nick: mysql-5.1-bugteam-windows-warning
      timestamp: Wed 2009-05-13 15:41:24 +0530
      message:
        Bug #39802 On Windows, 32-bit time_t should be enforced
        
        This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', 
        possible loss of data". 
        The fix is to typecast time_t to ulong before assigning it to ulong. 
        Backported this from 6.0-bugteam tree.
      modified:
        storage/archive/ha_archive.cc
        storage/federated/ha_federated.cc
        storage/innobase/handler/ha_innodb.cc
        storage/myisam/ha_myisam.cc
    
    ------------------------------------------------------------------------
  
  ------------------------------------------------------------------------
  r5520 | vasil | 2009-07-20 04:51:47 -0400 (Mon, 20 Jul 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entries for r5498 and r5519.
  
  ------------------------------------------------------------------------
  r5524 | inaam | 2009-07-20 12:23:15 -0400 (Mon, 20 Jul 2009) | 9 lines
  
  branches/zip
  
  Change the read ahead parameter name to innodb_read_ahead_threshold.
  Change the meaning of this parameter to signify the number of pages
  that must be sequentially accessed for InnoDB to trigger a readahead
  request.
  
  Suggested by: Ken
  
  ------------------------------------------------------------------------
2009-07-21 00:09:29 +00:00
marko
1601bdc38a branches/innodb+: Merge revisions 5091:5143 from branches/zip:
------------------------------------------------------------------------
  r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line

  branches/zip: Adjust some function comments after r5091.
  ------------------------------------------------------------------------
  r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line

  branches/zip: Split some long lines that were introduced in r5091.
  ------------------------------------------------------------------------
  r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR.
  This is to avoid triggering an error in Doxygen.
  ------------------------------------------------------------------------
  r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line

  branches/zip: Add missing file comments.
  ------------------------------------------------------------------------
  r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines

  branches/zip: Add @file comments, and convert decorative
  /*********************************
  comments to Doxygen /** style like this:
  /*****************************//**

  This conversion was performed by the following command:

  perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) {
  s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2}
  print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i
  ------------------------------------------------------------------------
  r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Revert ut0auxconf_* to r5102,
  that is, make Doxygen ignore these test programs.
  ------------------------------------------------------------------------
  r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Enclose some #error checks inside #ifndef DOXYGEN
  to prevent bogus Doxygen errors.
  ------------------------------------------------------------------------
  r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Add some Doxygen comments, mainly to structs, typedefs,
  macros and global variables.  Many more to go.
  ------------------------------------------------------------------------
  r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines

  branches/zip: lexyy.c: Remove the inadvertently added @file directive.
  There is nothing for Doxygen to see in this file, move along.
  ------------------------------------------------------------------------
  r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines

  branches/zip: Add some Doxygen comments for many structs, typedefs,
  #defines and global variables.  Many are still missing.
  ------------------------------------------------------------------------
  r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line

  branches/zip: Add some Doxygen @return comments.
  ------------------------------------------------------------------------
  r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line

  branches/zip: Add Doxyfile.
  ------------------------------------------------------------------------
  r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines

  branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation.
  @defgroup is for source code modules, not for field groups.
  Tell Doxygen to expand the UT_LIST declarations.
  ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
marko
61bddcc89b branches/innodb+: Merge revisions 5090:5091 from branches/zip:
(Ran doxygenify.pl conversion locally, then merged and checked consistency.)
  ------------------------------------------------------------------------
  r5091 | marko | 2009-05-25 09:30:14 +0300 (Mon, 25 May 2009) | 33 lines

  branches/zip: Convert the function comments to Doxygen format.

  This patch was created by running the following commands:

  for i in */*[ch]; do doxygenify.pl $i; done
  perl -i -pe 's#\*{3} \*/$#****/#' */*[ch]

  where doxygenify.pl is
  https://svn.innodb.com/svn/misc/trunk/tools/doxygenify.pl r510

  Verified the consistency as follows:

  (0) not too many /* in: */ or /* out: */ comments left in the code:
  grep -l '/\*\s*\(in\|out\)[,:/]' */*[ch]

  (1) no difference when ignoring blank lines, after stripping all
  C90-style /* comments */, including multi-line ones, before and after
  applying this patch:

  perl -i -e 'undef $/;while(<ARGV>){s#/\*(.*?)\*/##gs;print}' */*[ch]
  diff -I'^\s*$' --exclude .svn -ru TREE1 TREE2

  (2) after stripping @return comments and !<, generated a diff and omitted
  the hunks where /* out: */ function return comments were removed:

  perl -i -e'undef $/;while(<ARGV>){s#!<##g;s#\n\@return\t.*?\*/# \*/#gs;print}'\
   */*[ch]
  svn diff|
  perl -e 'undef $/;$_=<>;s#\n-\s*/\* out[:,]([^\n]*?)(\n-[^\n]*?)*\*/##gs;print'

  Some unintended changes were left.  These will be removed in a
  subsequent patch.
  ------------------------------------------------------------------------
2009-05-25 06:46:10 +00:00
marko
4f1d044053 branches/innodb+: Merge revisions 4150:4528 from branches/zip:
------------------------------------------------------------------------
  r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines

  branches/zip: When innodb_use_sys_malloc is set, ignore
  innodb_additional_mem_pool_size, because nothing will
  be allocated from mem_comm_pool.

  mem_pool_create(): Remove the assertion about size.  The function will
  work with any size.  However, an assertion would fail in ut_malloc_low()
  when size==0.

  mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create().

  mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c.
  ------------------------------------------------------------------------
  r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines

  branches/zip:

  (followup to r4145) Non-functional change:

  Change the os_atomic_increment() and os_compare_and_swap() functions
  to macros to avoid artificial limitations on the types of those
  functions' arguments. As a consequence typecasts from the source
  code can be removed.

  Also remove Google's copyright from os0sync.ic because that file no longer
  contains code from Google.

  Approved by:	Marko (rb://88), also ok from Inaam via IM
  ------------------------------------------------------------------------
  r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines

  branches/zip: Make innodb_thread_concurrency=0 the default.
  The old default was 8.
  ------------------------------------------------------------------------
  r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines

  branches/zip: Adjust the result file of innodb_thread_concurrency_basic
  test. The default value of innodb_thread_concurrency is changed to 0
  (from 8) via r4163.
  ------------------------------------------------------------------------
  r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines

  branches/zip:

  Fix pathname of the file to patch.
  ------------------------------------------------------------------------
  r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines

  branches/zip:

  Fix the failing mysql-test partition_innodb, which failed only if run after
  innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into
  the output of SHOW ENGINE INNODB STATUS). Find further explanation for the
  failure at the top of the added patch partition_innodb.diff.
  ------------------------------------------------------------------------
  r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  Add the full text of the GPLv2 license into the root directory of the
  plugin. In previous releases this file was copied from an external source
  (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when
  creating the source and binary archives. It is less confusing to have this
  present in the root directory of the SVN branch.
  ------------------------------------------------------------------------
  r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines

  branches/zip:

  Add Google's license into COPYING.Google.
  ------------------------------------------------------------------------
  r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines

  branches/zip:

  To the files touched by the Google patch from c4144 (excluding
  include/os0sync.ic because later we removed Google code from that file):

  * Remove the Google license
  * Remove old Innobase copyright lines
  * Add a reference to the Google license and to the GPLv2 license at the top,
  as recommended by the lawyers at Oracle Legal.
  ------------------------------------------------------------------------
  r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 1/28]
  ------------------------------------------------------------------------
  r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 2/28]
  ------------------------------------------------------------------------
  r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 3/28]
  ------------------------------------------------------------------------
  r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 4/28]
  ------------------------------------------------------------------------
  r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 5/28]
  ------------------------------------------------------------------------
  r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 6/28]
  ------------------------------------------------------------------------
  r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 7/28]
  ------------------------------------------------------------------------
  r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 8/28]
  ------------------------------------------------------------------------
  r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 9/28]
  ------------------------------------------------------------------------
  r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 10/28]
  ------------------------------------------------------------------------
  r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 11/28]
  ------------------------------------------------------------------------
  r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 12/28]
  ------------------------------------------------------------------------
  r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 13/28]
  ------------------------------------------------------------------------
  r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 13/28]
  ------------------------------------------------------------------------
  r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 15/28]
  ------------------------------------------------------------------------
  r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 16/28]
  ------------------------------------------------------------------------
  r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 17/28]
  ------------------------------------------------------------------------
  r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 18/28]
  ------------------------------------------------------------------------
  r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 19/28]
  ------------------------------------------------------------------------
  r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 20/28]
  ------------------------------------------------------------------------
  r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 21/28]
  ------------------------------------------------------------------------
  r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 22/28]
  ------------------------------------------------------------------------
  r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 23/28]
  ------------------------------------------------------------------------
  r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 24/28]
  ------------------------------------------------------------------------
  r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 25/28]
  ------------------------------------------------------------------------
  r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 26/28]
  ------------------------------------------------------------------------
  r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 27/28]
  ------------------------------------------------------------------------
  r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 28/28]
  ------------------------------------------------------------------------
  r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines

  branches/zip:

  Add the copyright notice to the non C files.
  ------------------------------------------------------------------------
  r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines

  Minor cleanup of the Google SMP patch.

  sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning
  about the return value of os_atomic_increment() being ignored.

  rw_lock_create_func(): Properly indent the preprocessor directives.

  rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly.

  rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning.
  Do not mix statements and variable declarations.
  ------------------------------------------------------------------------
  r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines

  branches/zip: When assigning lock->recursive = FALSE, also flag
  lock->writer_thread invalid, so that Valgrind will catch more errors.
  This is related to Issue #175.
  ------------------------------------------------------------------------
  r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines

  branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning
  about a while(0); statement.  This should fix (part of) Issue #176.
  ------------------------------------------------------------------------
  r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines

  branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning
  about an empty body of a "for" statement.
  This fixes part of Issue #176.
  ------------------------------------------------------------------------
  r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines

  branches/zip: Protect ut_total_allocated_memory with ut_list_mutex.
  Unprotected updates to ut_total_allocated_memory in
  os_mem_alloc_large() and os_mem_free_large(), called during
  fast index creation, may corrupt the variable and cause assertion failures.

  Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around
  os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can
  detect more errors.

  rb://90 approved by Heikki Tuuri.  This addresses Issue #177.
  ------------------------------------------------------------------------
  r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines

  branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning
  about an empty body in a "for" statement.  This closes Issue #176.
  ------------------------------------------------------------------------
  r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines

  branches/zip: Issue #178 rb://91

  Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that
  both .c and .cc files get compiled with same flags. To fix the issue
  where UNIV_LINUX was defined only in .c files.

  Approved by: Marko
  ------------------------------------------------------------------------
  r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines

  branches/zip:

  Cleanup in ChangeLog:
  * Wrap lines at 78 characters
  * Changed files are listed alphabetically
  * White-space cleanup
  ------------------------------------------------------------------------
  r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines

  branches/zip:

  ChangeLog: Remove include/os0sync.ic from the entry about the google patch,
  this file was modified later to not include Google's code.
  ------------------------------------------------------------------------
  r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines

  branches/zip:

  Merge revisions 4035:4261 from branches/5.1:

    ------------------------------------------------------------------------
    r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC
    is only defined for integer columns. This caused an assertion failure when
    we checked for the maximum value of a column type. We now calculate the
    max value for floating-point autoinc columns too.

    Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns
    rb://84 and Mantis issue://162

    ------------------------------------------------------------------------
    r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1: Add the ULL suffix otherwise there is an overflow.

    ------------------------------------------------------------------------
    r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1:

    Merge a change from MySQL:

      ------------------------------------------------------------
      revno: 2709.20.31
      committer: Timothy Smith <timothy.smith@sun.com>
      branch nick: 51
      timestamp: Fri 2008-12-19 01:28:51 +0100
      message:
        Disable part of innodb-autoinc.test, because the MySQL server asserts when
        compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and
        increment > 1".  This change should be reverted when that bug is fixed (and a
        a few other minor changes to the test as described in comments).
      modified:
        mysql-test/r/innodb-autoinc.result
        mysql-test/t/innodb-autoinc.test

    ------------------------------------------------------------------------
    r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1:

    Merge a change from MySQL:

    [looks like the changes to innodb-autoinc.test were made as part of
    the following huge merge, but we are merging only changes to that file]

      ------------------------------------------------------------
      revno: 2546.47.1
      committer: Luis Soares <luis.soares@sun.com>
      branch nick: 5.1-rpl
      timestamp: Fri 2009-01-23 13:22:05 +0100
      message:
        merge: 5.1 -> 5.1-rpl
        conflicts:
          Text conflict in client/mysqltest.cc
          Text conflict in mysql-test/include/wait_until_connected_again.inc
          Text conflict in mysql-test/lib/mtr_report.pm
          Text conflict in mysql-test/mysql-test-run.pl
          Text conflict in mysql-test/r/events_bugs.result
          Text conflict in mysql-test/r/log_state.result
          Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
          Text conflict in mysql-test/r/mysqlcheck.result
          Text conflict in mysql-test/r/query_cache.result
          Text conflict in mysql-test/r/status.result
          Text conflict in mysql-test/suite/binlog/r/binlog_index.result
          Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
          Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
          Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
          Text conflict in mysql-test/t/disabled.def
          Text conflict in mysql-test/t/events_bugs.test
          Text conflict in mysql-test/t/log_state.test
          Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
          Text conflict in mysql-test/t/mysqlcheck.test
          Text conflict in mysql-test/t/query_cache.test
          Text conflict in mysql-test/t/rpl_init_slave_func.test
          Text conflict in mysql-test/t/status.test
      removed:
        mysql-test/suite/parts/r/partition_bit_ndb.result
        mysql-test/suite/parts/t/partition_bit_ndb.test
        mysql-test/suite/parts/t/partition_sessions.test
        mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc
        mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result
        mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result
        mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test
        mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test
        mysql-test/t/log_bin_trust_function_creators_func-master.opt
        mysql-test/t/rpl_init_slave_func-slave.opt
      added:
        mysql-test/include/check_events_off.inc
        mysql-test/include/cleanup_fake_relay_log.inc
        mysql-test/include/have_simple_parser.inc
        mysql-test/include/no_running_event_scheduler.inc
        mysql-test/include/no_running_events.inc
        mysql-test/include/running_event_scheduler.inc
        mysql-test/include/setup_fake_relay_log.inc
        mysql-test/include/wait_condition_sp.inc
        mysql-test/r/fulltext_plugin.result
        mysql-test/r/have_simple_parser.require
        mysql-test/r/innodb_bug38231.result
        mysql-test/r/innodb_bug39438.result
        mysql-test/r/innodb_mysql_rbk.result
        mysql-test/r/partition_innodb_semi_consistent.result
        mysql-test/r/query_cache_28249.result
        mysql-test/r/status2.result
        mysql-test/std_data/bug40482-bin.000001
        mysql-test/suite/binlog/r/binlog_innodb_row.result
        mysql-test/suite/binlog/t/binlog_innodb_row.test
        mysql-test/suite/rpl/r/rpl_binlog_corruption.result
        mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt
        mysql-test/suite/rpl/t/rpl_binlog_corruption.test
        mysql-test/suite/sys_vars/r/tmp_table_size_basic.result
        mysql-test/suite/sys_vars/t/tmp_table_size_basic.test
        mysql-test/t/fulltext_plugin-master.opt
        mysql-test/t/fulltext_plugin.test
        mysql-test/t/innodb_bug38231.test
        mysql-test/t/innodb_bug39438-master.opt
        mysql-test/t/innodb_bug39438.test
        mysql-test/t/innodb_mysql_rbk-master.opt
        mysql-test/t/innodb_mysql_rbk.test
        mysql-test/t/partition_innodb_semi_consistent-master.opt
        mysql-test/t/partition_innodb_semi_consistent.test
        mysql-test/t/query_cache_28249.test
        mysql-test/t/status2.test
      renamed:
        mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result
        mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test
      modified:
        .bzr-mysql/default.conf
        CMakeLists.txt
        client/mysql.cc
        client/mysql_upgrade.c
        client/mysqlcheck.c
        client/mysqltest.cc
        configure.in
        extra/resolve_stack_dump.c
        extra/yassl/include/openssl/ssl.h
        include/config-win.h
        include/m_ctype.h
        include/my_global.h
        mysql-test/extra/binlog_tests/database.test
        mysql-test/extra/rpl_tests/rpl_auto_increment.test
        mysql-test/include/commit.inc
        mysql-test/include/have_32bit.inc
        mysql-test/include/have_64bit.inc
        mysql-test/include/index_merge1.inc
        mysql-test/include/linux_sys_vars.inc
        mysql-test/include/windows_sys_vars.inc
        mysql-test/lib/mtr_report.pm
        mysql-test/mysql-test-run.pl
        mysql-test/r/alter_table.result
        mysql-test/r/commit_1innodb.result
        mysql-test/r/create.result
        mysql-test/r/csv.result
        mysql-test/r/ctype_ucs.result
        mysql-test/r/date_formats.result
        mysql-test/r/events_bugs.result
        mysql-test/r/events_scheduling.result
        mysql-test/r/fulltext.result
        mysql-test/r/func_if.result
        mysql-test/r/func_in.result
        mysql-test/r/func_str.result
        mysql-test/r/func_time.result
        mysql-test/r/grant.result
        mysql-test/r/index_merge_myisam.result
        mysql-test/r/information_schema.result
        mysql-test/r/innodb-autoinc.result
        mysql-test/r/innodb.result
        mysql-test/r/innodb_mysql.result
        mysql-test/r/log_bin_trust_function_creators_func.result
        mysql-test/r/log_state.result
        mysql-test/r/myisampack.result
        mysql-test/r/mysql.result
        mysql-test/r/mysqlcheck.result
        mysql-test/r/partition_datatype.result
        mysql-test/r/partition_mgm.result
        mysql-test/r/partition_pruning.result
        mysql-test/r/query_cache.result
        mysql-test/r/read_buffer_size_basic.result
        mysql-test/r/read_rnd_buffer_size_basic.result
        mysql-test/r/rpl_init_slave_func.result
        mysql-test/r/select.result
        mysql-test/r/status.result
        mysql-test/r/strict.result
        mysql-test/r/temp_table.result
        mysql-test/r/type_bit.result
        mysql-test/r/type_date.result
        mysql-test/r/type_float.result
        mysql-test/r/warnings_engine_disabled.result
        mysql-test/r/xml.result
        mysql-test/suite/binlog/r/binlog_database.result
        mysql-test/suite/binlog/r/binlog_index.result
        mysql-test/suite/binlog/r/binlog_innodb.result
        mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
        mysql-test/suite/binlog/t/binlog_innodb.test
        mysql-test/suite/funcs_1/r/is_columns_is.result
        mysql-test/suite/funcs_1/r/is_engines.result
        mysql-test/suite/funcs_1/r/storedproc.result
        mysql-test/suite/funcs_1/storedproc/param_check.inc
        mysql-test/suite/funcs_2/t/disabled.def
        mysql-test/suite/ndb/t/disabled.def
        mysql-test/suite/parts/r/partition_bit_innodb.result
        mysql-test/suite/parts/r/partition_bit_myisam.result
        mysql-test/suite/parts/r/partition_special_innodb.result
        mysql-test/suite/parts/t/disabled.def
        mysql-test/suite/parts/t/partition_special_innodb.test
        mysql-test/suite/parts/t/partition_value_innodb.test
        mysql-test/suite/parts/t/partition_value_myisam.test
        mysql-test/suite/parts/t/partition_value_ndb.test
        mysql-test/suite/rpl/r/rpl_auto_increment.result
        mysql-test/suite/rpl/r/rpl_packet.result
        mysql-test/suite/rpl/r/rpl_row_create_table.result
        mysql-test/suite/rpl/r/rpl_slave_skip.result
        mysql-test/suite/rpl/r/rpl_trigger.result
        mysql-test/suite/rpl/t/disabled.def
        mysql-test/suite/rpl/t/rpl_packet.test
        mysql-test/suite/rpl/t/rpl_row_create_table.test
        mysql-test/suite/rpl/t/rpl_slave_skip.test
        mysql-test/suite/rpl/t/rpl_trigger.test
        mysql-test/suite/rpl_ndb/t/disabled.def
        mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc
        mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc
        mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result
        mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result
        mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result
        mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result
        mysql-test/t/alter_table.test
        mysql-test/t/create.test
        mysql-test/t/csv.test
        mysql-test/t/ctype_ucs.test
        mysql-test/t/date_formats.test
        mysql-test/t/disabled.def
        mysql-test/t/events_bugs.test
        mysql-test/t/events_scheduling.test
        mysql-test/t/fulltext.test
        mysql-test/t/func_if.test
        mysql-test/t/func_in.test
        mysql-test/t/func_str.test
        mysql-test/t/func_time.test
        mysql-test/t/grant.test
        mysql-test/t/information_schema.test
        mysql-test/t/innodb-autoinc.test
        mysql-test/t/innodb.test
        mysql-test/t/innodb_mysql.test
        mysql-test/t/log_bin_trust_function_creators_func.test
        mysql-test/t/log_state.test
        mysql-test/t/myisam_data_pointer_size_func.test
        mysql-test/t/myisampack.test
        mysql-test/t/mysql.test
        mysql-test/t/mysqlcheck.test
        mysql-test/t/partition_innodb_stmt.test
        mysql-test/t/partition_mgm.test
        mysql-test/t/partition_pruning.test
        mysql-test/t/query_cache.test
        mysql-test/t/rpl_init_slave_func.test
        mysql-test/t/select.test
        mysql-test/t/status.test
        mysql-test/t/strict.test
        mysql-test/t/temp_table.test
        mysql-test/t/type_bit.test
        mysql-test/t/type_date.test
        mysql-test/t/type_float.test
        mysql-test/t/warnings_engine_disabled.test
        mysql-test/t/xml.test
        mysys/my_getopt.c
        mysys/my_init.c
        scripts/mysql_install_db.sh
        sql-common/my_time.c
        sql/field.cc
        sql/field.h
        sql/filesort.cc
        sql/ha_partition.cc
        sql/ha_partition.h
        sql/item.cc
        sql/item_cmpfunc.cc
        sql/item_func.h
        sql/item_strfunc.cc
        sql/item_sum.cc
        sql/item_timefunc.cc
        sql/item_timefunc.h
        sql/log.cc
        sql/log.h
        sql/log_event.cc
        sql/log_event.h
        sql/mysql_priv.h
        sql/mysqld.cc
        sql/opt_range.cc
        sql/partition_info.cc
        sql/repl_failsafe.cc
        sql/rpl_constants.h
        sql/set_var.cc
        sql/slave.cc
        sql/spatial.h
        sql/sql_acl.cc
        sql/sql_base.cc
        sql/sql_binlog.cc
        sql/sql_class.h
        sql/sql_cursor.cc
        sql/sql_delete.cc
        sql/sql_lex.cc
        sql/sql_lex.h
        sql/sql_locale.cc
        sql/sql_parse.cc
        sql/sql_partition.cc
        sql/sql_plugin.cc
        sql/sql_plugin.h
        sql/sql_profile.cc
        sql/sql_repl.cc
        sql/sql_select.cc
        sql/sql_select.h
        sql/sql_show.cc
        sql/sql_table.cc
        sql/sql_trigger.cc
        sql/sql_trigger.h
        sql/table.cc
        sql/table.h
        sql/unireg.cc
        storage/csv/ha_tina.cc
        storage/federated/ha_federated.cc
        storage/heap/ha_heap.cc
        storage/innobase/Makefile.am
        storage/innobase/btr/btr0sea.c
        storage/innobase/buf/buf0lru.c
        storage/innobase/dict/dict0dict.c
        storage/innobase/dict/dict0mem.c
        storage/innobase/handler/ha_innodb.cc
        storage/innobase/handler/ha_innodb.h
        storage/innobase/include/btr0sea.h
        storage/innobase/include/dict0dict.h
        storage/innobase/include/dict0mem.h
        storage/innobase/include/ha_prototypes.h
        storage/innobase/include/lock0lock.h
        storage/innobase/include/row0mysql.h
        storage/innobase/include/sync0sync.ic
        storage/innobase/include/ut0ut.h
        storage/innobase/lock/lock0lock.c
        storage/innobase/os/os0file.c
        storage/innobase/plug.in
        storage/innobase/row/row0mysql.c
        storage/innobase/row/row0sel.c
        storage/innobase/srv/srv0srv.c
        storage/innobase/srv/srv0start.c
        storage/innobase/ut/ut0ut.c
        storage/myisam/ft_boolean_search.c
        strings/ctype.c
        strings/xml.c
        tests/mysql_client_test.c
        win/configure.js
        mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test

    ------------------------------------------------------------------------
    r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1: minor non-functional changes.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines

  branches/zip:

  Add a ChangeLog entry for a change in r4262.
  ------------------------------------------------------------------------
  r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines

  branches/zip: Make innodb_use_sys_malloc=ON the default.
  Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc)
  to improve branch prediction in the default case.

  Approved by Ken over the IM.
  ------------------------------------------------------------------------
  r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines

  branches/zip:

  Add a sentence at the top of COPYING.Google to clarify that this license
  does not apply to the whole InnoDB.

  Suggested by:	Ken
  ------------------------------------------------------------------------
  r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines

  branches/zip: Initialize ut_list_mutex at startup.  Without this fix,
  ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1.
  This fix addresses Issue #181.

  ut_mem_block_list_init(): Rename to ut_mem_init() and make public.

  ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited).

  mem_init(): Call ut_mem_init().
  ------------------------------------------------------------------------
  r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines

  branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in
  FIL_PAGE_TYPE.  (Bug #43043, Issue #182)

  btr_check_blob_fil_page_type(): New function.

  btr_free_externally_stored_field(), btr_copy_blob_prefix():
  Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE.
  ------------------------------------------------------------------------
  r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines

  branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion.

  btr_check_blob_fil_page_type(): Replace the parameter
  const char* op
  with
  ibool read.  Do not print anything about page type mismatch
  when reading a BLOB page in Antelope format.
  Print space id before page number.
  ------------------------------------------------------------------------
  r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited.
  ------------------------------------------------------------------------
  r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines

  branches/zip: Fix bugs in the fix of Issue #181.  Tested inside and
  outside Valgrind, with innodb_use_sys_malloc set to 0 and 1.

  mem_init(): Invoke ut_mem_init() before mem_pool_create(), because
  the latter one will invoke ut_malloc().

  srv_general_init(): Do not initialize the memory subsystem (mem_init()).

  innobase_init(): Initialize the memory subsystem (mem_init()) before
  calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc().
  Call ut_free_all_mem() in error handling to clean up after the mem_init().
  ------------------------------------------------------------------------
  r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: Remove unused function os_mem_alloc_nocache().
  ------------------------------------------------------------------------
  r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: Remove the unused function dict_index_get_type().
  ------------------------------------------------------------------------
  r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h".
  ------------------------------------------------------------------------
  r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h".
  ------------------------------------------------------------------------
  r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines

  branches/zip: Merge revisions 4261:4287 from branches/5.1:

    ------------------------------------------------------------------------
    r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two
    changes to the autoinc handling.

    1. To fix the immediate problem from the bug report, we must ensure that the
       value written to the table is always less than the max value stored in
       dict_table_t.

    2. The second related change is that according to MySQL documentation when
       the offset is greater than the increment, we should ignore the offset.

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for the fix in r4288.
  ------------------------------------------------------------------------
  r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines

  branches/zip:

  Make ChangeLog entries for bugs in bugs.mysql.com in the form:
  Fix Bug#12345 bug title
  (for bugs after 1.0.2 was released and the ChangeLog published)

  There is no need to bloat the ChangeLog with information that is available
  via bugs.mysql.com.

  Discussed with:	Marko
  ------------------------------------------------------------------------
  r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines

  branches/zip:

  Fix Bug synopsis and remove explanation
  ------------------------------------------------------------------------
  r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines

  branches/zip: Correct the initialization of the memory subsystem once
  again, to finally put Issue #181 to rest.

  Revert some parts of r4274.  It is best not to call ut_malloc() before
  srv_general_init().

  mem_init(): Do not call ut_mem_init().

  srv_general_init(): Initialize the memory subsystem in two phases:
  first ut_mem_init(), then mem_init().  This is because os_sync_init()
  and sync_init() depend on ut_mem_init() and mem_init() depends on
  os_sync_init() or sync_init().

  srv_parse_data_file_paths_and_sizes(),
  srv_parse_log_group_home_dirs(): Remove the output parameters.  Assign
  to the global variables directly.  Allocate memory with malloc()
  instead of ut_malloc(), because these functions will be called before
  srv_general_init().

  srv_free_paths_and_sizes(): New function, for cleaning up after
  srv_parse_data_file_paths_and_sizes() and
  srv_parse_log_group_home_dirs().

  rb://92 approved by Sunny Bains
  ------------------------------------------------------------------------
  r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines

  branches/zip:

  White-space cleanup in the ChangeLog
  ------------------------------------------------------------------------
  r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines

  branches/zip:

  Do not output the commands that restore the environment because they depend
  on the state of the environment before the test starts executing.
  ------------------------------------------------------------------------
  r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines

  branches/zip:

  Apply any necessary patches to the mysql tree at the end of setup.sh
  This step was previously done manually (and sometimes forgotten).
  ------------------------------------------------------------------------
  r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines

  branches/zip: btr_check_blob_fil_page_type(): Do not report
  FIL_PAGE_TYPE mismatch even when purging a BLOB.
  Heavy users may have large data files created with MySQL 5.0 or earlier,
  and they don not want to have the error log flooded with such messages.

  This fixes Issue #182.
  ------------------------------------------------------------------------
  r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines

  branches/zip

  This is to revert the changes made to the plug.in (r4251) as a fix for
  issue# 178. Changes to plug.in will not propogate to a plugin
  installation unless autotools are rerun which is unacceptable.

  A fix for issue# 178 will be committed in a separate commit.
  ------------------------------------------------------------------------
  r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines

  branches/zip

  This is a fix for issue#178. Instead of using UNIV_LINUX which is
  defined through CFLAGS we use compiler generated define __linux__
  that is effective for both .c and .cc files.
  ------------------------------------------------------------------------
  r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines

  branches/zip:

  Add FreeBSD to the list of the operating systems that have
  sizeof(pthread_t) == sizeof(void*) (i.e. word size).

  On FreeBSD pthread_t is defined like:

    /usr/include/sys/_pthreadtypes.h:

    typedef struct  pthread                 *pthread_t;

  I did the following tests (per Inaam's recommendation):

  a) appropriate version of GCC is available on that platform (4.1.2 or
  higher for atomics to be available)

    On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default
    one is 4.2.1. One can always install the version of choice from the ports
    collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be
    defined and thus the change I am committing will make no difference.

  b) find out if sizeof(pthread_t) == sizeof(long)

    On 32 bit both are 4 bytes, on 64 bit both are 8 bytes.

  c) find out the compiler generated platform define (e.g.: __aix, __sunos__
  etc.)

    The macro is __FreeBSD__.

  d) patch univ.i with the appropriate platform define
  e) build the mysql
  f) ensure it is using atomic builtins (look at the err.log message at
  system startup. It should say we are using atomics for both mutexes and
  rw-locks)
  g) do sanity testing (keeping in view the smp changes)

    I ran the mysql-test suite. All tests pass.
  ------------------------------------------------------------------------
  r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines

  branches/zip:

  As suggested by Ken, print a message that says that the Google SMP patch
  (GCC atomics) is disabled if it is. Also extend the message when the patch
  is partially enabled to make it clear that it is partially enabled.
  ------------------------------------------------------------------------
  r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines

  branches/zip:

  Fix typo made in r4353.
  ------------------------------------------------------------------------
  r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines

  branches/zip:

  Implement a check whether pthread_t objects can be used by GCC atomic
  builtin functions. This check is implemented in plug.in and defines the
  macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the
  relevant part of the code enabled (the one that uses GCC atomics against
  pthread_t objects).

  In addition to this, the same program that is compiled as part of the
  plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source
  archives that are shipped to the users, a generated Makefile.in is added.
  That Makefile.in will be modified to compile ut/ut0auxconf.c and define
  the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e.
  Makefile.in will emulate the work that is done by plug.in. This is done in
  order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually
  defined without regenerating MySQL's ./configure from
  ./storage/innobase/plug.in. The point is not to ask users to install the
  autotools and regenerate ./configure.

  rb://95

  Approved by:	Marko
  ------------------------------------------------------------------------
  r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines

  branches/zip: Merge revisions 4287:4357 from branches/5.1:

    ------------------------------------------------------------------------
    r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv
    It was not a SIGSEGV but an assertion failure. The assertion was checking
    the invariant that *first_value passed in by MySQL doesn't contain a value
    that is greater than the max value for that type. The assertion has been
    changed to a check and if the value is greater than the max we report a
    generic AUTOINC failure.

    rb://93
    Approved by Heikki

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines

  branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict):

    ------------------------------------------------------------------------
    r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1:

    Merge a change from MySQL:

      ------------------------------------------------------------
      revno: 2728.19.1
      committer: Alfranio Correia <alfranio.correia@sun.com>
      branch nick: mysql-5.1-bugteam
      timestamp: Tue 2009-02-03 11:36:46 +0000
      message:
        BUG#42445 Warning messages in innobase/handler/ha_innodb.cc

        There was a type casting problem in the storage/innobase/handler/ha_innodb.cc,
        (int ha_innobase::write_row(...)). Innobase uses has an internal error variable
        of type 'ulint' while mysql uses an 'int'. 

        To fix the problem the function manipulates an error variable of
        type 'ulint' and only casts it into 'int' when needs to return the value.
      modified:
        storage/innobase/handler/ha_innodb.cc

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines

  branches/zip: Merge revision 4359 from branches/5.1:

    ------------------------------------------------------------------------
    r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1:

    Merge a change from MySQL:

      ------------------------------------------------------------
      revno: 2747
      committer: Timothy Smith <timothy.smith@sun.com>
      branch nick: 51
      timestamp: Fri 2009-01-16 17:49:07 +0100
      message:
        Add another cast to ignore int/ulong difference in error types, silence warning on Win64
      modified:
        storage/innobase/handler/ha_innodb.cc

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for the bugfix in c4360.
  ------------------------------------------------------------------------
  r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines

  branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin

  The dynamic plugin on Windows used to be built with MYSQL_SERVER
  compile flag, while it is not the case for other platforms.
  r3797 assumed MYSQL_SERVER was not defined for dynamic plugin,
  which introduced the engine crash during dropping a database.
  ------------------------------------------------------------------------
  r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines

  branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE
  in a separate redo log entry.  This will make ibbackup --apply-log
  debugging easier.
  ------------------------------------------------------------------------
  r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines

  branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change,
  initialize FIL_PAGE_TYPE.  This will make it easier to write the debug
  assertions for ibbackup --apply-log.
  ------------------------------------------------------------------------
  r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines

  branches/zip: Merge revisions 4359:4400 from branches/5.1:

    ------------------------------------------------------------------------
    r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines

    branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
    also for unlock_row().  (Bug #39320)
    ------------------------------------------------------------------------
    r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines

    branches/5.1: Fix a bug in multi-table semi-consistent reads.
    Remember the acquired record locks per table handle (row_prebuilt_t)
    rather than per transaction (trx_t), so that unlock_row should successfully
    unlock all non-matching rows in multi-table operations.
    This deficiency was found while investigating Bug #39320.
    ------------------------------------------------------------------------

  These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri.
  ------------------------------------------------------------------------
  r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines

  branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and
  adjust all callers.
  ------------------------------------------------------------------------
  r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines

  branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL
  before dereferencing it.  In this way, ut_list_node_313 will be
  pointing to the last non-NULL list item at the time of the assertion
  failure.  (gcc-4.3.2 -O3 seems to optimize the common subexpressions
  and make the variable NULL, though.)
  ------------------------------------------------------------------------
  r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines

  branches/zip: sync_thread_add_level(): Make the assertions about
  level == SYNC_BUF_BLOCK more readable.
  ------------------------------------------------------------------------
  r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines

  branches/zip:

  Remove mysql-test/patches/bug32625.diff because that bug was fixed in
  the mysql repository (1 year and 4 months after sending them the simple
  patch!). See http://bugs.mysql.com/32625
  ------------------------------------------------------------------------
  r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line

  branches/zip: buf0buddy.c: Add and adjust some debug assertions.
  ------------------------------------------------------------------------
  r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines

  branches/zip:

  Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that
  1.0.3 has been released.
  ------------------------------------------------------------------------
  r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines

  branches/zip:

  Remove mysql-test/patches/bug41893.diff because that bug has been fixed
  in the MySQL repository, see http://bugs.mysql.com/41893.
  ------------------------------------------------------------------------
  r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines

  branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions.
  ------------------------------------------------------------------------
  r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line

  branches/zip: buf_buddy_free_low(): Correct the function comment.
  ------------------------------------------------------------------------
  r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines

  branches/zip: Merge revisions 4400:4481 from branches/5.1:

    ------------------------------------------------------------------------
    r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines

    branches/5.1: row_unlock_for_mysql(): Do not unlock records that were
    modified by the current transaction.  This bug was introduced or unmasked
    in r4400.

    rb://97 approved by Heikki Tuuri
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines

  branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup:

  Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with
  dict_ind_redundant and dict_ind_compact, initialized in dict_init().
  ------------------------------------------------------------------------
  r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines

  branches/zip: Add const qualifiers or in/out comments to some function
  parameters in log0log.
  ------------------------------------------------------------------------
  r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines

  branches/zip: page_validate(): Always report the space id and the
  name of the index.

  In Hot Backup, do not invoke comparison functions, as MySQL collations
  will be unavailable.
  ------------------------------------------------------------------------
  r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id().
  ------------------------------------------------------------------------
  r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines

  branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars.
  This eliminates some "unused variable" warnings when building
  InnoDB Hot Backup in such a way that all mutex operations are no-ops.
  ------------------------------------------------------------------------
  r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h.
  ------------------------------------------------------------------------
  r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: recv_recover_page(): Remove compile-time constant parameters.
  ------------------------------------------------------------------------
  r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: recv_sys_init(): Remove a compile-time constant parameter.
  ------------------------------------------------------------------------
  r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines

  branches/zip: Non-functional change: Add const qualifiers.

  log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf():
  The log block is read-only.  Make it const.
  ------------------------------------------------------------------------
  r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter.
  ------------------------------------------------------------------------
  r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: fil_init(): Add the parameter hash_size.
  ------------------------------------------------------------------------
  r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines

  branches/zip:

  Add any entry about the release of 1.0.3 in the ChangeLog.
  ------------------------------------------------------------------------
  r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line

  branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Define and use ASSERT_HASH_MUTEX_OWN.
  Make it a no-op in UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Define and use PAGE_ZIP_MATCH.
  In UNIV_HOTBACKUP builds, assume fixed allocation.
  ------------------------------------------------------------------------
  r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line

  branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP.
  ------------------------------------------------------------------------
  r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Exclude some operating system interface code
  from UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Remove the remaining references to hash_table_t::adapive
  from UNIV_HOTBACKUP builds.  This should have been done in r4515.
  ------------------------------------------------------------------------
  r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Enclose recv_recovery_from_backup_on and
  recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE.
  ------------------------------------------------------------------------
  r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions
  ensuring that FIL_PAGE_TYPE makes sense when applying log records.
  ------------------------------------------------------------------------
  r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Remove unneeded definitions and dependencies
  from UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines

  branches/zip: adjust build files on Windows

  Adjust the patch positions based on the latest MySQL source.
  Also add the patches to the .bat files for vs9.
  ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
marko
86b8525254 branches/innodb+: Merge revisions 3602:3931 from branches/zip:
------------------------------------------------------------------------
  r3607 | marko | 2008-12-30 22:33:31 +0200 (Tue, 30 Dec 2008) | 20 lines

  branches/zip: Remove the dependency on the MySQL HASH table implementation.
  Use the InnoDB hash table for keeping track of INNOBASE_SHARE objects.

  struct st_innobase_share: Make table_name const uchar*.  Add the member
  table_name_hash.

  innobase_open_tables: Change the type from HASH to hash_table_t*.

  innobase_get_key(): Remove.

  innobase_fold_name(): New function, for computing the fold value for the
  InnoDB hash table.

  get_share(), free_share(): Use the InnoDB hash functions.

  innobase_end(): Free innobase_open_tables before shutting down InnoDB.
  Shutting down InnoDB will invalidate all memory allocated via InnoDB.

  rb://65 approved by Heikki Tuuri.  This addresses Issue #104.
  ------------------------------------------------------------------------
  r3608 | marko | 2008-12-30 22:45:04 +0200 (Tue, 30 Dec 2008) | 22 lines

  branches/zip: When setting the PAGE_LEVEL of a compressed B-tree page
  from or to 0, compress the page at the same time.  This is necessary,
  because the column information stored on the compressed page will
  differ between leaf and non-leaf pages.  Leaf pages are identified by
  PAGE_LEVEL=0.  This bug was reported as Issue #150.

  Document the similarity between btr_page_create() and
  btr_page_empty().  Make the function signature of btr_page_empty()
  identical with btr_page_create().  (This will add the parameter "level".)

  btr_root_raise_and_insert(): Replace some code with a call to
  btr_page_empty().

  btr_attach_half_pages(): Assert that the page level has already been
  set on both block and new_block.  Do not set it again.

  btr_discard_only_page_on_level(): Document that this function is
  probably never called.  Make it work on any height tree.  (Tested on
  2-high tree by disabling btr_lift_page_up().)

  rb://68
  ------------------------------------------------------------------------
  r3612 | marko | 2009-01-02 11:02:44 +0200 (Fri, 02 Jan 2009) | 14 lines

  branches/zip: Merge c2998 from branches/6.0, so that the same InnoDB Plugin
  source tree will work both under 5.1 and 6.0.  Do not add the test case
  innodb_ctype_ldml.test, because it would not work under MySQL 5.1.

  Refuse to create tables whose columns contain collation IDs above 255.
  This removes an assertion failure that was introduced in WL#4164
  (Two-byte collation IDs).

  create_table_def(): Do not fail an assertion if a column contains a
  charset-collation ID greater than 256. Instead, issue an error and
  refuse to create the table.

  The original change (branches/6.0 r2998) was rb://51 approved by Calvin Sun.
  ------------------------------------------------------------------------
  r3613 | inaam | 2009-01-02 15:10:50 +0200 (Fri, 02 Jan 2009) | 6 lines

  branches/zip: Implement the parameter innodb_use_sys_malloc
  (false by default), for disabling InnoDB's internal memory allocator
  and using system malloc/free instead.

  rb://62 approved by Marko
  ------------------------------------------------------------------------
  r3614 | marko | 2009-01-02 15:55:12 +0200 (Fri, 02 Jan 2009) | 1 line

  branches/zip: ChangeLog: Document r3608 and r3613.
  ------------------------------------------------------------------------
  r3615 | marko | 2009-01-02 15:57:51 +0200 (Fri, 02 Jan 2009) | 1 line

  branches/zip: ChangeLog: Clarify the impact of r3608.
  ------------------------------------------------------------------------
  r3616 | marko | 2009-01-03 00:23:30 +0200 (Sat, 03 Jan 2009) | 1 line

  branches/zip: srv_suspend_mysql_thread(): Add some clarifying comments.
  ------------------------------------------------------------------------
  r3618 | marko | 2009-01-05 12:54:53 +0200 (Mon, 05 Jan 2009) | 15 lines

  branches/zip: Merge revisions 3598:3601 from branches/5.1:

    ------------------------------------------------------------------------
    r3601 | marko | 2008-12-22 16:05:19 +0200 (Mon, 22 Dec 2008) | 9 lines

    branches/5.1: Make
    SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
    a true replacement of SET GLOBAL INNODB_LOCKS_UNSAFE_FOR_BINLOG=1.
    This fixes an error that was introduced in r370, causing
    semi-consistent read not to not unlock rows in READ COMMITTED mode.
    (Bug #41671, Issue #146)

    rb://67 approved by Heikki Tuuri
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r3623 | vasil | 2009-01-06 09:56:32 +0200 (Tue, 06 Jan 2009) | 7 lines

  branches/zip:

  Add patch to fix the failing main.variables mysql-test. It started failing
  after the variable innodb_use_sys_malloc was added because it matches
  '%alloc%' and the test is badly written and expects that no new variables
  like that will ever be added.
  ------------------------------------------------------------------------
  r3795 | marko | 2009-01-07 16:17:47 +0200 (Wed, 07 Jan 2009) | 7 lines

  branches/zip: row_merge_tuple_cmp(): Do not report a duplicate key value
  if any of the fields are NULL.  While the tuples are equal in the
  sorting order, SQL NULL is defined to be logically inequal to
  anything else. (Bug #41904)

  rb://70 approved by Heikki Tuuri
  ------------------------------------------------------------------------
  r3796 | marko | 2009-01-07 16:19:32 +0200 (Wed, 07 Jan 2009) | 1 line

  branches/zip: Add the tests that were forgotten from r3795.
  ------------------------------------------------------------------------
  r3797 | marko | 2009-01-07 16:22:18 +0200 (Wed, 07 Jan 2009) | 22 lines

  branches/zip: Do not call trx_allocate_for_mysql() directly, but use
  helper functions that initialize some members of the transaction struct.
  (Bug #41680)

  innobase_trx_init(): New function: initialize some fields of a
  transaction struct from a MySQL THD object.

  innobase_trx_allocate(): New function: allocate and initialize a
  transaction struct.

  check_trx_exists(): Use the above two functions.

  ha_innobase::delete_table(), ha_innobase::rename_table(),
  ha_innobase::add_index(), ha_innobase::final_drop_index():
  Use innobase_trx_allocate().

  innobase_drop_database(): In the Windows plugin, initialize the trx_t
  specially, because the THD is not available.  Otherwise, use
  innobase_trx_allocate().

  rb://69 accepted by Heikki Tuuri
  ------------------------------------------------------------------------
  r3798 | marko | 2009-01-07 16:42:42 +0200 (Wed, 07 Jan 2009) | 8 lines

  branches/zip: row_merge_drop_temp_indexes(): Do not lock the rows of
  SYS_INDEXES when looking for partially created indexes.  Use the
  transaction isolation level READ UNCOMMITTED to avoid interfering with
  locks held by incomplete transactions that will be rolled back in a
  subsequent step in the recovery.  (Issue #152)

  Approved by Heikki Tuuri
  ------------------------------------------------------------------------
  r3852 | vasil | 2009-01-08 22:10:10 +0200 (Thu, 08 Jan 2009) | 4 lines

  branches/zip:

  Add ChangeLog entries for r3795 r3796 r3797 r3798.

  ------------------------------------------------------------------------
  r3866 | marko | 2009-01-09 15:09:51 +0200 (Fri, 09 Jan 2009) | 2 lines

  branches/zip: buf_flush_try_page(): Move some common code from each
  switch case before the switch block.
  ------------------------------------------------------------------------
  r3867 | marko | 2009-01-09 15:13:14 +0200 (Fri, 09 Jan 2009) | 2 lines

  branches/zip: buf_flush_try_page(): Introduce the variable is_compressed
  for caching the result of buf_page_get_state(bpage) == BUF_BLOCK_FILE_PAGE.
  ------------------------------------------------------------------------
  r3868 | marko | 2009-01-09 15:40:11 +0200 (Fri, 09 Jan 2009) | 4 lines

  branches/zip: buf_flush_insert_into_flush_list(),
  buf_flush_insert_sorted_into_flush_list(): Remove unused code.
  Change the parameter to buf_block_t* block and assert that
  block->state == BUF_BLOCK_FILE_PAGE.  This is part of Issue #155.
  ------------------------------------------------------------------------
  r3873 | marko | 2009-01-09 22:27:40 +0200 (Fri, 09 Jan 2009) | 17 lines

  branches/zip: Some non-functional changes related to Issue #155.

  buf_page_struct: Note that space and offset are also protected by
  buf_pool_mutex.  They are only assigned to by
  buf_block_set_file_page().  Thus, it suffices for buf_flush_batch() to
  hold just buf_pool_mutex when checking these fields.

  buf_flush_try_page(): Rename "locked" to "is_s_latched", per Heikki's request.

  buf_flush_batch(): Move the common statement mutex_exit(block_mutex)
  from all if-else if-else branches before the if block.  Remove the
  redundant test (buf_pool->init_flush[flush_type] == FALSE) that was
  apparently copied from buf_flush_write_complete().

  buf_flush_write_block_low(): Note why it is safe not to hold buf_pool_mutex
  or block_mutex.  Enumerate the assumptions in debug assertions.
  ------------------------------------------------------------------------
  r3874 | marko | 2009-01-09 23:09:06 +0200 (Fri, 09 Jan 2009) | 4 lines

  branches/zip: Add comments related to Issue #155.

  buf_flush_try_page(): Note why it is safe to access bpage without
  holding buf_pool_mutex or block_mutex.
  ------------------------------------------------------------------------
  r3875 | marko | 2009-01-09 23:15:12 +0200 (Fri, 09 Jan 2009) | 11 lines

  branches/zip: Non-functional change: Tighten debug assertions and
  remove dead code.

  buf_flush_ready_for_flush(), buf_flush_try_page(): Assert that
  flush_type is one of BUF_FLUSH_LRU or BUF_FLUSH_LIST.  The flush_type
  comes from buf_flush_batch(), which already asserts this.  The
  assertion holds for all calls in the source code.

  buf_flush_try_page(): Remove the dead case BUF_FLUSH_SINGLE_PAGE
  of switch (flush_type).
  ------------------------------------------------------------------------
  r3879 | marko | 2009-01-12 12:46:44 +0200 (Mon, 12 Jan 2009) | 14 lines

  branches/zip: Simplify the flushing of dirty pages from the buffer pool.

  buf_flush_try_page(): Rename to buf_flush_page(), and change the
  return type to void.  Replace the parameters space, offset with bpage,
  and remove the second page hash lookup.  Note and assert that both
  buf_pool_mutex and block_mutex must now be held upon entering the
  function.  They will still be released by this function.

  buf_flush_try_neighbors(): Replace buf_flush_try_page() with
  buf_flush_page().  Make the logic easier to follow by not negating the
  precondition of buf_flush_page().

  rb://73 approved by Sunny Bains.  This is related to Issue #157.
  ------------------------------------------------------------------------
  r3880 | marko | 2009-01-12 13:24:37 +0200 (Mon, 12 Jan 2009) | 2 lines

  branches/zip: buf_flush_page(): Fix a comment that should have been fixed
  in r3879.  Spotted by Sunny.
  ------------------------------------------------------------------------
  r3881 | marko | 2009-01-12 14:25:22 +0200 (Mon, 12 Jan 2009) | 2 lines

  branches/zip: buf_page_get_newest_modification(): Use the block mutex
  instead of the buffer pool mutex.  This is related to Issue #157.
  ------------------------------------------------------------------------
  r3882 | marko | 2009-01-12 14:40:08 +0200 (Mon, 12 Jan 2009) | 3 lines

  branches/zip: struct mtr_struct: Remove the unused field magic_n
  unless UNIV_DEBUG is defined.  mtr->magic_n is only assigned to
  and checked in UNIV_DEBUG builds.
  ------------------------------------------------------------------------
  r3883 | marko | 2009-01-12 14:48:59 +0200 (Mon, 12 Jan 2009) | 1 line

  branches/zip: Non-functional change: Use ut_d when assigning to mtr->state.
  ------------------------------------------------------------------------
  r3884 | marko | 2009-01-12 18:56:11 +0200 (Mon, 12 Jan 2009) | 16 lines

  branches/zip: Non-functional change: Add some debug assertions and comments.

  buf_page_t: Note that the LRU fields are protected by buf_pool_mutex
  only, not block->mutex or buf_pool_zip_mutex.

  buf_page_get_freed_page_clock(): Note that this is sometimes invoked
  without mutex protection.

  buf_pool_get_oldest_modification(): Note that the result may be out of
  date.

  buf_page_get_LRU_position(), buf_page_is_old(): Assert that the buffer
  pool mutex is being held.

  buf_page_release(): Assert that dirty blocks are in the flush list.
  ------------------------------------------------------------------------
  r3896 | marko | 2009-01-13 09:30:26 +0200 (Tue, 13 Jan 2009) | 2 lines

  branches/zip: buf_flush_try_neighbors(): Fix a bug
  that was introduced in r3879 (rb://73).
  ------------------------------------------------------------------------
  r3900 | marko | 2009-01-13 10:32:24 +0200 (Tue, 13 Jan 2009) | 1 line

  branches/zip: Fix some comments to say buf_pool_mutex.
  ------------------------------------------------------------------------
  r3907 | marko | 2009-01-13 11:54:01 +0200 (Tue, 13 Jan 2009) | 3 lines

  branches/zip: row_merge_create_temporary_table(): On error,
  row_create_table_for_mysql() already frees new_table.
  Do not attempt to free it again.
  ------------------------------------------------------------------------
  r3908 | marko | 2009-01-13 12:34:32 +0200 (Tue, 13 Jan 2009) | 1 line

  branches/zip: Enable HASH_ASSERT_OWNED independently of UNIV_SYNC_DEBUG.
  ------------------------------------------------------------------------
  r3914 | marko | 2009-01-13 21:46:22 +0200 (Tue, 13 Jan 2009) | 37 lines

  branches/zip: In hash table lookups, assert that the traversed items
  satisfy some conditions when UNIV_DEBUG is defined.

  HASH_SEARCH(): New parameter: ASSERTION. All users will pass an appropriate
  ut_ad() or nothing.

  dict_table_add_to_columns(): Assert that the table being added to the data
  dictionary cache is not already being pointed to by the name_hash and
  id_hash tables.

  HASH_SEARCH_ALL(): New macro, for use in dict_table_add_to_columns().

  dict_mem_table_free(): Set ut_d(table->cached = FALSE), so that we can
  check ut_ad(table->cached) when traversing the hash tables, as in
  HASH_SEARCH(name_hash, dict_sys->table_hash, ...) and
  HASH_SEARCH(id_hash, dict_sys->table_id_hash, ...).

  dict_table_get_low(), dict_table_get_on_id_low(): Assert
  ut_ad(!table || table->cached).

  fil_space_get_by_id(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N)
  in HASH_SEARCH(hash, fil_system->spaces, ...).

  fil_space_get_by_name(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N)
  in HASH_SEARCH(name_hash, fil_system->name_hash, ...).

  buf_buddy_block_free(): Check that the blocks are in valid state in
  HASH_SEARCH(hash, buf_pool->zip_hash, ...).

  buf_page_hash_get(): Check that the blocks are in valid state in
  HASH_SEARCH(hash, buf_pool->page_hash, ...).

  get_share(), free_share(): Check ut_ad(share->use_count > 0) in
  HASH_SEARCH(table_name_hash, innobase_open_tables, ...).

  This was posted as rb://75 for tracking down errors similar to Issue #153.
  ------------------------------------------------------------------------
  r3931 | marko | 2009-01-14 16:06:22 +0200 (Wed, 14 Jan 2009) | 26 lines

  branches/zip: Merge revisions 3601:3930 from branches/5.1:

    ------------------------------------------------------------------------
    r3911 | sunny | 2009-01-13 14:15:24 +0200 (Tue, 13 Jan 2009) | 13 lines

    branches/5.1: Fix Bug#38187 Error 153 when creating savepoints
    InnoDB previously treated savepoints as a stack e.g.,
      SAVEPOINT a;
      SAVEPOINT b;
      SAVEPOINT c;
      SAVEPOINT b; <- This would delete b and c.

    This fix changes the behavior to:
      SAVEPOINT a;
      SAVEPOINT b;
      SAVEPOINT c;
      SAVEPOINT b; <- Does not delete savepoint c
    ------------------------------------------------------------------------
    r3930 | marko | 2009-01-14 15:51:30 +0200 (Wed, 14 Jan 2009) | 4 lines

    branches/5.1: dict_load_table(): If dict_load_indexes() fails,
    invoke dict_table_remove_from_cache() instead of dict_mem_table_free(),
    so that the data dictionary will not point to freed data.
    (Bug #42075, Issue #153, rb://76 approved by Heikki Tuuri)
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
2009-01-14 14:25:45 +00:00
marko
82cfb40dab branches/innodb+: Merge revisions 3544:3575 from branches/zip:
------------------------------------------------------------------------
  r3572 | marko | 2008-12-17 11:19:56 +0200 (Wed, 17 Dec 2008) | 3 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/btr/btr0sea.c
     M /branches/zip/buf/buf0buf.c
     M /branches/zip/buf/buf0lru.c
     M /branches/zip/ha/ha0ha.c
     M /branches/zip/ha/hash0hash.c
     M /branches/zip/include/buf0buf.h
     M /branches/zip/include/ha0ha.h
     M /branches/zip/include/ha0ha.ic
     M /branches/zip/include/hash0hash.h
     M /branches/zip/include/univ.i

  branches/zip: Introduce UNIV_AHI_DEBUG for debugging the adaptive hash
  index without enabling UNIV_DEBUG.
  ------------------------------------------------------------------------
  r3574 | marko | 2008-12-17 12:44:31 +0200 (Wed, 17 Dec 2008) | 2 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip: ChangeLog: Document recent changes that were not included in
  InnoDB Plugin 1.0.2, except changes to source code comments.
  ------------------------------------------------------------------------
  r3575 | marko | 2008-12-17 14:40:58 +0200 (Wed, 17 Dec 2008) | 12 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/include/row0sel.h
     M /branches/zip/include/row0upd.h
     M /branches/zip/pars/pars0pars.c
     M /branches/zip/row/row0mysql.c
     M /branches/zip/row/row0sel.c
     M /branches/zip/row/row0upd.c

  branches/zip: Remove update-in-place-in-select from the internal SQL
  interpreter.  It was only used for updating the InnoDB internal data
  dictionary when renaming or dropping tables.  It could have caused
  deadlocks after acquiring latches on insert buffer bitmap pages.
  This and r3544 should fix Issue #135.

  Furthermore, the update-in-place-in-select does not account for
  compression failure.  That was not a problem yet, since the InnoDB SQL
  interpreter has so far assumed ROW_FORMAT=REDUNDANT.

  rb://63 approved by Heikki Tuuri
  ------------------------------------------------------------------------
2008-12-17 12:48:23 +00:00
sunny
d0e8003b2f branches/innodb+: Merge revisions 2460:2579 from branches/zip
The followin mysql-tests failed (and they are known to fail):
main.information_schema        	[ fail ]
main.innodb_file_per_table_basic[ fail ]
main.type_bit_innodb           	[ fail ]

Tested against : MYSQL_SERVER_VERSION  "5.1.28"
2008-08-09 00:15:46 +00:00
inaam
c5dacc2914 branches/innodb+: Merge revisions 2344:2454 from branches/zip 2008-05-14 15:43:19 +00:00
marko
1d1dc31a06 branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global
symbols.  Use it for all definitions of non-static variables and functions.

lexyy.c, make_flex.sh: Declare yylex as UNIV_INTERN, not static.  It is
referenced from pars0grm.c.

Actually, according to
	nm .libs/ha_innodb.so|grep -w '[ABCE-TVXYZ]'
the following symbols are still global:

* The vtable for class ha_innodb
* pars0grm.c: The function yyparse() and the variables yychar, yylval, yynerrs

The required changes to the Bison-generated file pars0grm.c will be addressed
in a separate commit, which will add a script similar to make_flex.sh.

The class ha_innodb is renamed from class ha_innobase by a #define.  Thus,
there will be no clash with the builtin InnoDB.  However, there will be some
overhead for invoking virtual methods of class ha_innodb.  Ideas for making
the vtable hidden are welcome.  -fvisibility=hidden is not available in GCC 3.
2008-02-06 14:17:36 +00:00
marko
f19db3bbb0 branches/zip: Fix some things to allow InnoDB to be built with smaller
UNIV_PAGE_SIZE than the default 16384.

MEM_BLOCK_STANDARD_SIZE: Cap to MEM_MAX_ALLOC_IN_BUF when UNIV_PAGE_SIZE
is less than 16384.

ha_create_func(): Invoke mem_heap_create_in_btr_search() with
ut_min(4096, MEM_MAX_ALLOC_IN_BUF) instead of 4096.  The memory
will be allocated from the buffer pool, and with UNIV_PAGE_SIZE
defined to 4096, there would not be any space for the mem_heap
data structure overhead.
2007-12-20 21:36:45 +00:00
vasil
5cbf4e3840 branches/zip:
Implement a limit on the memory used by the INNODB_TRX, INNODB_LOCKS and
INNODB_LOCK_WAITS tables. The maximum allowed memory is defined with the
macro TRX_I_S_MEM_LIMIT.

Approved by:	Marko (via IM)
2007-11-16 13:12:13 +00:00
vasil
8dba58e45b branches/zip:
Add const qualifier to the value returned by ha_storage_put().
It must not be changed as this will invalidate the hash.
2007-09-28 13:40:12 +00:00
vasil
92ff5c4790 branches/zip:
Add a type that stores chunks of data in its own storage and avoids
duplicates. Supported methods:

ha_storage_create()
Allocates new storage object.

ha_storage_put()
Copies a given data chunk into the storage and returns pointer to the
copy. If the data chunk is already present, a pointer to the existing
object is returned and the given data chunk is not copied.

ha_storage_empty()
Clears (empties) the storage from all data chunks that are stored in it.

ha_storage_free()
Destroys a storage object. Opposite to ha_storage_create().

Approved by:	Marko
2007-09-24 12:21:29 +00:00
marko
63583d80a7 branches/zip: hash_create(): Remove two unused variables. They should have
been removed in r1752.
2007-08-29 05:48:37 +00:00
vasil
617cbacd07 branches/zip: Use hash_table_clear() to initialize the array instead of
for()-loop.

Suggested by:	Sunny
Approved by:	Marko
2007-08-23 07:01:24 +00:00
marko
88df83bb3b branches/zip: Merge revisions 1402:1493 from trunk.
Remove mysql.patch, because the configuration parameter interface has changed.
2007-05-14 09:07:15 +00:00
marko
5fc003b65d branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG. 2007-01-18 18:29:12 +00:00
marko
8f65d7a661 branches/zip: Merge revisions 1165:1206 from trunk. 2007-01-18 12:58:39 +00:00
marko
64ead9c309 branches/zip: Fix errors when compiling with UNIV_DEBUG and UNIV_SYNC_DEBUG.
buf0buf.ic: Remove the extern declaration of buf_dbg_counter.
It was declared static in buf0buf.c in r1025.

ha0ha.c: #include "btr0sea.h" #ifdef UNIV_SYNC_DEBUG.  Assertions on
btr_search_latch were added in r1041.
2006-11-22 13:08:38 +00:00
marko
97c15d9fe5 branches/zip: When shrinking the buffer pool, disable and purge the adaptive
hash index, because it might occupy the chunk we would like to free.

TODO: In btr_search_check_free_space_in_heap(), release the block if
btr_search_latch is not immediately available.

buf_pool_shrink(): Split from buf_pool_resize().

btr_search_disabled: New variable, similar to srv_use_adaptive_hash_indexes
that was removed earlier.

btr_search_disable(): New function: disable and purge the adaptive hash index.

btr_search_enable(): New function: enable the adaptive hash index.

ha_clear(): New function: Empty a hash table and free the memory heaps.
2006-11-21 14:40:14 +00:00
marko
a9ffc8a7fe branches/zip: ha_node_set_data(): Define a wrapper macro, and rename the
function to ha_node_set_data_func().  In this way, the #ifdef in the
callers can be removed.
2006-11-21 10:34:42 +00:00
marko
7d920dbaca branches/zip: Remove some instrumentation and reduce the output of
SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
2006-11-21 10:09:14 +00:00
marko
8e8719dabe branches/zip: Correct a bug introduced in r1014: Always assign node->block
when assigning node->data.

ha_delete(), ha_search_and_delete_if_found(), ha_remove_all_nodes_to_page():
Remove the parameter buf_block_t* block, now that it is stored within the
hash data structure in debug builds.
2006-11-14 10:42:50 +00:00
marko
51fbf7601c branches/zip: Remove the buf_block_align() calls from ha0ha.c that caused
an assertion failure in debug builds when a context switch occurred in
buf_LRU_search_and_free_block() before the call to
btr_search_drop_page_hash_index() managed to acquire the mutexes again.

ha_node_t: Add the field buf_block_t* block.

ha_search_and_update_if_found(): Rename to ha_search_and_update_if_found_func()
with added buf_block_t* parameter in debug builds.  Define the wrapper macro
ha_search_and_update_if_found() that always takes the buf_block_t* parameter.

ha_insert_for_fold(): Rename to ha_insert_for_fold_func()
with added buf_block_t* parameter in debug builds.  Define the wrapper macro
ha_insert_for_fold() that always takes the buf_block_t* parameter.
2006-11-13 21:53:09 +00:00
marko
e5eb6187b1 branches/zip: ha_delete_hash_node(): Do not call buf_block_align().
Instead, get buf_block_t* as a parameter.

Without this patch, buf_page_hash_get() would return NULL in
buf_block_align().  The function buf_LRU_search_and_free_block()
invokes buf_LRU_block_remove_hashed_page(), which removes the
hash mapping needed by buf_page_hash_get().
2006-10-30 19:46:31 +00:00
marko
bac65733cd branches/zip: Always call buf_block_align() while holding buf_pool->mutex.
This was forgotten from r977.
2006-10-30 16:18:23 +00:00
marko
6ee593b116 branches/zip: Add const qualifiers to read-only pointers.
rec_get_nth_field_offs_old(): Split from rec_get_nth_field_old().

rec_get_nth_field_old(): Reimplement as a constness-preserving macro.

dict_drop_index_tree(), dict_truncate_index_tree(): Note that rec is
an in/out parameter, as the B-tree root page number will be updated.
2006-10-26 08:52:14 +00:00
marko
f8b304727e branches/zip: ha_create(): Remove parameter in_btr_search, which was
passed as TRUE.

Enclose hash_table_t::adaptive and buf_block_t::n_pointers in
#ifdef UNIV_DEBUG.

btr_search_drop_page_hash_index(): Enclose the corruption check
(which depends on buf_block_t::n_pointers) in #ifdef UNIV_DEBUG.
2006-10-18 18:52:04 +00:00
marko
469a27ac2a branches/zip: Replace buf_frame_align() with page_align(), page_offset(),
ut_align_down(), or ut_align_offset().
2006-10-09 16:22:47 +00:00
marko
38e09b2fea branches/zip: Merge revisions 720:765 from trunk and reindent the code
as per revisions r763:765.
2006-08-29 09:30:31 +00:00
marko
5837f75150 branches/zip: Cleanup suggested by Osku.
ut_is_2pow(): New function for testing if a number is zero or a power of two.
Use this function instead of bitwise arithmetics or ut_2_power_up() where
possible.
2006-06-07 11:23:21 +00:00
marko
d30e44bc32 branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00
marko
747c8fad44 branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
marko
dcfc19c47c branches/zip: Merge revisions 79:200 from trunk. 2006-02-17 14:19:39 +00:00
marko
0bf7f4bd1d branches/zip: Merge revisions 9:72 from trunk. 2005-11-29 12:30:46 +00:00
osku
2903c72469 Import 5.0 code. 2005-10-27 07:29:40 +00:00