Commit graph

1256 commits

Author SHA1 Message Date
irana
7f74120473 branches/innodb+
Merge r6915:6992 from branches/innodb+multipbp (i.e.: all the changes
made since it's creation)

This also reverts r6930 to branches/innodb+ because a different
solution for that issue is already present in innodb+multibp which
is being merged.

After this commit branches/innodb+multibp should be discarded
and this branch should become our main development tree.

  ------------------------------------------------------------------------
  r6915 | sbains | 2010-03-31 07:33:43 +0300 (Wed, 31 Mar 2010) | 1 line
  Changed paths:
     A /branches/innodb+multibp (from /branches/innodb+:6914)
  
  Creating a branch for the multiple buffer pool
  ------------------------------------------------------------------------
  r6916 | sbains | 2010-03-31 08:21:00 +0300 (Wed, 31 Mar 2010) | 3 lines
  Changed paths:
     M /branches/innodb+multibp/CMakeLists.txt
     M /branches/innodb+multibp/btr/btr0btr.c
     M /branches/innodb+multibp/btr/btr0cur.c
     M /branches/innodb+multibp/btr/btr0sea.c
     M /branches/innodb+multibp/buf/buf0buddy.c
     M /branches/innodb+multibp/buf/buf0buf.c
     M /branches/innodb+multibp/buf/buf0flu.c
     M /branches/innodb+multibp/buf/buf0lru.c
     M /branches/innodb+multibp/buf/buf0rea.c
     M /branches/innodb+multibp/handler/ha_innodb.cc
     M /branches/innodb+multibp/handler/i_s.cc
     M /branches/innodb+multibp/ibuf/ibuf0ibuf.c
     M /branches/innodb+multibp/include/buf0buddy.h
     M /branches/innodb+multibp/include/buf0buddy.ic
     M /branches/innodb+multibp/include/buf0buf.h
     M /branches/innodb+multibp/include/buf0buf.ic
     M /branches/innodb+multibp/include/buf0flu.h
     M /branches/innodb+multibp/include/buf0flu.ic
     M /branches/innodb+multibp/include/buf0lru.h
     M /branches/innodb+multibp/include/buf0rea.h
     M /branches/innodb+multibp/include/buf0types.h
     M /branches/innodb+multibp/include/ibuf0ibuf.ic
     M /branches/innodb+multibp/include/srv0srv.h
     M /branches/innodb+multibp/include/univ.i
     M /branches/innodb+multibp/log/log0log.c
     M /branches/innodb+multibp/log/log0recv.c
     M /branches/innodb+multibp/mem/mem0mem.c
     M /branches/innodb+multibp/page/page0zip.c
     M /branches/innodb+multibp/srv/srv0srv.c
     M /branches/innodb+multibp/srv/srv0start.c
     M /branches/innodb+multibp/trx/trx0trx.c
     M /branches/innodb+multibp/trx/trx0undo.c
  
  branches/innodb+multibp: Unable to crash it with UNIV_DEBUG and UNIV_SYNC_DEBUG
  with both ibtests and Sysbench. The patch now needs a workout from Michael.
  
  ------------------------------------------------------------------------
  r6917 | sbains | 2010-03-31 08:56:18 +0300 (Wed, 31 Mar 2010) | 2 lines
  Changed paths:
     M /branches/innodb+multibp/handler/ha_innodb.cc
  
  branches/innodb+multibp: Fix error introduced in r6916.
  
  ------------------------------------------------------------------------
  r6923 | sbains | 2010-03-31 15:16:04 +0300 (Wed, 31 Mar 2010) | 3 lines
  Changed paths:
     M /branches/innodb+multibp/btr/btr0cur.c
     M /branches/innodb+multibp/buf/buf0buddy.c
     M /branches/innodb+multibp/buf/buf0buf.c
     M /branches/innodb+multibp/buf/buf0flu.c
     M /branches/innodb+multibp/buf/buf0lru.c
     M /branches/innodb+multibp/include/buf0buddy.ic
     M /branches/innodb+multibp/include/buf0buf.h
     M /branches/innodb+multibp/include/buf0buf.ic
     M /branches/innodb+multibp/include/buf0flu.ic
     M /branches/innodb+multibp/page/page0zip.c
  
  branches/innodb+multibp: Fix whitespace issues. Add function
  buf_pool_from_block(). Add some comments to parameters.
  
  ------------------------------------------------------------------------
  r6932 | sbains | 2010-04-01 01:12:07 +0300 (Thu, 01 Apr 2010) | 4 lines
  Changed paths:
     M /branches/innodb+multibp/include/buf0buf.ic
     M /branches/innodb+multibp/include/univ.i
  
  branches/innodb+multibp: Remove bogus assertion. It's possible for the space
  and offset of a page to be undefined during the lifecycle of a page. Remove
  the debug #defines from univ.i.
  
  ------------------------------------------------------------------------
  r6933 | sbains | 2010-04-01 01:22:40 +0300 (Thu, 01 Apr 2010) | 2 lines
  Changed paths:
     M /branches/innodb+multibp/srv/srv0start.c
  
  branches/innodb+multibp: Fix whitespace issues.
  
  ------------------------------------------------------------------------
  r6934 | sbains | 2010-04-01 01:53:18 +0300 (Thu, 01 Apr 2010) | 2 lines
  Changed paths:
     M /branches/innodb+multibp/CMakeLists.txt
     M /branches/innodb+multibp/ChangeLog
     M /branches/innodb+multibp/buf/buf0buf.c
     M /branches/innodb+multibp/buf/buf0flu.c
     M /branches/innodb+multibp/handler/ha_innodb.cc
     M /branches/innodb+multibp/include/buf0buf.h
     M /branches/innodb+multibp/include/buf0buf.ic
     M /branches/innodb+multibp/include/buf0flu.ic
     M /branches/innodb+multibp/include/srv0srv.h
     M /branches/innodb+multibp/include/sync0sync.h
     M /branches/innodb+multibp/include/trx0purge.h
     M /branches/innodb+multibp/include/ut0ut.h
     M /branches/innodb+multibp/include/ut0ut.ic
     M /branches/innodb+multibp/lock/lock0lock.c
     M /branches/innodb+multibp/log/log0recv.c
     M /branches/innodb+multibp/mtr/mtr0mtr.c
     M /branches/innodb+multibp/mysql-test/innodb_bug38231.test
     A /branches/innodb+multibp/mysql-test/innodb_bug51920.result (from /branches/innodb+/mysql-test/innodb_bug51920.result:6931)
     A /branches/innodb+multibp/mysql-test/innodb_bug51920.test (from /branches/innodb+/mysql-test/innodb_bug51920.test:6931)
     M /branches/innodb+multibp/row/row0sel.c
     M /branches/innodb+multibp/srv/srv0srv.c
     M /branches/innodb+multibp/srv/srv0start.c
     M /branches/innodb+multibp/sync/sync0sync.c
     M /branches/innodb+multibp/trx/trx0purge.c
  
  branches/innodb+multibp: Merge revisions r6914:6931 from branches/innodb+
  
  ------------------------------------------------------------------------
  r6935 | sbains | 2010-04-01 02:08:32 +0300 (Thu, 01 Apr 2010) | 3 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0flu.c
     M /branches/innodb+multibp/include/buf0flu.ic
     M /branches/innodb+multibp/mtr/mtr0mtr.c
  
  branches/innodb+multibp: Fix the debug assertions for flush order mutex. These
  were missed in r6934.
  
  ------------------------------------------------------------------------
  r6936 | sbains | 2010-04-01 02:46:52 +0300 (Thu, 01 Apr 2010) | 4 lines
  Changed paths:
     M /branches/innodb+multibp/sync/sync0sync.c
  
  branches/innodb+multibp: Because now we have multiple instances of a mutex at
  the same level and these mutexes can be acquired simultaneously we can't
  simply check for <= level. We need to check for <= level - 1.
  
  ------------------------------------------------------------------------
  r6937 | sbains | 2010-04-01 04:40:17 +0300 (Thu, 01 Apr 2010) | 5 lines
  Changed paths:
     M /branches/innodb+multibp/trx/trx0purge.c
  
  branches/innodb+multibp: We need to check if the history list len is > than
  some threshold not that it is evenly divisible by the some batch size. While
  running tests on dscczz01 I've observed that the purge thread can't keep up
  with the generation of the UNDO log records because of the faster code.
  
  ------------------------------------------------------------------------
  r6938 | irana | 2010-04-01 10:15:00 +0300 (Thu, 01 Apr 2010) | 7 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0buf.c
     M /branches/innodb+multibp/buf/buf0flu.c
     M /branches/innodb+multibp/include/buf0buf.h
     M /branches/innodb+multibp/include/buf0buf.ic
     M /branches/innodb+multibp/include/buf0flu.h
     M /branches/innodb+multibp/include/buf0flu.ic
     M /branches/innodb+multibp/include/log0log.h
     M /branches/innodb+multibp/include/sync0sync.h
     M /branches/innodb+multibp/log/log0log.c
     M /branches/innodb+multibp/log/log0recv.c
     M /branches/innodb+multibp/mtr/mtr0mtr.c
     M /branches/innodb+multibp/sync/sync0sync.c
  
  branches/innodb+multibp
  
  The buf_flush_order patch that was ported in from 1.1 won't work with
  multiple buffer pools. This patch moves the mutex protecting order of
  insertion in the flush list(s) to log_sys struct so that we can have
  one global mutex protecting insertions into all flush list(s)
  
  ------------------------------------------------------------------------
  r6941 | sbains | 2010-04-02 00:51:28 +0300 (Fri, 02 Apr 2010) | 4 lines
  Changed paths:
     M /branches/innodb+multibp/lock/lock0lock.c
  
  branches/innodb+multibp: We should get the record heap no to check recursively
  only if we are checking a record lock. Prior to this fix we were doing it for
  table locks as well, this is a bug.
  
  ------------------------------------------------------------------------
  r6942 | csun | 2010-04-02 02:39:10 +0300 (Fri, 02 Apr 2010) | 4 lines
  Changed paths:
     M /branches/innodb+multibp/ha/ha0ha.c
  
  branches/innodb+multibp: fix compiler errors on Windows.
  Move ut_ad() to after declarations for C file.
  
  
  ------------------------------------------------------------------------
  r6943 | sbains | 2010-04-03 05:14:25 +0300 (Sat, 03 Apr 2010) | 2 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0buf.c
  
  branches/innodb+multibp: Remove the code that created the fake buffer pool.
  
  ------------------------------------------------------------------------
  r6945 | irana | 2010-04-05 23:35:29 +0300 (Mon, 05 Apr 2010) | 5 lines
  Changed paths:
     M /branches/innodb+multibp/lock/lock0lock.c
  
  branches/innodb+multibp
  
  Revert r6941 as it does not resolve the issue and we have to take
  back the whole fix for bug#49047
  
  ------------------------------------------------------------------------
  r6946 | irana | 2010-04-05 23:50:42 +0300 (Mon, 05 Apr 2010) | 6 lines
  Changed paths:
     M /branches/innodb+multibp/include/ut0ut.h
     M /branches/innodb+multibp/include/ut0ut.ic
     M /branches/innodb+multibp/lock/lock0lock.c
  
  branches/innodb+multibp
  
  Merged revisions 6932:6944 from branches/innodb+
  
  This solely includes the reversal of fix for bug#49047
  
  ------------------------------------------------------------------------
  r6947 | sbains | 2010-04-06 01:33:46 +0300 (Tue, 06 Apr 2010) | 3 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0lru.c
  
  branches/innodb+multibp: Remove the log sys mutex acquisition when doing
  buffer pool stat aggregation. A dirty read here should suffice.
  
  ------------------------------------------------------------------------
  r6951 | irana | 2010-04-06 17:25:29 +0300 (Tue, 06 Apr 2010) | 5 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0buf.c
  
  branches/innodb+mbp
  
  Initialize the buf_page_t::buf_pool pointer when the descriptor is
  allocated using buf_buddy_alloc().
  
  ------------------------------------------------------------------------
  r6954 | jyang | 2010-04-06 21:24:46 +0300 (Tue, 06 Apr 2010) | 4 lines
  Changed paths:
     M /branches/innodb+multibp/handler/ha_innodb.cc
  
  branches/innodb+multibp: Fix a possible null pointer of index_mapping
  in a race condition.
  
  
  ------------------------------------------------------------------------
  r6958 | sbains | 2010-04-07 00:27:44 +0300 (Wed, 07 Apr 2010) | 3 lines
  Changed paths:
     M /branches/innodb+multibp/include/ut0mem.h
     M /branches/innodb+multibp/ut/ut0mem.c
  
  branches/innodb+multibp: Fix part of Bug#52546. We allow ut_free() to accept
  a NULL pointer and treat it as a nop.
  
  ------------------------------------------------------------------------
  r6961 | jyang | 2010-04-07 10:50:03 +0300 (Wed, 07 Apr 2010) | 9 lines
  Changed paths:
     M /branches/innodb+multibp/handler/ha_innodb.cc
  
  branches/innodb+multibp: Fix for bug #52580: Crash in
  ha_innobase::open on executing INSERT with concurrent ALTER TABLE.
  Change in MySQL bug #51557 releases the mutex LOCK_open before
  ha_innobase::open(), causing racing condition for index translation
  table creation. Fix it by adding dict_sys mutex for the operation.
  
  rb://283, approved by Marko.
  
  
  ------------------------------------------------------------------------
  r6963 | irana | 2010-04-07 19:14:10 +0300 (Wed, 07 Apr 2010) | 15 lines
  Changed paths:
     M /branches/innodb+multibp/handler/ha_innodb.cc
  
  branches/innodb+multibp
  
  Force setting of buf_pool->LRU_old_ratio by calling
  buf_LRU_old_ratio_update() with adjust set to TRUE. This will make sure
  that we grab the buf_pool mutex and actually adjust the
  buf_pool->LRU_old pointer instead of just updating the
  buf_pool->LRU_old_ratio.
  
  Note that after this change there is no call to
  buf_LRU_old_ratio_update() with adjust set to FALSE and therefore
  this parameter should be removed. I am keeping it for now to first
  make sure that the fix does work.
  
  Approved by: No one. Sunny agreed with my hypothesis of the problem.
  
  ------------------------------------------------------------------------
  r6964 | irana | 2010-04-07 19:59:59 +0300 (Wed, 07 Apr 2010) | 5 lines
  Changed paths:
     M /branches/innodb+multibp/handler/ha_innodb.cc
  
  branches/innodb+multibp
  
  Remove a too strong assertion on behalf of Jimmy.
  
  
  ------------------------------------------------------------------------
  r6971 | sbains | 2010-04-09 13:23:33 +0300 (Fri, 09 Apr 2010) | 6 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0buf.c
  
  branches/innodb+multibp: When getting the oldest (minimum) LSN value from all
  the flush lists we need to acquire the flush list mutex. We were incorrectly
  acquiring the buffer pool mutex.
  
  This patch should fix a slew of bugs reported by Michael.
  
  ------------------------------------------------------------------------
  r6972 | sbains | 2010-04-10 00:25:09 +0300 (Sat, 10 Apr 2010) | 5 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0buf.c
  
  branches/innodb+multibp: We should not reset the lsn to 0 when we encounter
  an empty flush list. Oldest LSN should be 0 only when all flush lists are empty.
  e.g., without this fix if even one flush list was empty we would end up
  breaking WAL.
  
  ------------------------------------------------------------------------
  r6987 | sbains | 2010-04-14 00:14:13 +0300 (Wed, 14 Apr 2010) | 12 lines
  Changed paths:
     M /branches/innodb+multibp/buf/buf0buf.c
  
  branches/innodb+multibp: When calculating the oldest_lsn we can have a
  situation where we've iterated to say buffer pool 3 and another thread
  adds two new dirty pages, the first to buffer pool 1 and the second to
  buffer pool 4. Up to say buffer pool 3 the oldest_lsn was 0. Now, we will
  end up returning the lsn at buffer pool 4 as the oldest LSN. We prevent this
  by acquiring the flush order mutex.
  
  One other future option is to calculate the min_lsn when flushing pages
  from the list and maintaining a running total using atomics. That way
  we can get rid of this function altogether. The atomics will only really
  be required when we do parallel flushing.
  
  ------------------------------------------------------------------------
  r6992 | sbains | 2010-04-14 02:45:59 +0300 (Wed, 14 Apr 2010) | 2 lines
  Changed paths:
     M /branches/innodb+multibp/include/ut0rbt.h
     M /branches/innodb+multibp/ut/ut0rbt.c
  
  branches/innodb+multibp: Fix copyright of the rbt code.
  
  ------------------------------------------------------------------------
2010-04-19 15:44:15 +00:00
mmakela
1e13dd0b11 branches/innodb+: buf_flush_insert_sorted_into_flush_list(): Restore ut_ad()
assertions that were removed when introducing the flush list mutex,
and add comments that explain why these assertions are valid.

Discussed with Inaam Rana.
2010-04-07 18:11:18 +00:00
jyang
f460801456 branches/innodb+: Add support that individual mutex/rwlock can
be excluded from performance schema instrumentation. Exclude
buffer block mutex/rwlock from performance schema instrumentation
by default.
2010-04-07 05:00:00 +00:00
mmakela
6e3a51e06a branches/innodb+: Merge revisions 6925:6949 from branches/zip:
------------------------------------------------------------------------
  r6949 | mmakela | 2010-04-06 16:11:46 +0300 (Tue, 06 Apr 2010) | 7 lines

  branches/zip: Add debug checks to track down Issue #461.

  dict_table_check_for_dup_indexes(): Add the flag tmp_ok.  If !tmp_ok,
  check that no index name starts with TEMP_INDEX_PREFIX.

  ha_innobase::add_index(), ha_innobase::prepare_drop_index(),
  ha_innobase::final_drop_index(): Call dict_table_check_for_dup_indexes().
  ------------------------------------------------------------------------
2010-04-06 12:18:47 +00:00
irana
1e00b61009 branches/innodb+
Revert r6931 because it introduced following bugs:
http://bugs.mysql.com/bug.php?id=52588
http://bugs.mysql.com/bug.php?id=52590
2010-04-05 19:31:35 +00:00
irana
eb6e2444dd branches/innodb+ rb://257
When a transaction joins we check if there are any other transactions
waiting on its locks. If there aren't any waiting then no deadlock can
occur.  This patch however has additional changes.

 1. Count leading zeros
 2. Count trailing zeros

There are two version of both these utility functions. One is hand
coded and the other will use the GCC builtin when available. The
changes to configure have yet to be made.

Simplify the next record lock fetch in the deadlock check code.

Pass the heap number as a parameter to the deadlock check code.

Written by: Sunny
2010-03-31 21:09:09 +00:00
irana
3ac3256773 branches/innodb+ rb://281
changes to mtr_commit:

1) grab log mutex (and do initial mtr commit stuff)
for each dirty block
 2) grab flush_list mutex
 3) Insert into flush list
 4) release flush_list mutex
