1. 31 Mar, 2010 4 commits
    • sbains's avatar
      branches/innodb+: Add check for libaio on Linux. · 6e0fc8e8
      sbains authored
      6e0fc8e8
    • sbains's avatar
      branches/innodb+: Create a separate purge thread to do the purge. Introduce · 5850b0ed
      sbains authored
      two new configuration parameters.
      
        1. innodb-purge-threads := [01] -- default is 0
        2. innodb-purge-batch-size := 20 ... 5000 -- default is 20
      
      rb://271
      5850b0ed
    • mmakela's avatar
      branches/innodb+: Merge revisions r6897:6925 from branches/zip. · 20f9d908
      mmakela authored
      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.
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
      20f9d908
    • sbains's avatar
      branches/innodb+: Create additional rollback segments on startup. Reduce · f8f424da
      sbains authored
      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
      f8f424da
  2. 30 Mar, 2010 1 commit
  3. 29 Mar, 2010 8 commits
    • irana's avatar
      branches/innodb+ rb://273 · 9280ce1e
      irana authored
      Don't allow master thread to flush pages if it has been less then
      a second since last iteration.
      
      Approved by: Marko
      9280ce1e
    • mmakela's avatar
      branches/innodb+: ibuf_set_entry_counter(): Return FALSE · de541c9a
      mmakela authored
      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.
      de541c9a
    • mmakela's avatar
      branches/innodb+: Buffer DELETE and purge on UNIQUE indexes. Sunny · efc82fb8
      mmakela authored
      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.
      efc82fb8
    • mmakela's avatar
      branches/innodb+: btr_cur_search_to_nth_level(): Remove a bogus comment. · 66ed2719
      mmakela authored
      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.
      66ed2719
    • mmakela's avatar
      branches/innodb+: Add debug assertions to track down Bug #52360. · 8cf6771b
      mmakela authored
      hash_table_t::magic_n: Add HASH_TABLE_MAGIC_N checks, which were fully absent.
      ut_hash_ulint(): Assert table_size > 0 before division.
      8cf6771b
    • mmakela's avatar
      branches/innodb+: Merge revisions 6853:6897 from branches/zip: · d08cd430
      mmakela authored
      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:100: 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.
        ------------------------------------------------------------------------
      d08cd430
    • jyang's avatar
      branches/innodb+: Merge branches/perfschema back into innodb+. · 8610f05a
      jyang authored
      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ä
      8610f05a
    • mmakela's avatar
      branches/innodb+: ibuf_get_volume_buffered(): Pass UT_ARR_SIZE(hash_bitmap) · 29a1b47c
      mmakela authored
      in all calls to ibuf_get_volume_buffered_count().
      This mistake was made in r6866 and caused the follow-up of Issue #470.
      29a1b47c
  4. 27 Mar, 2010 1 commit
    • vdimov's avatar
      branches/innodb+: · 08598d78
      vdimov authored
      Merge an error code from branches/innodb+_persistent_stats, that is used
      in ut_strerr().
      08598d78
  5. 26 Mar, 2010 4 commits
    • vdimov's avatar
      Non-functional change: update copyright year to 2010 of the files · a5b61a20
      vdimov authored
      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
      a5b61a20
    • vdimov's avatar
      branches/innodb+: Merge c6413 from branches/innodb+_persistent_stats: · 17898a0a
      vdimov authored
        ------------------------------------------------------------------------
        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.
        ------------------------------------------------------------------------
      17898a0a
    • vdimov's avatar
      branches/innodb+: Merge c6464 from branches/innodb+_persistent_stats: · 5971eab1
      vdimov authored
        ------------------------------------------------------------------------
        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!
        ------------------------------------------------------------------------
      5971eab1
    • vdimov's avatar
      branches/innodb+: Merge c6504 from branches/innodb+_persistent_stats: · 33fc3e60
      vdimov authored
        ------------------------------------------------------------------------
        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'
        ------------------------------------------------------------------------
      33fc3e60
  6. 25 Mar, 2010 2 commits
  7. 24 Mar, 2010 3 commits
  8. 23 Mar, 2010 1 commit
    • mmakela's avatar
      branches/innodb+: Merge revisions 6801:6853 from branches/zip: · b04d3081
      mmakela authored
        ------------------------------------------------------------------------
        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)).
        ------------------------------------------------------------------------
      b04d3081
  9. 22 Mar, 2010 1 commit
  10. 19 Mar, 2010 2 commits
  11. 18 Mar, 2010 3 commits
    • marko's avatar
      branches/innodb+: Merge revisions 6293:6797 from branches/plugin-1.1, · 56953f83
      marko authored
      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.
        ------------------------------------------------------------------------
      56953f83
    • jyang's avatar
      Undo create perfschema branch under innodb+. · 2c652250
      jyang authored
      Created the actual perfschema branch at
      https://svn.innodb.com/svn/innodb/branches/perfschema
      
      2c652250
    • jyang's avatar
      Implement Performance Schema in InnoDB. · 024216da
      jyang authored
      024216da
  12. 17 Mar, 2010 1 commit
    • marko's avatar
      branches/innodb+: btr_cur_search_to_nth_level(): Treat BTR_DELETE in · c158c47a
      marko authored
      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
      c158c47a
  13. 13 Mar, 2010 2 commits
    • vasil's avatar
      branches/innodb+: · 95567a75
      vasil authored
      Say "InnoDB" instead of "InnoDB+" at startup, this is going to be the
      builtin InnoDB in MySQL 5.5.
      95567a75
    • inaam's avatar
      branches/innodb+ · a85f3fce
      inaam authored
      Fix compiler warning
      a85f3fce
  14. 12 Mar, 2010 3 commits
    • calvin's avatar
      branches/innodb+: Merge revisions 6238:6293 from branches/plugin-1.1 · cd9fddd8
      calvin authored
      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.
        ------------------------------------------------------------------------
      cd9fddd8
    • calvin's avatar
      4a8e2c14
    • calvin's avatar
      branches/innodb+: merge the CMake file changes from MySQL. · 5c8d7e19
      calvin authored
      The CMake files are significantly changed in MySQL 5.5
      to have cross-platform support.
      5c8d7e19
  15. 11 Mar, 2010 3 commits
    • marko's avatar
      branches/innodb+: Merge revisions 6773:6801 from branches/zip: · 83d2cd7a
      marko authored
        ------------------------------------------------------------------------
        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.
        ------------------------------------------------------------------------
      83d2cd7a
    • marko's avatar
      ibuf_merge_or_delete_for_page(): Fix inappropriate latching of pages · 6429bcd5
      marko authored
      when merging a purge (IBUF_OP_DELETE).
      This bug was introduced in r6772.
      6429bcd5
    • marko's avatar
      branches/innodb+: buf_page_init(): Fix a bug in r6794 · b1143bcd
      marko authored
      that caused a SIGSEGV on compressed pages (block==NULL dereferenced).
      b1143bcd
  16. 10 Mar, 2010 1 commit
    • marko's avatar
      branches/innodb+: Implement the buf_pool_watch for DeleteBuffering in · 3d9f3eed
      marko authored
      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
      3d9f3eed