Commit graph

63059 commits

Author SHA1 Message Date
Mats Kindahl
8a0c1ddc60 WL#5030: Split and remove mysql_priv.h
Fixing merge problem that causes CSV engine to misbehave.
2010-04-01 14:19:08 +02:00
Alfranio Correia
ec6c56ef5a BUG#51291 Unfortunate effect around variable binlog_direct_non_transactional_updates
Post-merge fix.
2010-04-01 00:16:22 +01:00
irana
efde23d5b7 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
47a4352ec2 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
5fa48065dd 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
990829d5a4 branches/innodb+: Add check for libaio on Linux. 2010-03-31 16:20:22 +00:00
sbains
e39826c69b 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
Mats Kindahl
e409d6f69c WL#5030: Split and remove mysql_priv.h
This patch:

- Moves all definitions from the mysql_priv.h file into
  header files for the component where the variable is
  defined
- Creates header files if the component lacks one
- Eliminates all include directives from mysql_priv.h
- Eliminates all circular include cycles
- Rename time.cc to sql_time.cc
- Rename mysql_priv.h to sql_priv.h
2010-03-31 16:05:33 +02:00
Alfranio Correia
2b48577cc2 auto-merge mysql-trunk-bugfixing (local) --> mysql-trunk-bugfixing 2010-03-31 14:51:52 +01:00
Alfranio Correia
f7776c999e BUG#51291 Unfortunate effect around variable binlog_direct_non_transactional_updates
Added test cases to check the case where the option 
binlog_direct_non_transactional_updates is OFF.
2010-03-31 14:49:20 +01:00
Alfranio Correia
4d71a007ba auto-merge mysql-trunk-bugfixing (local) --> mysql-trunk-bugfixing 2010-03-31 14:30:24 +01:00
Alfranio Correia
7827688f23 BUG#51291 Unfortunate effect around variable binlog_direct_non_transactional_updates
BUG#46364 introduced the flag binlog_direct_non_transactional_updates which
would make N-changes to be written to the binary log upon committing the
statement when "ON". On the other hand, when "OFF" the option was supposed
to mimic the behavior in 5.1. However, the implementation was not mimicking
the behavior correctly and the following bugs popped up:

  Case #1: N-changes executed within a transaction would go into
           the S-cache. When later in the same transaction a
           T-change occurs, N-changes following it were written
           to the T-cache instead of the S-cache. In some cases,
           this raises problems. For example, a
           Table_map_log_event being written initially into the
           S-cache, together with the initial N-changes, would be
           absent from the T-cache. This would log N-changes
           orphaned from a Table_map_log_event (thence discarded
           at the slave). (MIXED and ROW)

   Case #2: When rolling back a transaction, the N-changes that
            might be in the T-cache were disregarded and
            truncated along with the T-changes. (MIXED and ROW)

   Case #3: When a MIXED statement (TN) is ahead of any other
            T-changes in the transaction and it fails, it is kept
            in the T-cache until the transaction ends. This is
            not the case in 5.1 or Betony (5.5.2). In these, the
            failed TN statement would be written to the binlog at
            the same instant it had failed and not deferred until
            transaction end. (SBR)

To fix these problems, we have decided to do what follows:

   For Case #1 and #2, we circumvent them:

      1. by not letting binlog_direct_non_transactional_updates
         affect MIXED and RBR. These modes will keep the behavior
         provided by WL#2687. Although this will make Celosia to
         behave differently from 5.1, an execution will be always
         safe under such modes in the sense that slaves will never
         go out sync. In 5.1, using either MIXED or ROW while
         mixing N-statements and T-statements was not safe.

   For Case #3, we don't actually fix it. We:

      1. keep it and make all MIXED statements whether they end
         up failing or not or whether they are up front in the
         transaction or after some transactional change to always
         be stored in the T-cache. This means that it is written
         to the binary log on transaction commit/rollback only.

      2. We make the warning message even more specific about the
         MIXED statement and SBR.
2010-03-31 14:22:47 +01:00
Alfranio Correia
1ddd2ac2db auto-merge mysql-trunk-bugfixing (local) --> mysql-trunk-bugfixing 2010-03-31 14:15:48 +01:00
mmakela
b8e393db14 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
f50ad079a1 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
2635191059 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
158b44edf4 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
2f85462041 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
b7778d80ea 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
d56f05da60 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
cef554f318 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
b7188cd26b 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
cefc7748b2 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
9e85abaea1 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
51124f3c77 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
9d214d6f53 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
eef4feb313 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
17504e31ce 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
ac54ac8d8f 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
Alexander Nozdrin
36430c53f9 Fix use of uninitialized variable. 2010-03-26 11:09:14 +03:00
mmakela
e3f84e3f59 branches/innodb+: ibuf: Add page_validate() and page_align() assertions. 2010-03-25 11:10:33 +00:00
mmakela
08197bface branches/innodb+: ibuf_merge_or_delete_for_page(): Simplify the code
and correct a comment.
2010-03-25 11:08:30 +00:00
Luis Soares
c340c3aa10 BUG#52202: mysqlbinlog_row* fail in daily-trunk on Sol10 x86_64
debug_max