5) release log_sys mutex

Changed version:

1) grab log mutex (and do initial mtr commit stuff)
2) grab a new flushList order mutex
3) release log mutex
for each dirty block
 4) grab flush_list mutex
 5) Insert into flush list
 6) release flush_list mutex
7) Release new flush list order mutex 

Approved by: Marko has given the initial nod.
2010-03-31 20:49:53 +00:00
irana
af835e8675 branches/innodb+
Non-functional change. Take our the start up message about ignoring
innodb_use_native_aio.
2010-03-31 18:22:20 +00:00
sbains
6e0fc8e875 branches/innodb+: Add check for libaio on Linux. 2010-03-31 16:20:22 +00:00
sbains
5850b0edfd branches/innodb+: Create a separate purge thread to do the purge. Introduce
two new configuration parameters.

  1. innodb-purge-threads := [01] -- default is 0
  2. innodb-purge-batch-size := 20 ... 5000 -- default is 20

rb://271
2010-03-31 15:22:51 +00:00
mmakela
20f9d908bf branches/innodb+: Merge revisions r6897:6925 from branches/zip.
Skip r6900, which was backported from branches/innodb+ 6899.
  ------------------------------------------------------------------------
  r6919 | mmakela | 2010-03-31 11:34:22 +0300 (Wed, 31 Mar 2010) | 54 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/handler/ha_innodb.cc
     M /branches/zip/mysql-test/innodb_bug38231.test
     A /branches/zip/mysql-test/innodb_bug51920.result
     A /branches/zip/mysql-test/innodb_bug51920.test
     M /branches/zip/row/row0sel.c
     M /branches/zip/srv/srv0srv.c

  branches/zip: Merge revisions 6788:6918 from branches/5.1:

    ------------------------------------------------------------------------
    r6822 | vasil | 2010-03-15 10:17:31 +0200 (Mon, 15 Mar 2010) | 12 lines
    Changed paths:
       M /branches/5.1/row/row0sel.c

    branches/5.1:

    Typecast to silence a compiler warning:

    row/row0sel.c: 4548
            C4244: '=' : conversion from 'float' to 'ib_ulonglong', possible loss of data
    row/row0sel.c: 4553
            C4244: '=' : conversion from 'double' to 'ib_ulonglong', possible loss of data

    Reported by:	Jonas Oreland <Jonas.Oreland@Sun.COM>
    Discussed with:	Sunny Bains <sunny.bains@oracle.com>
    ------------------------------------------------------------------------
    r6884 | vdimov | 2010-03-26 13:05:03 +0200 (Fri, 26 Mar 2010) | 6 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb_bug38231.test

    branches/5.1:

    Fix a non-determinism in innodb_bug38231.

    Reported by:	Sergey Vojtovich <svoj@Sun.COM>
    ------------------------------------------------------------------------
    r6911 | vdimov | 2010-03-30 11:39:02 +0300 (Tue, 30 Mar 2010) | 2 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1: Whitespace fixup
    ------------------------------------------------------------------------
    r6912 | vdimov | 2010-03-30 12:18:46 +0300 (Tue, 30 Mar 2010) | 2 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1: Whitespace fixup on line 354
    ------------------------------------------------------------------------
    r6918 | mmakela | 2010-03-31 11:14:51 +0300 (Wed, 31 Mar 2010) | 6 lines
    Changed paths:
       A /branches/5.1/mysql-test/innodb_bug51920.result
       A /branches/5.1/mysql-test/innodb_bug51920.test
       M /branches/5.1/srv/srv0srv.c

    branches/5.1: Obey KILL during a lock wait (Bug #51920).

    srv_suspend_mysql_thread(), srv_lock_timeout_and_monitor_thread():
    Check trx_is_interrupted() in addition to checking the lock wait timeout.

    rb://279 approved by Sunny Bains
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r6920 | mmakela | 2010-03-31 11:49:08 +0300 (Wed, 31 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/row/row0sel.c

  branches/zip: Fix a compilation error that sneaked in in r6919.
  ------------------------------------------------------------------------
  r6922 | mmakela | 2010-03-31 14:54:30 +0300 (Wed, 31 Mar 2010) | 11 lines
  Changed paths:
     M /branches/zip/mysql-test/innodb_bug51920.result
     M /branches/zip/mysql-test/innodb_bug51920.test

  branches/zip: Merge revisions 6918:6921 from branches/5.1:

    ------------------------------------------------------------------------
    r6921 | mmakela | 2010-03-31 14:33:04 +0300 (Wed, 31 Mar 2010) | 2 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb_bug51920.result
       M /branches/5.1/mysql-test/innodb_bug51920.test

    branches/5.1: innodb_bug51920.test: Make the test quicker and more
    deterministic.  Suggested by Vasil Dimov.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r6925 | mmakela | 2010-03-31 15:30:56 +0300 (Wed, 31 Mar 2010) | 9 lines

  branches/zip: Merge revisions 6921:6924 from branches/5.1:

    ------------------------------------------------------------------------
    r6924 | mmakela | 2010-03-31 15:28:25 +0300 (Wed, 31 Mar 2010) | 1 line
    Changed paths:
       M /branches/5.1/mysql-test/innodb_bug51920.test

    branches/5.1: innodb_bug51920.test: Fix a race condition.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
2010-03-31 11:39:54 +00:00
sbains
f8f424da71 branches/innodb+: Create additional rollback segments on startup. Reduce
the upper limit of total rollback segments from 256 to 128. This is because
we can't use the sign bit. It has not caused problems in the past because we
only created one segment. InnoDB has always had the capability to use the
additional rollback segments therefore this patch is backwards compatible.
The only requirement to maintain backward compatibility has been to ensure
that the additional segments are created after the double write buffer.
This is to avoid breaking assumptions in the existing code.

Fix Bug#26590 MySQL does not allow more than 1023 open transactions
2010-03-31 01:11:13 +00:00
mmakela
f29b6ef029 branches/innodb+: btr_cur_search_to_nth_level(): Reduce the scope of node_ptr
and rearrange some code in order to eliminate an unwarranted
"possibly uninitialized" warning that was reported by Sunny.

rb://276 approved by Inaam Rana
2010-03-30 15:53:08 +00:00
irana
9280ce1e05 branches/innodb+ rb://273
Don't allow master thread to flush pages if it has been less then
a second since last iteration.

Approved by: Marko
2010-03-29 14:19:12 +00:00
mmakela
de541c9a9d branches/innodb+: ibuf_set_entry_counter(): Return FALSE
if the cursor is not positioned at or before a user record.
Spotted by Sunny or his gcc, which noted that counter may be uninitialized.
2010-03-29 12:03:23 +00:00
mmakela
efc82fb858 branches/innodb+: Buffer DELETE and purge on UNIQUE indexes. Sunny
noted that the check for ignore_secondary_unique might not be disabled
for deletes.  Indeed, I see no reason for the check to exist for deletes.

btr_op_enum: Document the constants. Add BTR_INSERT_IGNORE_UNIQUE_OP.

btr_cur_search_to_nth_level(): Remove the variable
ignore_sec_unique. Use btr_op instead. Invoke ibuf_should_try() with
ignore_sec_unique = (btr_op != BTR_INSERT_OP), that is, always ignore
the UNIQUE constraint when buffering delete-mark and purge.

BTR_IGNORE_SEC_UNIQUE: Note that the flag only makes sense in
conjunction with BTR_INSERT.

rb://274 approved by Sunny Bains.  This addresses Issue #471.
2010-03-29 11:51:22 +00:00
mmakela
66ed271969 branches/innodb+: btr_cur_search_to_nth_level(): Remove a bogus comment.
The adaptive hash index can be used when a buffered operation is requested,
and the latch_mode check does not prevent it, because latch_mode does not
contain any btr_op bits at this point.
2010-03-29 10:26:39 +00:00
mmakela
8cf6771b05 branches/innodb+: Add debug assertions to track down Bug #52360.
hash_table_t::magic_n: Add HASH_TABLE_MAGIC_N checks, which were fully absent.
ut_hash_ulint(): Assert table_size > 0 before division.
2010-03-29 09:53:36 +00:00
mmakela
d08cd430ba branches/innodb+: Merge revisions 6853:6897 from branches/zip:
Skip r6860, which was merged from branches/innodb+ to branches/zip,
and r6857, which is only applicable to branches/zip.
  ------------------------------------------------------------------------
  r6858 | mmakela | 2010-03-23 14:09:24 +0200 (Tue, 23 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/handler/ha_innodb.cc

  branches/zip: innodb_read_ahead_threshold: Add missing space to help string.
  ------------------------------------------------------------------------
  r6861 | vdimov | 2010-03-23 19:31:02 +0200 (Tue, 23 Mar 2010) | 36 lines
  Changed paths:
     M /branches/zip/trx/trx0i_s.c

  branches/zip:

  Merge joerg@mysql.com-20100322150231-vdq0afbqtmbs6phy from BZR,

  Including univ.i before mysql/plugin.h is needed to avoid this
  compiler error:

  o  This is how gcc puts it:
  o  > > ccache /usr/local/gcc-4.3.2/bin/gcc -static-libgcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -I../../zlib    -g -O3 -march=i686   -DUNIV_LINUX -MT libinnobase_a-trx0i_s.o -MD -MP -MF .deps/libinnobase_a-trx0i_s.Tpo -c -o libinnobase_a-trx0i_s.o `test -f 'trx/trx0i_s.c' || echo './'`trx/trx0i_s.c
  o  > > In file included from ./include/univ.i:114,
  o  > >                  from trx/trx0i_s.c:36:
  o  > > ../../include/my_pthread.h:628: error: expected ')' before '*' token
  o  > > In file included from ../../include/my_pthread.h:732,
  o  > >                  from ./include/univ.i:114,
  o  > >                  from trx/trx0i_s.c:36:
  o  > > ../../include/mysql/psi/mysql_thread.h💯 error: expected specifier-qualifier-list before 'pthread_rwlock_t'
  o  > > ../../include/mysql/psi/mysql_thread.h:116: error: expected specifier-qualifier-list before 'pthread_rwlock_t'
  o  > > ../../include/mysql/psi/mysql_thread.h: In function 'inline_mysql_rwlock_init':
  o  > > ../../include/mysql/psi/mysql_thread.h:711: error: 'mysql_rwlock_t' has no member named 'm_psi'
  o  > > ../../include/mysql/psi/mysql_thread.h:716: error: 'mysql_rwlock_t' has no member named 'm_rwlock'
  o  > > .... ((continued))
  o  
  o  Intel's icc gives slightly clearer messages:
  o  > > icc -static-intel -static-libgcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -I../../zlib    -O3 -g -unroll2 -ip -mp -restrict -no-ftz -no-prefetch   -DUNIV_LINUX -MT libinnobase_a-trx0i_s.o -MD -MP -MF .deps/libinnobase_a-trx0i_s.Tpo -c -o libinnobase_a-trx0i_s.o `test -f 'trx/trx0i_s.c' || echo './'`trx/trx0i_s.c
  o  > > ../../include/my_pthread.h(628): error: identifier "pthread_rwlock_t" is undefined
  o  > >   extern int rw_pr_init(rw_pr_lock_t *);
  o  > >                         ^
  o  > > 
  o  > > ../../include/mysql/psi/mysql_thread.h(100): error: identifier "pthread_rwlock_t" is undefined
  o  > >     rw_lock_t m_rwlock;
  o  > >     ^
  o  > > 
  o  > > ../../include/mysql/psi/mysql_thread.h(116): error: identifier "pthread_rwlock_t" is undefined
  o  > >     rw_pr_lock_t m_prlock;
  o  > >     ^
  ------------------------------------------------------------------------
  r6864 | mmakela | 2010-03-24 14:05:53 +0200 (Wed, 24 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/include/data0type.ic

  branches/zip: dtype_new_store_for_order_and_null_size(): Add ut_ad() on mtype.
  ------------------------------------------------------------------------
  r6868 | mmakela | 2010-03-25 13:03:08 +0200 (Thu, 25 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/page/page0page.c

  branches/zip: page_validate(): Check the buf[] bounds.
  ------------------------------------------------------------------------
  r6871 | vdimov | 2010-03-25 16:39:44 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Whitespace fixup to be consistent with the rest of the file.
  ------------------------------------------------------------------------
  r6872 | vdimov | 2010-03-25 17:03:17 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Fix ChangeLog - write only the bug title in bugs.mysql.com-related entires.
  ------------------------------------------------------------------------
  r6873 | vdimov | 2010-03-25 17:06:56 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Use Bug#N instead of Bug #N to be consistent with the rest of the fil.
  ------------------------------------------------------------------------
  r6874 | vdimov | 2010-03-25 17:17:52 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Wrap ChangeLog at 78th column
  ------------------------------------------------------------------------
  r6875 | vdimov | 2010-03-25 18:18:15 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Wrap line at 78 column in ChangeLog.
  ------------------------------------------------------------------------
  r6891 | vdimov | 2010-03-26 16:19:01 +0200 (Fri, 26 Mar 2010) | 5 lines
  Changed paths:
     M /branches/innodb+/buf/buf0buddy.c
     M /branches/innodb+/include/btr0btr.ic
     M /branches/innodb+/include/buf0buf.ic
     M /branches/innodb+/include/handler0alter.h
     M /branches/innodb+/include/mtr0mtr.ic
     M /branches/innodb+/include/pars0pars.h
     M /branches/innodb+/include/row0merge.h
     M /branches/innodb+/include/row0row.h
     M /branches/innodb+/include/row0sel.h
     M /branches/innodb+/include/row0types.h
     M /branches/innodb+/include/sync0rw.h
     M /branches/innodb+/include/ut0lst.h
     M /branches/innodb+/include/ut0ut.h
     M /branches/innodb+/os/os0thread.c
     M /branches/innodb+/pars/pars0pars.c
     M /branches/innodb+/plug.in
     M /branches/innodb+/row/row0purge.c
     M /branches/innodb+/row/row0row.c
     M /branches/innodb+/row/row0uins.c
     M /branches/innodb+/trx/trx0rec.c
     M /branches/innodb+/ut/ut0ut.c
     M /branches/innodb+_persistent_stats/buf/buf0buddy.c
     M /branches/innodb+_persistent_stats/include/btr0btr.ic
     M /branches/innodb+_persistent_stats/include/buf0buf.ic
     M /branches/innodb+_persistent_stats/include/handler0alter.h
     M /branches/innodb+_persistent_stats/include/mtr0mtr.ic
     M /branches/innodb+_persistent_stats/include/row0merge.h
     M /branches/innodb+_persistent_stats/include/row0row.h
     M /branches/innodb+_persistent_stats/include/row0sel.h
     M /branches/innodb+_persistent_stats/include/row0types.h
     M /branches/innodb+_persistent_stats/include/sync0rw.h
     M /branches/innodb+_persistent_stats/os/os0thread.c
     M /branches/innodb+_persistent_stats/plug.in
     M /branches/innodb+_persistent_stats/row/row0purge.c
     M /branches/innodb+_persistent_stats/row/row0row.c
     M /branches/innodb+_persistent_stats/row/row0uins.c
     M /branches/innodb+_persistent_stats/trx/trx0rec.c
     M /branches/performance_schema/buf/buf0buddy.c
     M /branches/performance_schema/buf/buf0flu.c
     M /branches/performance_schema/compile-innodb-debug
     M /branches/performance_schema/include/btr0btr.ic
     M /branches/performance_schema/include/buf0buf.ic
     M /branches/performance_schema/include/dict0boot.ic
     M /branches/performance_schema/include/dict0dict.h
     M /branches/performance_schema/include/os0file.ic
     M /branches/performance_schema/include/os0thread.h
     M /branches/performance_schema/include/row0sel.h
     M /branches/performance_schema/include/trx0purge.h
     M /branches/performance_schema/include/trx0sys.ic
     M /branches/performance_schema/include/ut0wqueue.h
     M /branches/performance_schema/lock/lock0iter.c
     M /branches/performance_schema/mem/mem0pool.c
     M /branches/performance_schema/os/os0thread.c
     M /branches/performance_schema/page/page0zip.c
     M /branches/performance_schema/que/que0que.c
     M /branches/performance_schema/read/read0read.c
     M /branches/performance_schema/row/row0purge.c
     M /branches/performance_schema/row/row0row.c
     M /branches/performance_schema/row/row0vers.c
     M /branches/performance_schema/sync/sync0arr.c
     M /branches/performance_schema/thr/thr0loc.c
     M /branches/performance_schema/trx/trx0rec.c
     M /branches/performance_schema/trx/trx0roll.c
     M /branches/performance_schema/trx/trx0undo.c
     M /branches/performance_schema/ut/ut0wqueue.c
     M /branches/perfschema/btr/btr0sea.c
     M /branches/perfschema/buf/buf0buddy.c
     M /branches/perfschema/buf/buf0flu.c
     M /branches/perfschema/compile-innodb-debug
     M /branches/perfschema/ha/hash0hash.c
     M /branches/perfschema/include/buf0buf.ic
     M /branches/perfschema/include/buf0flu.ic
     M /branches/perfschema/include/dict0boot.ic
     M /branches/perfschema/include/os0thread.h
     M /branches/perfschema/include/sync0rw.h
     M /branches/perfschema/include/sync0rw.ic
     M /branches/perfschema/include/sync0sync.ic
     M /branches/perfschema/mem/mem0pool.c
     M /branches/perfschema/os/os0thread.c
     M /branches/perfschema/page/page0zip.c
     M /branches/perfschema/que/que0que.c
     M /branches/perfschema/read/read0read.c
     M /branches/perfschema/row/row0purge.c
     M /branches/perfschema/row/row0vers.c
     M /branches/perfschema/sync/sync0arr.c
     M /branches/perfschema/sync/sync0rw.c
     M /branches/perfschema/thr/thr0loc.c
     M /branches/perfschema/trx/trx0purge.c
     M /branches/perfschema/trx/trx0rec.c
     M /branches/perfschema/trx/trx0roll.c
     M /branches/perfschema/trx/trx0undo.c
     M /branches/perfschema/ut/ut0wqueue.c
     M /branches/zip/buf/buf0buddy.c
     M /branches/zip/buf/buf0flu.c
     M /branches/zip/buf/buf0rea.c
     M /branches/zip/fil/fil0fil.c
     M /branches/zip/include/btr0btr.ic
     M /branches/zip/include/buf0buf.ic
     M /branches/zip/include/buf0flu.h
     M /branches/zip/include/data0type.ic
     M /branches/zip/include/mtr0mtr.ic
     M /branches/zip/include/row0sel.h
     M /branches/zip/include/sync0rw.h
     M /branches/zip/plug.in
     M /branches/zip/row/row0row.c
     M /branches/zip/trx/trx0i_s.c
     M /branches/zip/trx/trx0rec.c
     M /branches/zip/trx/trx0sys.c

  Non-functional change: update copyright year to 2010 of the files
  that have been modified after 2010-01-01 according to svn.

  for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^   M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done
  ------------------------------------------------------------------------
  r6897 | mmakela | 2010-03-29 11:36:19 +0300 (Mon, 29 Mar 2010) | 3 lines
  Changed paths:
     M /branches/zip/handler/ha_innodb.cc

  branches/zip: innodb_mutex_show_status(): Fix a condition
  that was accidentally negated in r6781, making SHOW ENGINE INNODB MUTEX STATUS
  display only locks with no OS waits.
  ------------------------------------------------------------------------
2010-03-29 07:55:02 +00:00
jyang
8610f05afe branches/innodb+: Merge branches/perfschema back into innodb+.
Check in code change for implementing Performace Schema in InnoDB.
Objects in four different modules in InnoDB have been performance
instrumented, these modules are:
1) mutexes
2) rwlocks
3) file I/O
4) threads

We mostly preserved the existing APIs, but APIs would point to
instrumented function wrappers if performance schema is defined.
There are 4 different defines that controls the instrumentation of
each module.  The feature is off by default, and will be compiled in
with special build option, and requre configure option to turn it on
when server boots.  For more detail design and functional information,
please refer to performance schema wiki page.

rb://270 approved by Marko Mäkelä
2010-03-29 07:34:42 +00:00
mmakela
29a1b47c50 branches/innodb+: ibuf_get_volume_buffered(): Pass UT_ARR_SIZE(hash_bitmap)
in all calls to ibuf_get_volume_buffered_count().
This mistake was made in r6866 and caused the follow-up of Issue #470.
2010-03-29 06:18:28 +00:00
vdimov
08598d7876 branches/innodb+:
Merge an error code from branches/innodb+_persistent_stats, that is used
in ut_strerr().
2010-03-27 18:37:58 +00:00
vdimov
a5b61a207f Non-functional change: update copyright year to 2010 of the files
that have been modified after 2010-01-01 according to svn.

for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^   M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done
2010-03-26 14:19:01 +00:00
vdimov
17898a0af4 branches/innodb+: Merge c6413 from branches/innodb+_persistent_stats:
------------------------------------------------------------------------
  r6413 | vasil | 2010-01-11 15:18:35 +0200 (Mon, 11 Jan 2010) | 4 lines
  Changed paths:
     M /branches/innodb+_persistent_stats/include/pars0pars.h
     M /branches/innodb+_persistent_stats/pars/pars0pars.c
  
  branches/innodb+: Add a func to store uint64
  
  Add a new function pars_info_add_uint64_literal() that adds a literal of
  type ib_uint64_t.
  ------------------------------------------------------------------------
2010-03-26 12:54:03 +00:00
vdimov
5971eab194 branches/innodb+: Merge c6464 from branches/innodb+_persistent_stats:
------------------------------------------------------------------------
  r6464 | vasil | 2010-01-14 16:00:19 +0200 (Thu, 14 Jan 2010) | 8 lines
  Changed paths:
     M /branches/innodb+_persistent_stats/include/ut0ut.h
     M /branches/innodb+_persistent_stats/ut/ut0ut.c
  
  branches/innodb+: Implement ut_strerr()
  
  Implement a function that converts the DB_* error codes to a human
  readable text. The function is similar to strerror() but is not named
  ut_strerror() on purpose in order not to confuse it with a wrapper for
  strerror().
  
  The ut_error on unknown error code was suggested by Marko, thanks!
  ------------------------------------------------------------------------
2010-03-26 12:45:36 +00:00
vdimov
33fc3e60a2 branches/innodb+: Merge c6504 from branches/innodb+_persistent_stats:
------------------------------------------------------------------------
  r6504 | vasil | 2010-01-21 19:41:38 +0200 (Thu, 21 Jan 2010) | 3 lines
  Changed paths:
     M /branches/innodb+_persistent_stats/include/ut0lst.h
  
  branches/innodb+: Remove compiler warning
  
  the address of 'index1' will always evaluate as 'true'
  ------------------------------------------------------------------------
2010-03-26 12:32:25 +00:00
mmakela
f8e95d5968 branches/innodb+: ibuf: Add page_validate() and page_align() assertions. 2010-03-25 11:10:33 +00:00
mmakela
3fcec81d76 branches/innodb+: ibuf_merge_or_delete_for_page(): Simplify the code
and correct a comment.
2010-03-25 11:08:30 +00:00
mmakela
c6d7cd6d67 branches/innodb+: ibuf_get_volume_buffered_hash(): Use ulint instead of byte
for the hash bitmap array.
2010-03-24 12:15:42 +00:00
mmakela
665cb4c473 branches/innodb+: ibuf_get_volume_buffered_count(): Add IBUF_REC_INFO_SIZE
only once. This fixes Issue #470.
2010-03-24 12:08:22 +00:00
mmakela
cf8df456bf branches/innodb+: Replace InnoDB+ with MySQL 5.5 in ibuf comments. 2010-03-24 06:56:31 +00:00
mmakela
b04d308173 branches/innodb+: Merge revisions 6801:6853 from branches/zip:
------------------------------------------------------------------------
  r6805 | inaam | 2010-03-11 23:15:17 +0200 (Thu, 11 Mar 2010) | 6 lines
  Changed paths:
     M /branches/zip/os/os0file.c

  branches/zip issue#463

  Fixed compiler warning about uninitialized variable.

  Non-functional change.
  ------------------------------------------------------------------------
  r6828 | calvin | 2010-03-17 17:16:38 +0200 (Wed, 17 Mar 2010) | 7 lines
  Changed paths:
     M /branches/zip/CMakeLists.txt

  branches/zip: rename IB_HAVE_PAUSE_INSTRUCTION to
  HAVE_IB_PAUSE_INSTRUCTION in CMakeLists.txt.

  The rename was done as r5871, but CMakeLists.txt was
  forgotten. Also, add INNODB_RW_LOCKS_USE_ATOMICS to
  CMake.
  ------------------------------------------------------------------------
  r6830 | marko | 2010-03-18 09:48:18 +0200 (Thu, 18 Mar 2010) | 3 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/include/buf0buf.ic

  branches/zip: buf_page_peek_if_too_old(): Use 32-bit arithmetics
  when comparing the age of access_time to buf_LRU_old_threshold_ms.
  This fixes a bug on 64-bit systems.
  ------------------------------------------------------------------------
  r6840 | calvin | 2010-03-19 00:32:23 +0200 (Fri, 19 Mar 2010) | 6 lines
  Changed paths:
     M /branches/zip/CMakeLists.txt
     M /branches/zip/ChangeLog

  branches/zip: Fix Bug #52102 InnoDB Plugin shows performance drop
  comparing to builtin InnoDB (Windows only).

  Disable Windows atomics by default.

  Approved by: Inaam
  ------------------------------------------------------------------------
  r6853 | marko | 2010-03-22 13:35:29 +0200 (Mon, 22 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/include/sync0rw.h
     M /branches/zip/include/sync0sync.h

  branches/zip: mutex_own(), rw_lock_own(): Add attribute((warn_unused_result)).
  ------------------------------------------------------------------------
2010-03-23 11:50:18 +00:00
marko
d02a2fb3aa branches/innodb+: buf_page_hash_get() returns NULL for watch sentinels.
Replace redundant !buf_pool_watch_is() conditions with ut_ad().
2010-03-22 09:27:20 +00:00
calvin
5c4ec32d29 branches/innodb+: fix slash in innodb_change_buffering_basic.diff 2010-03-19 07:38:52 +00:00
calvin
12bac120a4 branches/innodb+: update test case innodb_change_buffering_basic.
The valid values of innodb_change_buffering are 'inserts', 'deletes',
'changes', 'purges', 'all', and 'none', with default value 'all'.
2010-03-19 06:48:19 +00:00
marko
56953f83e7 branches/innodb+: Merge revisions 6293:6797 from branches/plugin-1.1,
skipping the following revisions that were merges from branches/zip:

r6543
r6775

  ------------------------------------------------------------------------
  r6749 | vasil | 2010-02-20 18:45:41 +0200 (Sat, 20 Feb 2010) | 5 lines
  Changed paths:
     M /branches/embedded-1.0/btr/btr0btr.c
     M /branches/embedded-1.0/btr/btr0cur.c
     M /branches/embedded-1.0/btr/btr0pcur.c
     M /branches/embedded-1.0/buf/buf0buf.c
     M /branches/embedded-1.0/buf/buf0flu.c
     M /branches/embedded-1.0/buf/buf0lru.c
     M /branches/embedded-1.0/dict/dict0boot.c
     M /branches/embedded-1.0/dict/dict0crea.c
     M /branches/embedded-1.0/dict/dict0dict.c
     M /branches/embedded-1.0/dict/dict0load.c
     M /branches/embedded-1.0/fil/fil0fil.c
     M /branches/embedded-1.0/fsp/fsp0fsp.c
     M /branches/embedded-1.0/ibuf/ibuf0ibuf.c
     M /branches/embedded-1.0/include/btr0btr.h
     M /branches/embedded-1.0/include/btr0cur.h
     M /branches/embedded-1.0/include/btr0pcur.h
     M /branches/embedded-1.0/include/btr0pcur.ic
     M /branches/embedded-1.0/include/buf0buf.h
     M /branches/embedded-1.0/include/buf0buf.ic
     M /branches/embedded-1.0/include/dict0boot.h
     M /branches/embedded-1.0/include/fil0fil.h
     M /branches/embedded-1.0/include/lock0lock.h
     M /branches/embedded-1.0/include/log0log.h
     M /branches/embedded-1.0/include/log0log.ic
     M /branches/embedded-1.0/include/log0recv.h
     M /branches/embedded-1.0/include/mem0dbg.h
     M /branches/embedded-1.0/include/mem0dbg.ic
     M /branches/embedded-1.0/include/mem0mem.h
     M /branches/embedded-1.0/include/mem0mem.ic
     M /branches/embedded-1.0/include/os0file.h
     M /branches/embedded-1.0/include/os0sync.h
     M /branches/embedded-1.0/include/os0sync.ic
     M /branches/embedded-1.0/include/os0thread.h
     M /branches/embedded-1.0/include/que0que.h
     M /branches/embedded-1.0/include/que0que.ic
     M /branches/embedded-1.0/include/row0merge.h
     M /branches/embedded-1.0/include/row0prebuilt.h
     M /branches/embedded-1.0/include/srv0srv.h
     M /branches/embedded-1.0/include/sync0sync.h
     M /branches/embedded-1.0/include/trx0rseg.h
     M /branches/embedded-1.0/include/trx0sys.h
     M /branches/embedded-1.0/include/trx0trx.h
     M /branches/embedded-1.0/include/trx0types.h
     M /branches/embedded-1.0/include/trx0undo.h
     M /branches/embedded-1.0/include/trx0xa.h
     M /branches/embedded-1.0/include/univ.i
     M /branches/embedded-1.0/include/ut0vec.h
     M /branches/embedded-1.0/include/ut0vec.ic
     M /branches/embedded-1.0/lock/lock0lock.c
     M /branches/embedded-1.0/log/log0log.c
     M /branches/embedded-1.0/log/log0recv.c
     M /branches/embedded-1.0/mem/mem0mem.c
     M /branches/embedded-1.0/os/os0file.c
     M /branches/embedded-1.0/os/os0thread.c
     M /branches/embedded-1.0/page/page0page.c
     M /branches/embedded-1.0/rem/rem0rec.c
     M /branches/embedded-1.0/row/row0ins.c
     M /branches/embedded-1.0/row/row0merge.c
     M /branches/embedded-1.0/row/row0prebuilt.c
     M /branches/embedded-1.0/row/row0sel.c
     M /branches/embedded-1.0/row/row0umod.c
     M /branches/embedded-1.0/row/row0undo.c
     M /branches/embedded-1.0/row/row0upd.c
     M /branches/embedded-1.0/srv/srv0srv.c
     M /branches/embedded-1.0/srv/srv0start.c
     M /branches/embedded-1.0/sync/sync0sync.c
     M /branches/embedded-1.0/trx/trx0sys.c
     M /branches/embedded-1.0/trx/trx0trx.c
     M /branches/embedded-1.0/trx/trx0undo.c
     M /branches/embedded-1.0/ut/ut0mem.c
     M /branches/innodb+/btr/btr0btr.c
     M /branches/innodb+/btr/btr0cur.c
     M /branches/innodb+/btr/btr0pcur.c
     M /branches/innodb+/buf/buf0buf.c
     M /branches/innodb+/buf/buf0lru.c
     M /branches/innodb+/dict/dict0crea.c
     M /branches/innodb+/dict/dict0dict.c
     M /branches/innodb+/dict/dict0load.c
     M /branches/innodb+/handler/ha_innodb.cc
     M /branches/innodb+/handler/ha_innodb.h
     M /branches/innodb+/handler/handler0alter.cc
     M /branches/innodb+/include/btr0btr.h
     M /branches/innodb+/include/btr0cur.h
     M /branches/innodb+/include/btr0pcur.h
     M /branches/innodb+/include/btr0pcur.ic
     M /branches/innodb+/include/buf0buf.h
     M /branches/innodb+/include/log0log.h
     M /branches/innodb+/include/mem0dbg.h
     M /branches/innodb+/include/mem0dbg.ic
     M /branches/innodb+/include/os0file.h
     M /branches/innodb+/include/row0mysql.h
     M /branches/innodb+/include/srv0srv.h
     M /branches/innodb+/include/sync0sync.h
     M /branches/innodb+/include/trx0trx.h
     M /branches/innodb+/lock/lock0lock.c
     M /branches/innodb+/log/log0log.c
     M /branches/innodb+/log/log0recv.c
     M /branches/innodb+/mem/mem0dbg.c
     M /branches/innodb+/os/os0file.c
     M /branches/innodb+/page/page0page.c
     M /branches/innodb+/row/row0ins.c
     M /branches/innodb+/row/row0mysql.c
     M /branches/innodb+/row/row0sel.c
     M /branches/innodb+/srv/srv0srv.c
     M /branches/innodb+/srv/srv0start.c
     M /branches/innodb+/sync/sync0sync.c
     M /branches/innodb+_metrics_table/btr/btr0btr.c
     M /branches/innodb+_metrics_table/buf/buf0buf.c
     M /branches/innodb+_metrics_table/buf/buf0flu.c
     M /branches/innodb+_metrics_table/dict/dict0crea.c
     M /branches/innodb+_metrics_table/dict/dict0dict.c
     M /branches/innodb+_metrics_table/dict/dict0load.c
     M /branches/innodb+_metrics_table/handler/ha_innodb.cc
     M /branches/innodb+_metrics_table/handler/ha_innodb.h
     M /branches/innodb+_metrics_table/handler/handler0alter.cc
     M /branches/innodb+_metrics_table/handler/i_s.cc
     M /branches/innodb+_metrics_table/handler/i_s.h
     M /branches/innodb+_metrics_table/include/mem0dbg.h
     M /branches/innodb+_metrics_table/include/mem0dbg.ic
     M /branches/innodb+_metrics_table/include/srv0mon.h
     M /branches/innodb+_metrics_table/include/srv0mon.ic
     M /branches/innodb+_metrics_table/include/srv0srv.h
     M /branches/innodb+_metrics_table/lock/lock0lock.c
     M /branches/innodb+_metrics_table/log/log0log.c
     M /branches/innodb+_metrics_table/mem/mem0dbg.c
     M /branches/innodb+_metrics_table/os/os0file.c
     M /branches/innodb+_metrics_table/page/page0zip.c
     M /branches/innodb+_metrics_table/row/row0mysql.c
     M /branches/innodb+_metrics_table/row/row0purge.c
     M /branches/innodb+_metrics_table/row/row0sel.c
     M /branches/innodb+_metrics_table/srv/srv0mon.c
     M /branches/innodb+_metrics_table/srv/srv0srv.c
     M /branches/innodb+_metrics_table/sync/sync0sync.c
     M /branches/innodb+_metrics_table/trx/trx0roll.c
     M /branches/innodb+_metrics_table/trx/trx0trx.c
     M /branches/innodb+_persistent_stats/btr/btr0btr.c
     M /branches/innodb+_persistent_stats/buf/buf0buf.c
     M /branches/innodb+_persistent_stats/data/data0type.c
     M /branches/innodb+_persistent_stats/dict/dict0boot.c
     M /branches/innodb+_persistent_stats/dict/dict0crea.c
     M /branches/innodb+_persistent_stats/dict/dict0dict.c
     M /branches/innodb+_persistent_stats/dict/dict0load.c
     M /branches/innodb+_persistent_stats/dict/dict0mem.c
     M /branches/innodb+_persistent_stats/fil/fil0fil.c
     M /branches/innodb+_persistent_stats/fsp/fsp0fsp.c
     M /branches/innodb+_persistent_stats/handler/ha_innodb.cc
     M /branches/innodb+_persistent_stats/handler/ha_innodb.h
     M /branches/innodb+_persistent_stats/handler/handler0alter.cc
     M /branches/innodb+_persistent_stats/ibuf/ibuf0ibuf.c
     M /branches/innodb+_persistent_stats/include/btr0pcur.h
     M /branches/innodb+_persistent_stats/include/btr0pcur.ic
     M /branches/innodb+_persistent_stats/include/db0err.h
     M /branches/innodb+_persistent_stats/include/dict0dict.h
     M /branches/innodb+_persistent_stats/include/dict0mem.h
     M /branches/innodb+_persistent_stats/include/ha_prototypes.h
     M /branches/innodb+_persistent_stats/include/lock0lock.h
     M /branches/innodb+_persistent_stats/include/log0log.h
     M /branches/innodb+_persistent_stats/include/log0recv.h
     M /branches/innodb+_persistent_stats/include/mem0dbg.h
     M /branches/innodb+_persistent_stats/include/mem0dbg.ic
     M /branches/innodb+_persistent_stats/include/os0file.h
     M /branches/innodb+_persistent_stats/include/pars0pars.h
     M /branches/innodb+_persistent_stats/include/srv0srv.h
     M /branches/innodb+_persistent_stats/include/sync0sync.h
     M /branches/innodb+_persistent_stats/include/trx0sys.h
     M /branches/innodb+_persistent_stats/include/trx0trx.h
     M /branches/innodb+_persistent_stats/include/ut0lst.h
     M /branches/innodb+_persistent_stats/include/ut0ut.h
     M /branches/innodb+_persistent_stats/lock/lock0lock.c
     M /branches/innodb+_persistent_stats/log/log0log.c
     M /branches/innodb+_persistent_stats/log/log0recv.c
     M /branches/innodb+_persistent_stats/mem/mem0dbg.c
     M /branches/innodb+_persistent_stats/os/os0file.c
     M /branches/innodb+_persistent_stats/page/page0page.c
     M /branches/innodb+_persistent_stats/pars/pars0pars.c
     M /branches/innodb+_persistent_stats/row/row0merge.c
     M /branches/innodb+_persistent_stats/row/row0mysql.c
     M /branches/innodb+_persistent_stats/row/row0sel.c
     M /branches/innodb+_persistent_stats/row/row0umod.c
     M /branches/innodb+_persistent_stats/row/row0upd.c
     M /branches/innodb+_persistent_stats/srv/srv0srv.c
     M /branches/innodb+_persistent_stats/srv/srv0start.c
     M /branches/innodb+_persistent_stats/sync/sync0sync.c
     M /branches/innodb+_persistent_stats/trx/trx0i_s.c
     M /branches/innodb+_persistent_stats/trx/trx0sys.c
     M /branches/innodb+_persistent_stats/trx/trx0trx.c
     M /branches/innodb+_persistent_stats/ut/ut0ut.c
     M /branches/innofts+/handler/ha_innodb.cc
     M /branches/innofts+/handler/i_s.cc
     M /branches/innofts+/handler/i_s.h
     M /branches/innofts+/include/fut0fut.h
     M /branches/performance_schema/btr/btr0sea.c
     M /branches/performance_schema/buf/buf0buf.c
     M /branches/performance_schema/dict/dict0dict.c
     M /branches/performance_schema/fil/fil0fil.c
     M /branches/performance_schema/handler/ha_innodb.cc
     M /branches/performance_schema/include/srv0srv.h
     M /branches/performance_schema/include/sync0rw.h
     M /branches/performance_schema/include/sync0rw.ic
     M /branches/performance_schema/include/sync0sync.h
     M /branches/performance_schema/include/sync0sync.ic
     M /branches/performance_schema/include/sync0types.h
     M /branches/performance_schema/log/log0log.c
     M /branches/performance_schema/srv/srv0srv.c
     M /branches/performance_schema/sync/sync0rw.c
     M /branches/performance_schema/trx/trx0i_s.c
     M /branches/performance_schema/trx/trx0purge.c
     M /branches/plugin-2.0/buf/buf0buf.c
     M /branches/plugin-2.0/buf/buf0lru.c
     M /branches/plugin-2.0/dict/dict0boot.c
     M /branches/plugin-2.0/dict/dict0crea.c
     M /branches/plugin-2.0/dict/dict0dict.c
     M /branches/plugin-2.0/dict/dict0load.c
     M /branches/plugin-2.0/dict/dict0mem.c
     M /branches/plugin-2.0/fil/fil0fil.c
     M /branches/plugin-2.0/fsp/fsp0fsp.c
     M /branches/plugin-2.0/handler/ha_innodb.cc
     M /branches/plugin-2.0/handler/ha_innodb.h
     M /branches/plugin-2.0/handler/handler0alter.cc
     M /branches/plugin-2.0/ibuf/ibuf0ibuf.c
     M /branches/plugin-2.0/include/dict0mem.h
     M /branches/plugin-2.0/include/ha_prototypes.h
     M /branches/plugin-2.0/include/lock0lock.h
     M /branches/plugin-2.0/include/log0log.h
     M /branches/plugin-2.0/include/log0recv.h
     M /branches/plugin-2.0/include/mem0dbg.h
     M /branches/plugin-2.0/include/mem0dbg.ic
     M /branches/plugin-2.0/include/os0file.h
     M /branches/plugin-2.0/include/row0mysql.h
     M /branches/plugin-2.0/include/srv0srv.h
     M /branches/plugin-2.0/include/sync0sync.h
     M /branches/plugin-2.0/include/trx0sys.h
     M /branches/plugin-2.0/include/trx0trx.h
     M /branches/plugin-2.0/lock/lock0lock.c
     M /branches/plugin-2.0/log/log0log.c
     M /branches/plugin-2.0/log/log0recv.c
     M /branches/plugin-2.0/mem/mem0dbg.c
     M /branches/plugin-2.0/os/os0file.c
     M /branches/plugin-2.0/page/page0page.c
     M /branches/plugin-2.0/row/row0merge.c
     M /branches/plugin-2.0/row/row0mysql.c
     M /branches/plugin-2.0/row/row0sel.c
     M /branches/plugin-2.0/row/row0umod.c
     M /branches/plugin-2.0/row/row0upd.c
     M /branches/plugin-2.0/srv/srv0srv.c
     M /branches/plugin-2.0/srv/srv0start.c
     M /branches/plugin-2.0/sync/sync0sync.c
     M /branches/plugin-2.0/trx/trx0i_s.c
     M /branches/plugin-2.0/trx/trx0sys.c
     M /branches/plugin-2.0/trx/trx0trx.c
     M /branches/zip/btr/btr0btr.c
     M /branches/zip/btr/btr0cur.c
     M /branches/zip/btr/btr0pcur.c
     M /branches/zip/buf/buf0buf.c
     M /branches/zip/buf/buf0lru.c
     M /branches/zip/dict/dict0boot.c
     M /branches/zip/dict/dict0crea.c
     M /branches/zip/dict/dict0dict.c
     M /branches/zip/dict/dict0load.c
     M /branches/zip/fsp/fsp0fsp.c
     M /branches/zip/handler/ha_innodb.cc
     M /branches/zip/handler/ha_innodb.h
     M /branches/zip/handler/handler0alter.cc
     M /branches/zip/include/btr0btr.h
     M /branches/zip/include/btr0cur.h
     M /branches/zip/include/btr0pcur.h
     M /branches/zip/include/btr0pcur.ic
     M /branches/zip/include/buf0buf.h
     M /branches/zip/include/dict0boot.h
     M /branches/zip/include/fil0fil.h
     M /branches/zip/include/log0log.h
     M /branches/zip/include/log0log.ic
     M /branches/zip/include/log0recv.h
     M /branches/zip/include/mem0dbg.h
     M /branches/zip/include/mem0dbg.ic
     M /branches/zip/include/mem0mem.h
     M /branches/zip/include/mem0mem.ic
     M /branches/zip/include/os0file.h
     M /branches/zip/include/que0que.h
     M /branches/zip/include/que0que.ic
     M /branches/zip/include/row0mysql.h
     M /branches/zip/include/srv0srv.h
     M /branches/zip/include/sync0sync.h
     M /branches/zip/include/trx0rseg.h
     M /branches/zip/include/trx0trx.h
     M /branches/zip/include/trx0types.h
     M /branches/zip/include/univ.i
     M /branches/zip/lock/lock0lock.c
     M /branches/zip/log/log0log.c
     M /branches/zip/log/log0recv.c
     M /branches/zip/mem/mem0dbg.c
     M /branches/zip/mem/mem0mem.c
     M /branches/zip/os/os0file.c
     M /branches/zip/page/page0page.c
     M /branches/zip/rem/rem0rec.c
     M /branches/zip/row/row0ins.c
     M /branches/zip/row/row0merge.c
     M /branches/zip/row/row0mysql.c
     M /branches/zip/row/row0sel.c
     M /branches/zip/row/row0umod.c
     M /branches/zip/srv/srv0srv.c
     M /branches/zip/srv/srv0start.c
     M /branches/zip/sync/sync0sync.c
     M /branches/zip/trx/trx0rseg.c
     M /branches/zip/trx/trx0trx.c

  Non-functional change: update copyright year to 2010 of the files
  that have been modified after 2010-01-01 according to svn.

  for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^   M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done
  ------------------------------------------------------------------------
  r6795 | calvin | 2010-03-11 06:29:35 +0200 (Thu, 11 Mar 2010) | 4 lines
  Changed paths:
     M /branches/plugin-2.0/CMakeLists.txt

  branches/plugin-2.0: take the CMake file from MySQL.
  The CMake files are significantly changed in MySQL 5.5
  to have cross-platform support.
  ------------------------------------------------------------------------
  r6796 | calvin | 2010-03-11 06:38:24 +0200 (Thu, 11 Mar 2010) | 4 lines
  Changed paths:
     A /branches/plugin-1.1 (from /branches/plugin-2.0:6795)
     D /branches/plugin-2.0

  branches/plugin-1.1: Rename the branch from plugin-2.0 to
  plugin-1.1, to be used with MySQL 5.5.
  ------------------------------------------------------------------------
  r6797 | calvin | 2010-03-11 06:45:29 +0200 (Thu, 11 Mar 2010) | 4 lines
  Changed paths:
     M /branches/plugin-1.1/include/univ.i

  branches/plugin-1.1: change the version number to 1.1.0.
  ------------------------------------------------------------------------
2010-03-18 12:18:25 +00:00
jyang
2c6522503d Undo create perfschema branch under innodb+.
Created the actual perfschema branch at
https://svn.innodb.com/svn/innodb/branches/perfschema
2010-03-18 08:18:47 +00:00
jyang
024216da04 Implement Performance Schema in InnoDB. 2010-03-18 07:56:27 +00:00
marko
c158c47a4c branches/innodb+: btr_cur_search_to_nth_level(): Treat BTR_DELETE in
the same way as BTR_INSERT and BTR_DELETE_MARK: only perform (buffer)
the operation when the page is not in the buffer pool.

BTR_INSERT, BTR_DELETE_MARK, BTR_DELETE: Make the documentation say that
these flags are ignored when the page is in the buffer pool.

enum row_search_result: Remove ROW_NOT_DELETED, which
BTR_CUR_DELETE_FAILED was mapped to.

enum btr_cur_method: Remove BTR_CUR_DELETE_FAILED.  The
btr_cur_search_to_nth_level() will no longer attempt to execute the
BTR_DELETE when the page is in the buffer pool.

row_search_index_entry(): Remove the mapping from
BTR_CUR_DELETE_FAILED to ROW_NOT_DELETED.  The caller will have to
attempt purge when the record is in the buffer pool.

row_purge_remove_sec_if_poss_leaf(): Attempt to purge the record if it
was found in the buffer pool.

This addresses Issue #466.
rb://268
2010-03-17 07:11:11 +00:00
vasil
95567a7534 branches/innodb+:
Say "InnoDB" instead of "InnoDB+" at startup, this is going to be the
builtin InnoDB in MySQL 5.5.
2010-03-13 10:31:17 +00:00
inaam
a85f3fcec1 branches/innodb+
Fix compiler warning
2010-03-13 03:53:16 +00:00
calvin
cd9fddd8e1 branches/innodb+: Merge revisions 6238:6293 from branches/plugin-1.1
which was cloned from branches/zip revision 6237 as branches/plugin-2.0,
in order to work with MySQL 5.5.

Skip revision 6240: update the version number to 2.0.0

  ------------------------------------------------------------------------
  r6290 | calvin | 2009-12-10 02:26:45 -0600 (Thu, 10 Dec 2009) | 26 lines

  branches/plugin-2.0: merge of r2877 from MySQL

  This is r2877 in mysql-next-mr tree, backported from 6.0.
  -------------------------------------------------------------
  Bug#24509 - 2048 file descriptor limit on windows needs increasing, also
  WL#3049 - improved Windows I/O

  The patch replaces the use of the POSIX I/O interfaces in mysys on Windows with
  the Win32 API calls (CreateFile, WriteFile, etc). The Windows HANDLE for the open
  file is stored in the my_file_info struct, along with a flag for append mode
  because the Windows API does not support opening files in append mode in all cases)
  The default max open files has been increased to 16384 and can be increased further
  by setting --max-open-files=<value> during the server start.

  Another major change in this patch that almost all Windows specific file IO code
  has been moved to a new file my_winfile.c, greatly reducing the amount of code
  in #ifdef blocks within mysys, thus improving readability.

  Minor enhancements:
  - my_(f)stat() is changed to use __stati64 structure with 64 file size
  and timestamps. It will return correct file size now (C runtime implementation
  used to report outdated information)
  - my_lock on Windows is prepared to handle additional timeout parameter
  - after review : changed __WIN__ to _WIN32 in the new and changed code.
  ------------------------------------------------------------------------
  r6291 | calvin | 2009-12-10 02:31:27 -0600 (Thu, 10 Dec 2009) | 14 lines

  branches/plugin-2.0: merge of r2887.3.31 from MySQL

  This is r2887.3.31 in mysql-next-mr tree, backported from 6.0.

  Backport of:
  ----------------------------------------------------------
  revno: 2630.22.8
  committer: Konstantin Osipov <konstantin@mysql.com>
  branch nick: mysql-6.0-runtime
  timestamp: Sun 2008-08-10 18:49:52 +0400
  message:
  Get rid of typedef struct for the most commonly used types:
  TABLE, TABLE_SHARE, LEX. This simplifies use of tags
  and forward declarations.
  ------------------------------------------------------------------------
  r6292 | calvin | 2009-12-10 02:40:55 -0600 (Thu, 10 Dec 2009) | 41 lines

  branches/plugin-2.0: merge of r2936 from MySQL

  This is r2936 in mysql-next-mr tree, backported from 6.0.

  Backport of:
  -------------------------------------------------------------
  revno: 2877
  committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
  branch nick: 35164-6.0
  timestamp: Wed 2008-10-15 19:53:18 -0300
  message:
  Bug#35164: Large number of invalid pthread_attr_setschedparam calls
  Bug#37536: Thread scheduling causes performance degradation at low thread count
  Bug#12702: Long queries take 100% of CPU and freeze other applications under Windows

  The problem is that although having threads with different priorities
  yields marginal improvements [1] in some platforms [2], relying on some
  statically defined priorities (QUERY_PRIOR and WAIT_PRIOR) to play well
  (or to work at all) with different scheduling practices and disciplines
  is, at best, a shot in the dark as the meaning of priority values may
  change depending on the scheduling policy set for the process.

  Another problem is that increasing priorities can hurt other concurrent
  (running on the same hardware) applications (such as AMP) by causing
  starvation problems as MySQL threads will successively preempt lower
  priority processes. This can be evidenced by Bug#12702.

  The solution is to not change the threads priorities and rely on the
  system scheduler to perform its job. This also enables a system admin
  to increase or decrease the scheduling priority of the MySQL process,
  if intended.

  Furthermore, the internal wrappers and code for changing the priority
  of threads is being removed as they are now unused and ancient.

  1. Due to unintentional side effects. On Solaris this could artificially
  help benchmarks as calling the priority changing syscall millions of
  times is more beneficial than the actual setting of the priority.

  2. Where it actually works. It has never worked on Linux as the default
  scheduling policy SCHED_OTHER only accepts the static priority 0.
  ------------------------------------------------------------------------
  r6293 | calvin | 2009-12-10 02:45:27 -0600 (Thu, 10 Dec 2009) | 13 lines

  branches/plugin-2.0: merge of r2938 from MySQL

  This is r2938 in mysql-next-mr tree, backported from 6.0.

  Backport of:
  ----------------------------------------------------------------------
  ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0
  Bug#32082 : definition of VOID in my_global.h conflicts with Windows
  SDK headers

  VOID macro is now removed. Its usage is replaced with void cast.
  In some cases, where cast does not make much sense (pthread_*, printf,
  hash_delete, my_seek), cast is ommited.
  ------------------------------------------------------------------------
2010-03-12 22:06:55 +00:00
calvin
4a8e2c1496 branches/innodb+: change the version number to 1.1.0. 2010-03-12 21:49:09 +00:00
calvin
5c8d7e1948 branches/innodb+: merge the CMake file changes from MySQL.
The CMake files are significantly changed in MySQL 5.5
to have cross-platform support.
2010-03-12 21:47:46 +00:00
marko
83d2cd7a62 branches/innodb+: Merge revisions 6773:6801 from branches/zip:
------------------------------------------------------------------------
  r6777 | marko | 2010-03-04 13:01:25 +0200 (Thu, 04 Mar 2010) | 2 lines
  Changed paths:
     M /branches/zip/trx/trx0rec.c

  branches/zip: trx_undo_update_rec_get_update(): Silence a bogus GCC warning
  about a possibly uninitialized variable.
  ------------------------------------------------------------------------
  r6779 | marko | 2010-03-08 14:35:42 +0200 (Mon, 08 Mar 2010) | 6 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/fil/fil0fil.c

  branches/zip: Fix IMPORT TABLESPACE of compressed tables.  Previously,
  a wrong parameter was passed to buf_flush_init_for_writing().

  fil_reset_too_high_lsns(): Set up page_zip and use it if needed.

  rb://264, Issue #352
  ------------------------------------------------------------------------
  r6781 | marko | 2010-03-09 09:41:08 +0200 (Tue, 09 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/handler/ha_innodb.cc

  branches/zip: Make SHOW ENGINE INNODB MUTEX display SUM(os_waits)
  for block mutexes and blocks.

  Designed by Michael and Marko. rb://188, Issue #358
  ------------------------------------------------------------------------
  r6782 | marko | 2010-03-09 14:09:26 +0200 (Tue, 09 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/fil/fil0fil.c

  branches/zip: fil0fil.c: Update comments on table->flags as of r6252.
  ------------------------------------------------------------------------
  r6786 | vasil | 2010-03-10 09:16:50 +0200 (Wed, 10 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/mysql-test/innodb-consistent.test

  branches/zip:

  Fix typo in comment
  ------------------------------------------------------------------------
  r6787 | marko | 2010-03-10 10:35:06 +0200 (Wed, 10 Mar 2010) | 10 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/log/log0recv.c

  branches/zip: recv_parse_log_rec(): Remove a bogus assertion about page_no.
  TODO: We might also consider removing recv_max_parsed_page_no, because
  it does not make much sense with *.ibd files.

  recv_report_corrupt_log(), recv_scan_log_recs(): Abort when a
  corrupted log record has been found, unless innodb_force_recovery has
  been set.

  This fixes Issue #464.
  rb://265 approved by Heikki Tuuri
  ------------------------------------------------------------------------
  r6789 | jyang | 2010-03-10 11:18:18 +0200 (Wed, 10 Mar 2010) | 10 lines
  Changed paths:
     M /branches/zip/handler/ha_innodb.cc
     M /branches/zip/handler/handler0alter.cc
     A /branches/zip/mysql-test/innodb_bug51378.result
     A /branches/zip/mysql-test/innodb_bug51378.test

  branches/zip: If a unique index is on a column prefix, such
  unique index cannot be upgrade to primary index even if there
  is no primary index already defined. Also fix possible corruption
  when initialize "ref_length" value in case there is a mismatch
  between MySQL and InnoDB primary key. Fix bug #51378: "Init
  'ref_length'  to correct value, in case an out of bound MySQL
  primary_key".
  rb://262 approved by Marko.
  ------------------------------------------------------------------------
  r6790 | jyang | 2010-03-10 13:09:41 +0200 (Wed, 10 Mar 2010) | 7 lines
  Changed paths:
     M /branches/zip/handler/ha_innodb.cc

  branches/zip: Fix bug #51356: "many valgrind errors in error messages
  with concurrent ddl". Null terminate the name string returned
  from innobase_convert_identifier() call when reporting DB_DUPLICATE_KEY
  error in create_table_def().
  rb://266 approved by Marko
  ------------------------------------------------------------------------
  r6791 | marko | 2010-03-10 13:39:06 +0200 (Wed, 10 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip: Add ChangeLog entries for r6789, r6790.
  ------------------------------------------------------------------------
  r6792 | marko | 2010-03-10 13:56:41 +0200 (Wed, 10 Mar 2010) | 1 line
  Changed paths:
     A /branches/zip/mysql-test/innodb_bug38231.result (from /branches/5.1/mysql-test/innodb_bug38231.result:6791)
     A /branches/zip/mysql-test/innodb_bug38231.test (from /branches/5.1/mysql-test/innodb_bug38231.test:6791)
     A /branches/zip/mysql-test/innodb_bug39438-master.opt (from /branches/5.1/mysql-test/innodb_bug39438-master.opt:6791)
     A /branches/zip/mysql-test/innodb_bug39438.result (from /branches/5.1/mysql-test/innodb_bug39438.result:6791)
     A /branches/zip/mysql-test/innodb_bug39438.test (from /branches/5.1/mysql-test/innodb_bug39438.test:6791)

  branches/zip: Copy tests from branches/5.1 that were lost in some merge.
  ------------------------------------------------------------------------
  r6793 | marko | 2010-03-10 14:02:19 +0200 (Wed, 10 Mar 2010) | 60 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/handler/ha_innodb.cc
     M /branches/zip/mysql-test/innodb_bug21704.result
     A /branches/zip/mysql-test/innodb_bug47621.result (from /branches/5.1/mysql-test/innodb_bug47621.result:6788)
     A /branches/zip/mysql-test/innodb_bug47621.test (from /branches/5.1/mysql-test/innodb_bug47621.test:6788)
     M /branches/zip/plug.in
     M /branches/zip/trx/trx0sys.c

  branches/zip: Merge revisions 6669:6788 from branches/5.1:

    ------------------------------------------------------------------------
    r6774 | calvin | 2010-03-03 23:56:10 +0200 (Wed, 03 Mar 2010) | 2 lines
    Changed paths:
       M /branches/5.1/trx/trx0sys.c

    branches/5.1: fix bug#51653: outdated reference to set-variable
    Non functional change.
    ------------------------------------------------------------------------
    r6780 | vasil | 2010-03-08 19:13:20 +0200 (Mon, 08 Mar 2010) | 4 lines
    Changed paths:
       M /branches/5.1/plug.in

    branches/5.1:

    Whitespace fixup.
    ------------------------------------------------------------------------
    r6783 | jyang | 2010-03-09 17:54:14 +0200 (Tue, 09 Mar 2010) | 9 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb_bug21704.result
       A /branches/5.1/mysql-test/innodb_bug47621.result
       A /branches/5.1/mysql-test/innodb_bug47621.test

    branches/5.1: Fix bug #47621 "MySQL and InnoDB data dictionaries
    will become out of sync when renaming columns". MySQL does not
    provide new column name information to storage engine to
    update the system table. To avoid column name mismatch, we shall
    just request a table copy for now.

    rb://246 approved by Marko.
    ------------------------------------------------------------------------
    r6785 | vasil | 2010-03-10 09:04:38 +0200 (Wed, 10 Mar 2010) | 11 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb_bug38231.test

    branches/5.1:

    Add the missing --reap statements in innodb_bug38231.test. Probably MySQL
    enforced the presence of those recently and the test started failing like:

      main.innodb_bug38231                     [ fail ]
              Test ended at 2010-03-10 08:48:32

      CURRENT_TEST: main.innodb_bug38231
      mysqltest: At line 49: Cannot run query on connection between send and reap
    ------------------------------------------------------------------------
    r6788 | vasil | 2010-03-10 10:53:21 +0200 (Wed, 10 Mar 2010) | 8 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb_bug38231.test

    branches/5.1:

    In innodb_bug38231.test: replace the fragile sleep 0.2 that depends on timing
    with a more robust condition which waits for the TRUNCATE and LOCK commands
    to appear in information_schema.processlist. This could also break if there
    are other sessions executing the same SQL commands, but there are none during
    the execution of the mysql test.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r6798 | marko | 2010-03-11 09:53:01 +0200 (Thu, 11 Mar 2010) | 14 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/include/buf0buf.h
     M /branches/zip/include/buf0buf.ic

  branches/zip: Fix and clarify the latching of some buf_block_t members.

  buf_block_t::check_index_page_at_flush: Note that this field is not
  protected by any mutex. Make it a separate field, not a bitfield that
  could share the machine word with other fields.

  buf_block_t::lock_hash_val: Note that this field is protected by
  buf_block_t::lock (or during block creation, by buf_pool_mutex and
  buf_block_t::mutex).

  buf_block_get_lock_hash_val(): Assert that block->lock is held by the
  current thread.

  Issue #465, rb://267 approved by Inaam Rana
  ------------------------------------------------------------------------
  r6799 | jyang | 2010-03-11 09:59:42 +0200 (Thu, 11 Mar 2010) | 5 lines
  Changed paths:
     M /branches/zip/mysql-test/innodb_bug44571.result
     M /branches/zip/mysql-test/innodb_bug44571.test

  branches/zip: Once change in bug #47621 merges into zip branch,
  zip only test innodb_bug44571 needs to be updated to reflect the
  column name change would be successful be done in InnoDB as well.
  ------------------------------------------------------------------------
  r6800 | marko | 2010-03-11 12:02:57 +0200 (Thu, 11 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/btr/btr0pcur.c
     M /branches/zip/buf/buf0buf.c
     M /branches/zip/include/mtr0mtr.ic

  branches/zip: Add ut_ad(mtr->state == MTR_ACTIVE) to various places.
  ------------------------------------------------------------------------
  r6801 | marko | 2010-03-11 13:34:28 +0200 (Thu, 11 Mar 2010) | 2 lines
  Changed paths:
     M /branches/zip/include/mtr0mtr.ic

  branches/zip: mtr_memo_contains(): Relax the assertion of r6800,
  allowing mtr->state == MTR_COMMITTING.
  ------------------------------------------------------------------------
2010-03-11 11:57:05 +00:00
marko
6429bcd555 ibuf_merge_or_delete_for_page(): Fix inappropriate latching of pages
when merging a purge (IBUF_OP_DELETE).
This bug was introduced in r6772.
2010-03-11 11:38:47 +00:00
marko
b1143bcda9 branches/innodb+: buf_page_init(): Fix a bug in r6794
that caused a SIGSEGV on compressed pages (block==NULL dereferenced).
2010-03-11 11:36:53 +00:00
marko
3d9f3eed61 branches/innodb+: Implement the buf_pool_watch for DeleteBuffering in
the page hash table. This serves two purposes. It allows multiple
watches to be set at the same time (by multiple purge threads) and it
removes a race condition when the read of a block completes about the
time the buffer pool watch is being set.

buf_pool_watch_clear(): Rename to buf_pool_watch_unset(). Add
parameters space, offset.

buf_pool_watch_remove(): A helper function for removing the watch.

buf_pool_watch_is(): A predicate for testing if a block descriptor is
a sentinel for the buffer pool watch.

buf_pool_watch[BUF_POOL_WATCH_SIZE]: An array of sentinel block descriptors.

buf_pool_watch_set(): Add a parameter for the fold value, and return
the block if the block is in the buffer pool. Allocate the sentinel
from buf_pool_watch[] if needed. Use buf_fix_count for
reference-counting.

enum buf_block_state: Add BUF_BLOCK_POOL_WATCH as a state alias that
is shared with BUF_BLOCK_ZIP_FREE.

buf_page_hash_get_low(): A low-level variant of buf_page_hash_get()
that takes the fold value as a parameter and may return a watch
sentinel block. In callers, test the return value for
buf_pool_watch_is() [impossible cases with ut_ad(), possible ones with if].
When needed, invoke buf_pool_watch_remove() but preserve the buf_fix_count.

buf_page_hash_get(), buf_block_hash_get(): Return NULL for watch
sentinel blocks, to keep existing behaviour.

buf_page_init(): Add a parameter for the fold value.

ibuf_insert(): If a buffer pool watch exists for the block, refuse to
buffer subsequent operations, so that the purge that is being buffered
will not "overtake" later requests. Previously, we would notify the
watch in this case. Either way, the block would be read to the buffer
pool. In the current design, we can only notify the watch by actually
setting up a real block in buf_pool->page_hash.

rb://263 approved by Inaam Rana
2010-03-10 21:39:40 +00:00
marko
227df33ed6 branches/innodb+: Merge revisions 6560:6773 from branches/zip:
------------------------------------------------------------------------
  r6560 | sunny | 2010-02-04 16:11:23 +0200 (Thu, 04 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/lock/lock0lock.c

  branches/zip: Remove the additional check introduced in r6534 which tries
  to check if the joining transaction has any other transactions waiting on
  its locks. This optimization results in excessive deadlocks when running
  Sysbench with a large number of threads. The function seems to return
  FALSE positives.

  rb://250
  ------------------------------------------------------------------------
  r6591 | marko | 2010-02-08 10:06:39 +0200 (Mon, 08 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/row/row0merge.c

  branches/zip: row_merge_drop_index(): Remove redundant condition
  on SYS_INDEXES.TABLE_ID.  INDEX_ID must be instance-widely unique,
  because SYS_FIELDS is not indexed by TABLE_ID.
  ------------------------------------------------------------------------
  r6594 | marko | 2010-02-08 12:55:04 +0200 (Mon, 08 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/rem/rem0rec.c

  branches/zip: rec_get_nth_field_offs_old():
  Replace if (!cond) ut_error; tests with ut_a(cond).
  ------------------------------------------------------------------------
  r6595 | marko | 2010-02-08 13:53:02 +0200 (Mon, 08 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/btr0pcur.h
     M /branches/zip/include/btr0pcur.ic

  branches/zip: btr_pcur_commit(): Unused function, remove.
  ------------------------------------------------------------------------
  r6608 | marko | 2010-02-09 11:02:37 +0200 (Tue, 09 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/handler/handler0alter.cc

  branches/zip: ha_innobase::add_index(): Check for !innodb_table.
  ------------------------------------------------------------------------
  r6609 | marko | 2010-02-09 13:45:40 +0200 (Tue, 09 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/dict/dict0dict.c

  branches/zip: dict_field_print_low(): Add const qualifier.
  ------------------------------------------------------------------------
  r6610 | marko | 2010-02-09 13:53:59 +0200 (Tue, 09 Feb 2010) | 17 lines
  Changed paths:
     M /branches/zip/dict/dict0boot.c
     M /branches/zip/include/dict0boot.h
     M /branches/zip/row/row0merge.c
     M /branches/zip/row/row0mysql.c

  branches/zip: When dropping temporary indexes and tables at startup,
  first load them to the data dictionary cache and use the normal
  routines for dropping tables or indexes.  This should reduce the
  risk of bugs and also make the code compatible with the upcoming
  TablespaceDictionary implementation.

  DICT_SYS_INDEXES_NAME_FIELD: The clustered index position of SYS_INDEXES.NAME.

  row_merge_drop_temp_indexes(): Scan SYS_INDEXES for tables containing
  temporary indexes, and load the tables as needed. Invoke
  row_merge_drop_index() to drop the indexes.

  row_mysql_drop_temp_tables(): Scan SYS_TABLES for temporary tables,
  load them with dict_load_table() and drop them with
  row_drop_table_for_mysql().

  rb://251, not yet reviewed
  ------------------------------------------------------------------------
  r6611 | marko | 2010-02-09 14:28:25 +0200 (Tue, 09 Feb 2010) | 11 lines
  Changed paths:
     M /branches/zip/include/log0recv.h
     M /branches/zip/log/log0recv.c
     M /branches/zip/srv/srv0start.c

  branches/zip: Roll back dictionary transaction(s) before scanning *.ibd files

  innobase_start_or_create_for_mysql(): Roll back data dictionary
  transactions before scanning the *.ibd files. Then, data dictionary
  records can be loaded to the cache before opening the *.ibd files.

  recv_recovery_rollback_active(): Refactored from
  recv_recovery_from_checkpoint_finish().

  rb://235, committing without review, because this is needed for
  TablespaceDictionary.
  ------------------------------------------------------------------------
  r6612 | marko | 2010-02-09 14:32:39 +0200 (Tue, 09 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/log/log0recv.c

  branches/zip: recv_recovery_rollback_active():
  Drop the temporary tables and indexes after enabling sync order checks.
  This should not make any difference. This could have been done in r6611.
  ------------------------------------------------------------------------
  r6614 | inaam | 2010-02-09 20:26:23 +0200 (Tue, 09 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/srv/srv0srv.c

  branches/plugin rb://242

  Let the master thread sleep if the amount of work to be done is
  calibrated as taking less than a second.

  Approved by: Heikki
  ------------------------------------------------------------------------
  r6631 | marko | 2010-02-10 09:19:52 +0200 (Wed, 10 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip: Document r6614 in ChangeLog.
  ------------------------------------------------------------------------
  r6633 | marko | 2010-02-10 10:40:55 +0200 (Wed, 10 Feb 2010) | 31 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/buf/buf0buf.c
     M /branches/zip/lock/lock0lock.c

  branches/zip: Merge revisions 6538:6613 from branches/5.1:

    ------------------------------------------------------------------------
    r6545 | jyang | 2010-02-03 03:57:32 +0200 (Wed, 03 Feb 2010) | 8 lines
    Changed paths:
       M /branches/5.1/lock/lock0lock.c

    branches/5.1: Fix bug #49001, "SHOW INNODB STATUS deadlock info
    incorrect when deadlock detection aborts". Print the correct
    lock owner when recursive function lock_deadlock_recursive()
    exceeds its maximum depth LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK.

    rb://217, approved by Marko.
    ------------------------------------------------------------------------
    r6613 | inaam | 2010-02-09 20:23:09 +0200 (Tue, 09 Feb 2010) | 11 lines
    Changed paths:
       M /branches/5.1/buf/buf0buf.c
       M /branches/5.1/buf/buf0rea.c
       M /branches/5.1/include/buf0rea.h

    branches/5.1: Fix Bug #38901
    InnoDB logs error repeatedly when trying to load page into buffer pool

    In buf_page_get_gen() if we are unable to read a page (because of
    corruption or some other reason) we keep on retrying. This fills up
    error log with millions of entries in no time and we'd eventually run
    out of disk space. This patch limits the number of attempts that we
    make (currently set to 100) and after that we abort with a message.

    rb://241 Approved by: Heikki
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r6635 | marko | 2010-02-10 11:07:05 +0200 (Wed, 10 Feb 2010) | 4 lines
  Changed paths:
     M /branches/zip/row/row0sel.c

  branches/zip: Clean up after r6559.  Now that
  btr_pcur_open_with_no_init() is a macro, do not mix preprocessor
  directives in the macro invocation, because it is implementation-defined
  whether that is going to work.
  ------------------------------------------------------------------------
  r6639 | marko | 2010-02-10 13:11:04 +0200 (Wed, 10 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/trx0rseg.h
     M /branches/zip/trx/trx0rseg.c

  branches/zip: trx_rseg_create(): Unused function, remove.
  ------------------------------------------------------------------------
  r6660 | marko | 2010-02-11 11:21:11 +0200 (Thu, 11 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/row/row0umod.c

  branches/zip: Clarify the rollback of INSERT by UPDATE of delete-marked rec.

  row_undo_mod_remove_clust_low(): Augment the function comment.

  row_undo_mod_remove_clust_low(), row_undo_mod_del_mark_or_remove_sec_low(),
  row_undo_mod_del_mark_or_remove_sec(), row_undo_mod_upd_del_sec():
  Add ut_ad(node->rec_type == TRX_UNDO_UPD_DEL_REC);
  ------------------------------------------------------------------------
  r6672 | marko | 2010-02-11 13:01:18 +0200 (Thu, 11 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/que0que.h
     M /branches/zip/include/que0que.ic
     M /branches/zip/row/row0umod.c

  branches/zip: Introduce thr_is_recv().
  ------------------------------------------------------------------------
  r6673 | marko | 2010-02-11 13:09:48 +0200 (Thu, 11 Feb 2010) | 9 lines
  Changed paths:
     M /branches/zip/btr/btr0cur.c
     M /branches/zip/include/trx0types.h
     M /branches/zip/row/row0umod.c

  branches/zip: Relax a debug assertion about a missing BLOB. (Issue #452)
  When rolling back an incomplete transaction in purge, tolerate missing
  BLOBs also in update undo, when undoing an INSERT by updating a delete-marked
  record, and the delete-marked record is no longer needed.
  Previously, we only tolerated missing BLOBs in insert undo.
  This merely fixes a debug assertion; the code performed correctly
  without UNIV_DEBUG.

  rb://249 approved by Sunny Bains.
  ------------------------------------------------------------------------
  r6674 | inaam | 2010-02-11 17:54:44 +0200 (Thu, 11 Feb 2010) | 16 lines
  Changed paths:
     M /branches/zip/include/mem0mem.h
     M /branches/zip/include/mem0mem.ic
     M /branches/zip/mem/mem0mem.c

  branches/zip bug# 49535

  This is a backport of r4924.
  mem_heap_get_size() scans all allocated blocks to calculate the total
  size of the heap. This patch introduces a new, total_size, field in
  mem_block_info_struct. This field is valid only for base block 
  (i.e.: the first block allocated for the heap) and is set to
  ULINT_UNDEFINED in other blocks.
  This considerably improves the performance of redo scan during recovery.

  rb://108 issue#216

  Approved by: Heikki
  ------------------------------------------------------------------------
  r6675 | marko | 2010-02-11 22:41:11 +0200 (Thu, 11 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/row/row0umod.c

  branches/zip: Remove bogus debug assertions introduced in r6660.
  ------------------------------------------------------------------------
  r6707 | inaam | 2010-02-12 19:22:35 +0200 (Fri, 12 Feb 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip

  ChangeLog entry for r6674.
  ------------------------------------------------------------------------
  r6712 | marko | 2010-02-16 10:05:36 +0200 (Tue, 16 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/trx/trx0trx.c

  branches/zip: trx_lists_init_at_db_start(): Assert that the kernel_mutex
  is held by the caller.
  ------------------------------------------------------------------------
  r6713 | sunny | 2010-02-16 10:12:17 +0200 (Tue, 16 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Change the bit fields back to ulint. Bit fields were causing
  problems with concurrency on SMP systems because of word packing issues.
  The number of trx_t's in a system is not sufficient enough to require that
  we try and save a few bytes in the data structure.

  See rb://255 for details.
  ------------------------------------------------------------------------
  r6714 | sunny | 2010-02-16 10:12:25 +0200 (Tue, 16 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Update the comments and fix the whitespace issues.
  See rb://255 Approved by: Marko
  ------------------------------------------------------------------------
  r6715 | sunny | 2010-02-16 10:14:21 +0200 (Tue, 16 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Fix comment. Non functional change.
  ------------------------------------------------------------------------
  r6717 | marko | 2010-02-16 14:53:20 +0200 (Tue, 16 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/include/log0log.ic

  branches/zip: log_reserve_and_write_fast(): Correct a race condition
  in UNIV_LOG_LSN_DEBUG.  This could have caused Issue #440.
  ------------------------------------------------------------------------
  r6718 | marko | 2010-02-16 15:06:16 +0200 (Tue, 16 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Fix a comment.
  ------------------------------------------------------------------------
  r6723 | marko | 2010-02-17 11:48:34 +0200 (Wed, 17 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/lock/lock0lock.c

  branches/zip: lock_table_other_has_incompatible():
  Return an incompatible lock or NULL instead of TRUE or FALSE.
  Approved by Sunny over IM.
  ------------------------------------------------------------------------
  r6724 | marko | 2010-02-17 15:52:05 +0200 (Wed, 17 Feb 2010) | 11 lines
  Changed paths:
     M /branches/zip/os/os0file.c

  branches/zip: Merge revisions 6613:6669 from branches/5.1:
    ------------------------------------------------------------------------
    r6669 | jyang | 2010-02-11 12:24:19 +0200 (Thu, 11 Feb 2010) | 7 lines

    branches/5.1: Fix bug #50691, AIX implementation of readdir_r
    causes InnoDB errors. readdir_r() returns an non-NULL value
    in the case of reaching the end of a directory. It should
    not be treated as an error return.

    rb://238 approved by Marko
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r6726 | marko | 2010-02-17 18:49:21 +0200 (Wed, 17 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/include/fil0fil.h

  branches/zip: FIL_PAGE_FILE_FLUSH_LSN: Note that the field is only valid
  for the first page of each ibdata* file, not *.ibd files.
  Suggested by Heikki, in connection with the LSN warning noted in Issue #341.
  ------------------------------------------------------------------------
  r6727 | marko | 2010-02-17 18:50:20 +0200 (Wed, 17 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/fsp/fsp0fsp.c

  branches/zip: fsp_init_file_page_low(): Declare the page uninitialized
  for Valgrind.
  ------------------------------------------------------------------------
  r6728 | marko | 2010-02-17 18:54:04 +0200 (Wed, 17 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/fsp/fsp0fsp.c
     M /branches/zip/include/univ.i

  branches/zip: Remove UNIV_BASIC_LOG_DEBUG.
  This fixes the FILE_FLUSH_LSN printouts mentioned in Issue #341.
  Suggested by Heikki.
  ------------------------------------------------------------------------
  r6740 | sunny | 2010-02-18 13:44:31 +0200 (Thu, 18 Feb 2010) | 6 lines
  Changed paths:
     M /branches/zip/lock/lock0lock.c

  branches/zip: Don't print the entire lock bit set if the block was not
  found in the buffer pool. Only print the bits that are set and that
  information is in the lock and not in the block.

  See rb://256 approved by Marko.
  ------------------------------------------------------------------------
  r6749 | vasil | 2010-02-20 18:45:41 +0200 (Sat, 20 Feb 2010) | 5 lines
  Changed paths:
     M /branches/embedded-1.0/btr/btr0btr.c
     M /branches/embedded-1.0/btr/btr0cur.c
     M /branches/embedded-1.0/btr/btr0pcur.c
     M /branches/embedded-1.0/buf/buf0buf.c
     M /branches/embedded-1.0/buf/buf0flu.c
     M /branches/embedded-1.0/buf/buf0lru.c
     M /branches/embedded-1.0/dict/dict0boot.c
     M /branches/embedded-1.0/dict/dict0crea.c
     M /branches/embedded-1.0/dict/dict0dict.c
     M /branches/embedded-1.0/dict/dict0load.c
     M /branches/embedded-1.0/fil/fil0fil.c
     M /branches/embedded-1.0/fsp/fsp0fsp.c
     M /branches/embedded-1.0/ibuf/ibuf0ibuf.c
     M /branches/embedded-1.0/include/btr0btr.h
     M /branches/embedded-1.0/include/btr0cur.h
     M /branches/embedded-1.0/include/btr0pcur.h
     M /branches/embedded-1.0/include/btr0pcur.ic
     M /branches/embedded-1.0/include/buf0buf.h
     M /branches/embedded-1.0/include/buf0buf.ic
     M /branches/embedded-1.0/include/dict0boot.h
     M /branches/embedded-1.0/include/fil0fil.h
     M /branches/embedded-1.0/include/lock0lock.h
     M /branches/embedded-1.0/include/log0log.h
     M /branches/embedded-1.0/include/log0log.ic
     M /branches/embedded-1.0/include/log0recv.h
     M /branches/embedded-1.0/include/mem0dbg.h
     M /branches/embedded-1.0/include/mem0dbg.ic
     M /branches/embedded-1.0/include/mem0mem.h
     M /branches/embedded-1.0/include/mem0mem.ic
     M /branches/embedded-1.0/include/os0file.h
     M /branches/embedded-1.0/include/os0sync.h
     M /branches/embedded-1.0/include/os0sync.ic
     M /branches/embedded-1.0/include/os0thread.h
     M /branches/embedded-1.0/include/que0que.h
     M /branches/embedded-1.0/include/que0que.ic
     M /branches/embedded-1.0/include/row0merge.h
     M /branches/embedded-1.0/include/row0prebuilt.h
     M /branches/embedded-1.0/include/srv0srv.h
     M /branches/embedded-1.0/include/sync0sync.h
     M /branches/embedded-1.0/include/trx0rseg.h
     M /branches/embedded-1.0/include/trx0sys.h
     M /branches/embedded-1.0/include/trx0trx.h
     M /branches/embedded-1.0/include/trx0types.h
     M /branches/embedded-1.0/include/trx0undo.h
     M /branches/embedded-1.0/include/trx0xa.h
     M /branches/embedded-1.0/include/univ.i
     M /branches/embedded-1.0/include/ut0vec.h
     M /branches/embedded-1.0/include/ut0vec.ic
     M /branches/embedded-1.0/lock/lock0lock.c
     M /branches/embedded-1.0/log/log0log.c
     M /branches/embedded-1.0/log/log0recv.c
     M /branches/embedded-1.0/mem/mem0mem.c
     M /branches/embedded-1.0/os/os0file.c
     M /branches/embedded-1.0/os/os0thread.c
     M /branches/embedded-1.0/page/page0page.c
     M /branches/embedded-1.0/rem/rem0rec.c
     M /branches/embedded-1.0/row/row0ins.c
     M /branches/embedded-1.0/row/row0merge.c
     M /branches/embedded-1.0/row/row0prebuilt.c
     M /branches/embedded-1.0/row/row0sel.c
     M /branches/embedded-1.0/row/row0umod.c
     M /branches/embedded-1.0/row/row0undo.c
     M /branches/embedded-1.0/row/row0upd.c
     M /branches/embedded-1.0/srv/srv0srv.c
     M /branches/embedded-1.0/srv/srv0start.c
     M /branches/embedded-1.0/sync/sync0sync.c
     M /branches/embedded-1.0/trx/trx0sys.c
     M /branches/embedded-1.0/trx/trx0trx.c
     M /branches/embedded-1.0/trx/trx0undo.c
     M /branches/embedded-1.0/ut/ut0mem.c
     M /branches/innodb+/btr/btr0btr.c
     M /branches/innodb+/btr/btr0cur.c
     M /branches/innodb+/btr/btr0pcur.c
     M /branches/innodb+/buf/buf0buf.c
     M /branches/innodb+/buf/buf0lru.c
     M /branches/innodb+/dict/dict0crea.c
     M /branches/innodb+/dict/dict0dict.c
     M /branches/innodb+/dict/dict0load.c
     M /branches/innodb+/handler/ha_innodb.cc
     M /branches/innodb+/handler/ha_innodb.h
     M /branches/innodb+/handler/handler0alter.cc
     M /branches/innodb+/include/btr0btr.h
     M /branches/innodb+/include/btr0cur.h
     M /branches/innodb+/include/btr0pcur.h
     M /branches/innodb+/include/btr0pcur.ic
     M /branches/innodb+/include/buf0buf.h
     M /branches/innodb+/include/log0log.h
     M /branches/innodb+/include/mem0dbg.h
     M /branches/innodb+/include/mem0dbg.ic
     M /branches/innodb+/include/os0file.h
     M /branches/innodb+/include/row0mysql.h
     M /branches/innodb+/include/srv0srv.h
     M /branches/innodb+/include/sync0sync.h
     M /branches/innodb+/include/trx0trx.h
     M /branches/innodb+/lock/lock0lock.c
     M /branches/innodb+/log/log0log.c
     M /branches/innodb+/log/log0recv.c
     M /branches/innodb+/mem/mem0dbg.c
     M /branches/innodb+/os/os0file.c
     M /branches/innodb+/page/page0page.c
     M /branches/innodb+/row/row0ins.c
     M /branches/innodb+/row/row0mysql.c
     M /branches/innodb+/row/row0sel.c
     M /branches/innodb+/srv/srv0srv.c
     M /branches/innodb+/srv/srv0start.c
     M /branches/innodb+/sync/sync0sync.c
     M /branches/innodb+_metrics_table/btr/btr0btr.c
     M /branches/innodb+_metrics_table/buf/buf0buf.c
     M /branches/innodb+_metrics_table/buf/buf0flu.c
     M /branches/innodb+_metrics_table/dict/dict0crea.c
     M /branches/innodb+_metrics_table/dict/dict0dict.c
     M /branches/innodb+_metrics_table/dict/dict0load.c
     M /branches/innodb+_metrics_table/handler/ha_innodb.cc
     M /branches/innodb+_metrics_table/handler/ha_innodb.h
     M /branches/innodb+_metrics_table/handler/handler0alter.cc
     M /branches/innodb+_metrics_table/handler/i_s.cc
     M /branches/innodb+_metrics_table/handler/i_s.h
     M /branches/innodb+_metrics_table/include/mem0dbg.h
     M /branches/innodb+_metrics_table/include/mem0dbg.ic
     M /branches/innodb+_metrics_table/include/srv0mon.h
     M /branches/innodb+_metrics_table/include/srv0mon.ic
     M /branches/innodb+_metrics_table/include/srv0srv.h
     M /branches/innodb+_metrics_table/lock/lock0lock.c
     M /branches/innodb+_metrics_table/log/log0log.c
     M /branches/innodb+_metrics_table/mem/mem0dbg.c
     M /branches/innodb+_metrics_table/os/os0file.c
     M /branches/innodb+_metrics_table/page/page0zip.c
     M /branches/innodb+_metrics_table/row/row0mysql.c
     M /branches/innodb+_metrics_table/row/row0purge.c
     M /branches/innodb+_metrics_table/row/row0sel.c
     M /branches/innodb+_metrics_table/srv/srv0mon.c
     M /branches/innodb+_metrics_table/srv/srv0srv.c
     M /branches/innodb+_metrics_table/sync/sync0sync.c
     M /branches/innodb+_metrics_table/trx/trx0roll.c
     M /branches/innodb+_metrics_table/trx/trx0trx.c
     M /branches/innodb+_persistent_stats/btr/btr0btr.c
     M /branches/innodb+_persistent_stats/buf/buf0buf.c
     M /branches/innodb+_persistent_stats/data/data0type.c
     M /branches/innodb+_persistent_stats/dict/dict0boot.c
     M /branches/innodb+_persistent_stats/dict/dict0crea.c
     M /branches/innodb+_persistent_stats/dict/dict0dict.c
     M /branches/innodb+_persistent_stats/dict/dict0load.c
     M /branches/innodb+_persistent_stats/dict/dict0mem.c
     M /branches/innodb+_persistent_stats/fil/fil0fil.c
     M /branches/innodb+_persistent_stats/fsp/fsp0fsp.c
     M /branches/innodb+_persistent_stats/handler/ha_innodb.cc
     M /branches/innodb+_persistent_stats/handler/ha_innodb.h
     M /branches/innodb+_persistent_stats/handler/handler0alter.cc
     M /branches/innodb+_persistent_stats/ibuf/ibuf0ibuf.c
     M /branches/innodb+_persistent_stats/include/btr0pcur.h
     M /branches/innodb+_persistent_stats/include/btr0pcur.ic
     M /branches/innodb+_persistent_stats/include/db0err.h
     M /branches/innodb+_persistent_stats/include/dict0dict.h
     M /branches/innodb+_persistent_stats/include/dict0mem.h
     M /branches/innodb+_persistent_stats/include/ha_prototypes.h
     M /branches/innodb+_persistent_stats/include/lock0lock.h
     M /branches/innodb+_persistent_stats/include/log0log.h
     M /branches/innodb+_persistent_stats/include/log0recv.h
     M /branches/innodb+_persistent_stats/include/mem0dbg.h
     M /branches/innodb+_persistent_stats/include/mem0dbg.ic
     M /branches/innodb+_persistent_stats/include/os0file.h
     M /branches/innodb+_persistent_stats/include/pars0pars.h
     M /branches/innodb+_persistent_stats/include/srv0srv.h
     M /branches/innodb+_persistent_stats/include/sync0sync.h
     M /branches/innodb+_persistent_stats/include/trx0sys.h
     M /branches/innodb+_persistent_stats/include/trx0trx.h
     M /branches/innodb+_persistent_stats/include/ut0lst.h
     M /branches/innodb+_persistent_stats/include/ut0ut.h
     M /branches/innodb+_persistent_stats/lock/lock0lock.c
     M /branches/innodb+_persistent_stats/log/log0log.c
     M /branches/innodb+_persistent_stats/log/log0recv.c
     M /branches/innodb+_persistent_stats/mem/mem0dbg.c
     M /branches/innodb+_persistent_stats/os/os0file.c
     M /branches/innodb+_persistent_stats/page/page0page.c
     M /branches/innodb+_persistent_stats/pars/pars0pars.c
     M /branches/innodb+_persistent_stats/row/row0merge.c
     M /branches/innodb+_persistent_stats/row/row0mysql.c
     M /branches/innodb+_persistent_stats/row/row0sel.c
     M /branches/innodb+_persistent_stats/row/row0umod.c
     M /branches/innodb+_persistent_stats/row/row0upd.c
     M /branches/innodb+_persistent_stats/srv/srv0srv.c
     M /branches/innodb+_persistent_stats/srv/srv0start.c
     M /branches/innodb+_persistent_stats/sync/sync0sync.c
     M /branches/innodb+_persistent_stats/trx/trx0i_s.c
     M /branches/innodb+_persistent_stats/trx/trx0sys.c
     M /branches/innodb+_persistent_stats/trx/trx0trx.c
     M /branches/innodb+_persistent_stats/ut/ut0ut.c
     M /branches/innofts+/handler/ha_innodb.cc
     M /branches/innofts+/handler/i_s.cc
     M /branches/innofts+/handler/i_s.h
     M /branches/innofts+/include/fut0fut.h
     M /branches/performance_schema/btr/btr0sea.c
     M /branches/performance_schema/buf/buf0buf.c
     M /branches/performance_schema/dict/dict0dict.c
     M /branches/performance_schema/fil/fil0fil.c
     M /branches/performance_schema/handler/ha_innodb.cc
     M /branches/performance_schema/include/srv0srv.h
     M /branches/performance_schema/include/sync0rw.h
     M /branches/performance_schema/include/sync0rw.ic
     M /branches/performance_schema/include/sync0sync.h
     M /branches/performance_schema/include/sync0sync.ic
     M /branches/performance_schema/include/sync0types.h
     M /branches/performance_schema/log/log0log.c
     M /branches/performance_schema/srv/srv0srv.c
     M /branches/performance_schema/sync/sync0rw.c
     M /branches/performance_schema/trx/trx0i_s.c
     M /branches/performance_schema/trx/trx0purge.c
     M /branches/plugin-2.0/buf/buf0buf.c
     M /branches/plugin-2.0/buf/buf0lru.c
     M /branches/plugin-2.0/dict/dict0boot.c
     M /branches/plugin-2.0/dict/dict0crea.c
     M /branches/plugin-2.0/dict/dict0dict.c
     M /branches/plugin-2.0/dict/dict0load.c
     M /branches/plugin-2.0/dict/dict0mem.c
     M /branches/plugin-2.0/fil/fil0fil.c
     M /branches/plugin-2.0/fsp/fsp0fsp.c
     M /branches/plugin-2.0/handler/ha_innodb.cc
     M /branches/plugin-2.0/handler/ha_innodb.h
     M /branches/plugin-2.0/handler/handler0alter.cc
     M /branches/plugin-2.0/ibuf/ibuf0ibuf.c
     M /branches/plugin-2.0/include/dict0mem.h
     M /branches/plugin-2.0/include/ha_prototypes.h
     M /branches/plugin-2.0/include/lock0lock.h
     M /branches/plugin-2.0/include/log0log.h
     M /branches/plugin-2.0/include/log0recv.h
     M /branches/plugin-2.0/include/mem0dbg.h
     M /branches/plugin-2.0/include/mem0dbg.ic
     M /branches/plugin-2.0/include/os0file.h
     M /branches/plugin-2.0/include/row0mysql.h
     M /branches/plugin-2.0/include/srv0srv.h
     M /branches/plugin-2.0/include/sync0sync.h
     M /branches/plugin-2.0/include/trx0sys.h
     M /branches/plugin-2.0/include/trx0trx.h
     M /branches/plugin-2.0/lock/lock0lock.c
     M /branches/plugin-2.0/log/log0log.c
     M /branches/plugin-2.0/log/log0recv.c
     M /branches/plugin-2.0/mem/mem0dbg.c
     M /branches/plugin-2.0/os/os0file.c
     M /branches/plugin-2.0/page/page0page.c
     M /branches/plugin-2.0/row/row0merge.c
     M /branches/plugin-2.0/row/row0mysql.c
     M /branches/plugin-2.0/row/row0sel.c
     M /branches/plugin-2.0/row/row0umod.c
     M /branches/plugin-2.0/row/row0upd.c
     M /branches/plugin-2.0/srv/srv0srv.c
     M /branches/plugin-2.0/srv/srv0start.c
     M /branches/plugin-2.0/sync/sync0sync.c
     M /branches/plugin-2.0/trx/trx0i_s.c
     M /branches/plugin-2.0/trx/trx0sys.c
     M /branches/plugin-2.0/trx/trx0trx.c
     M /branches/zip/btr/btr0btr.c
     M /branches/zip/btr/btr0cur.c
     M /branches/zip/btr/btr0pcur.c
     M /branches/zip/buf/buf0buf.c
     M /branches/zip/buf/buf0lru.c
     M /branches/zip/dict/dict0boot.c
     M /branches/zip/dict/dict0crea.c
     M /branches/zip/dict/dict0dict.c
     M /branches/zip/dict/dict0load.c
     M /branches/zip/fsp/fsp0fsp.c
     M /branches/zip/handler/ha_innodb.cc
     M /branches/zip/handler/ha_innodb.h
     M /branches/zip/handler/handler0alter.cc
     M /branches/zip/include/btr0btr.h
     M /branches/zip/include/btr0cur.h
     M /branches/zip/include/btr0pcur.h
     M /branches/zip/include/btr0pcur.ic
     M /branches/zip/include/buf0buf.h
     M /branches/zip/include/dict0boot.h
     M /branches/zip/include/fil0fil.h
     M /branches/zip/include/log0log.h
     M /branches/zip/include/log0log.ic
     M /branches/zip/include/log0recv.h
     M /branches/zip/include/mem0dbg.h
     M /branches/zip/include/mem0dbg.ic
     M /branches/zip/include/mem0mem.h
     M /branches/zip/include/mem0mem.ic
     M /branches/zip/include/os0file.h
     M /branches/zip/include/que0que.h
     M /branches/zip/include/que0que.ic
     M /branches/zip/include/row0mysql.h
     M /branches/zip/include/srv0srv.h
     M /branches/zip/include/sync0sync.h
     M /branches/zip/include/trx0rseg.h
     M /branches/zip/include/trx0trx.h
     M /branches/zip/include/trx0types.h
     M /branches/zip/include/univ.i
     M /branches/zip/lock/lock0lock.c
     M /branches/zip/log/log0log.c
     M /branches/zip/log/log0recv.c
     M /branches/zip/mem/mem0dbg.c
     M /branches/zip/mem/mem0mem.c
     M /branches/zip/os/os0file.c
     M /branches/zip/page/page0page.c
     M /branches/zip/rem/rem0rec.c
     M /branches/zip/row/row0ins.c
     M /branches/zip/row/row0merge.c
     M /branches/zip/row/row0mysql.c
     M /branches/zip/row/row0sel.c
     M /branches/zip/row/row0umod.c
     M /branches/zip/srv/srv0srv.c
     M /branches/zip/srv/srv0start.c
     M /branches/zip/sync/sync0sync.c
     M /branches/zip/trx/trx0rseg.c
     M /branches/zip/trx/trx0trx.c

  Non-functional change: update copyright year to 2010 of the files
  that have been modified after 2010-01-01 according to svn.

  for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^   M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done
  ------------------------------------------------------------------------
  r6750 | marko | 2010-02-22 08:57:23 +0200 (Mon, 22 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/include/row0sel.h
     M /branches/zip/row/row0sel.c

  branches/zip: row_fetch_store_uint4(): Remove unused function.
  This was added to trunk in r435.
  ------------------------------------------------------------------------
  r6754 | marko | 2010-02-24 10:56:43 +0200 (Wed, 24 Feb 2010) | 17 lines
  Changed paths:
     M /branches/zip/row/row0merge.c

  branches/zip: Allocate the merge sort buffers from a heap, not stack.

  The merge sort can use up to 48KiB of buffers when merging blocks.
  That can cause a stack overflow, especially on 64-bit systems when not
  building with inlined functions.  This was reported as Issue #462.

  row_merge_dup_report(): Allocate buf and offsets from a heap.

  row_merge_heap_create(): Allocate space for buf[3] too. Fix bogus
  sizeof arithmetics that happened to work, because
  sizeof(ulint)==sizeof(void*).

  row_merge_blocks(), row_merge_blocks_copy(): Allocate buf[3] from heap.

  row_merge_insert_index_tuples(): Allocate buf from graph_heap.

  rb://258 approved and tested by Sunny Bains
  ------------------------------------------------------------------------
  r6767 | calvin | 2010-03-01 18:16:10 +0200 (Mon, 01 Mar 2010) | 3 lines
  Changed paths:
     M /branches/zip/srv/srv0srv.c

  branches/zip: fix bug#51587
  Non-functional change.
  ------------------------------------------------------------------------
  r6768 | vasil | 2010-03-02 18:20:48 +0200 (Tue, 02 Mar 2010) | 5 lines
  Changed paths:
     M /branches/zip/include/btr0btr.h
     M /branches/zip/include/btr0btr.ic

  branches/zip:

  Add a NOTE to the comment of btr_node_ptr_get_child_page_no()
  to prevent mysterious bugs.
  ------------------------------------------------------------------------
  r6770 | marko | 2010-03-03 12:52:55 +0200 (Wed, 03 Mar 2010) | 12 lines
  Changed paths:
     M /branches/zip/handler/handler0alter.cc
     M /branches/zip/mysql-test/innodb-index.result
     M /branches/zip/mysql-test/innodb-index.test
     M /branches/zip/mysql-test/innodb.result
     M /branches/zip/mysql-test/innodb.test

  branches/zip: Disallow duplicate index name when creating an index.
  This should fix Mantis Issue #461.

  innodb.test, innodb.result, innodb-index.test, innodb-index.result:
  Adjust the test result and mention that the introduced restriction
  has been reported as MySQL Bug #51451.

  innobase_check_index_keys(): Add a parameter for the InnoDB table and
  check that no duplicate index name is added.  Report errors by
  my_error() instead of sql_print_error().

  rb://260 approved by Sunny Bains
  ------------------------------------------------------------------------
  r6771 | marko | 2010-03-03 14:52:43 +0200 (Wed, 03 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/ChangeLog

  Document r6770.
  ------------------------------------------------------------------------
  r6773 | marko | 2010-03-03 15:31:54 +0200 (Wed, 03 Mar 2010) | 2 lines
  Changed paths:
     M /branches/zip/row/row0row.c

  branches/zip: row_raw_format(): Silence a GCC 4.4.2 warning
  of possibly uninitialized variable format_in_hex.
  ------------------------------------------------------------------------
2010-03-04 10:15:07 +00:00
marko
4b77470fe1 branches/innodb+: Commit the mini-transaction after merging a purge operation.
ibuf_delete(): Note that the mtr must be committed before latching any
further pages.

ibuf_restore_pos(): New function, refactored from ibuf_delete_rec().

ibuf_merge_or_delete_for_page(): Commit the mini-transaction after
calling ibuf_delete().  If ibuf_restore_pos() fails, restart the loop.

rb://222 approved by Sunny Bains.  This should fix Issue #135.
2010-03-03 12:58:01 +00:00