There was a buffer overrun when unpacking the date
field. Incidentaly, this seems to affect only solaris x86_64
debug builds, but others platforms may be vulnerable as well.

In particular, the buffer size used was not taking into
consideration that the '\0' character would be written into
it.

We fix this by increasing the size of the buffer used to
accommodate one extra byte (the one for the '\0').
2010-03-25 00:30:16 +00:00
Alexey Kopytov
1311b45a61 Fixed mysqld--help-win broken by the merge from trunk main. 2010-03-24 23:29:38 +03:00
Joerg Bruehe
8a5aca0dc7 Add "--with-perfschema" to the configure options for RPMs. 2010-03-24 20:30:33 +01:00
Joerg Bruehe
2067e6c46f Fix an issue with the IBM C++ compiler
which was detected during the build of 5.5.3-m3.
This requires version 9 of IBM C++ to help.

More fixes will still be needed, it is very strict
(or rather: a bit picky?) about templates.
2010-03-24 20:15:06 +01:00
Joerg Bruehe
d3c3a14e0a Some fixes developed during the build of 5.5.3-m3
about handling the debug plugin files,
also "ha_example.*" are dropped.
2010-03-24 20:01:01 +01:00
Luis Soares
b684173e33 BUG#52341: PB2: rpl tests started taking three times more time on
linux x86_64 max 

Rpl tests were surprisingly taking too long when server was built
using cmake on linux. This was because cmake counter part of
patch for WL#4949 was not defining SIGNAL_WITH_VIO_CLOSE flag,
which had negative impact on the time needed to stop the slave IO
thread on STOP SLAVE command.

We fix this by deploy the missing SET command on configure.cmake.
2010-03-24 18:55:06 +00:00
Alexey Kopytov
f10885675c Manual merge of mysql-trunk into mysql-trunk-merge.
Conflicts:

Text conflict in client/mysqlbinlog.cc
Text conflict in mysql-test/Makefile.am
Text conflict in mysql-test/collections/default.daily
Text conflict in mysql-test/r/mysqlbinlog_row_innodb.result
Text conflict in mysql-test/suite/rpl/r/rpl_typeconv_innodb.result
Text conflict in mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
Text conflict in mysql-test/suite/rpl/t/rpl_row_create_table.test
Text conflict in mysql-test/suite/rpl/t/rpl_slave_skip.test
Text conflict in mysql-test/suite/rpl/t/rpl_typeconv_innodb.test
Text conflict in mysys/charset.c
Text conflict in sql/field.cc
Text conflict in sql/field.h
Text conflict in sql/item.h
Text conflict in sql/item_func.cc
Text conflict in sql/log.cc
Text conflict in sql/log_event.cc
Text conflict in sql/log_event_old.cc
Text conflict in sql/mysqld.cc
Text conflict in sql/rpl_utility.cc
Text conflict in sql/rpl_utility.h
Text conflict in sql/set_var.cc
Text conflict in sql/share/Makefile.am
Text conflict in sql/sql_delete.cc
Text conflict in sql/sql_plugin.cc
Text conflict in sql/sql_select.cc
Text conflict in sql/sql_table.cc
Text conflict in storage/example/ha_example.h
Text conflict in storage/federated/ha_federated.cc
Text conflict in storage/myisammrg/ha_myisammrg.cc
Text conflict in storage/myisammrg/myrg_open.c
2010-03-24 18:03:44 +03:00
mmakela
438c656b02 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
323afc6f8e 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
Alexander Nozdrin
58d8bfab4f Auto-merge from mysql-trunk. 2010-03-24 11:14:54 +03:00
Alexander Nozdrin
c203c8daf8 Auto-merge from mysql-trunk-bugfixing. 2010-03-24 11:10:56 +03:00
mmakela
8f58da5f21 branches/innodb+: Replace InnoDB+ with MySQL 5.5 in ibuf comments. 2010-03-24 06:56:31 +00:00
Alexey Kopytov
41b6e42421 Mark all main.plugin* tests as experimental on Solaris
as done in 6.0 due to bug #47146.
2010-03-23 23:34:12 +03:00
mmakela
82d93a5237 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
Alexey Kopytov
bbe6b90b52 Fixed the incorrectly merged rpl.rpl_show_slave_running test in
mysql-trunk-merge (by copying the .result/.test files from mysql-pe).
2010-03-23 10:28:57 +03:00
Joerg Bruehe
adbd8fe6e7 Fixes related to bug#46587:
archive storage engine headers don't include my_global.h first


During the build of 5.5.3-m3 on older Linux platforms
(kernels 2.4 or early 2.6),
the symptom described in the bug report occurred both
in the "archive" and in the "innobase" storage engine.

This change is the patch proposed in that bug report,
and a similar one in innobase, that latter is aligned
with Vasil Dimov of Innobase, the original author.
2010-03-22 16:19:39 +01:00
Joerg Bruehe
82b4452bd5 Some fixes for the build on Windows
as found necessary during the release build of 5.5.3-m3.
2010-03-22 16:02:31 +01:00
Alexey Kopytov
7ac059ba8f Manual merge of mysql-5.1-bugteam into mysql-trunk-merge.
Conflicts:

Text conflict in mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
Text conflict in sql/item_func.cc
2010-03-22 16:28:51 +03:00