1. 29 Mar, 2010 5 commits
    • mmakela's avatar
      branches/innodb+: btr_cur_search_to_nth_level(): Remove a bogus comment. · d56f05da
      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.
      d56f05da
    • mmakela's avatar
      branches/innodb+: Add debug assertions to track down Bug #52360. · cef554f3
      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.
      cef554f3
    • mmakela's avatar
      branches/innodb+: Merge revisions 6853:6897 from branches/zip: · b7188cd2
      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.
        ------------------------------------------------------------------------
      b7188cd2
    • jyang's avatar
      branches/innodb+: Merge branches/perfschema back into innodb+. · cefc7748
      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ä
      cefc7748
    • mmakela's avatar
      branches/innodb+: ibuf_get_volume_buffered(): Pass UT_ARR_SIZE(hash_bitmap) · 9e85abae
      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.
      9e85abae
  2. 27 Mar, 2010 1 commit
    • vdimov's avatar
      branches/innodb+: · 51124f3c
      vdimov authored
      Merge an error code from branches/innodb+_persistent_stats, that is used
      in ut_strerr().
      51124f3c
  3. 26 Mar, 2010 4 commits
    • vdimov's avatar
      Non-functional change: update copyright year to 2010 of the files · 9d214d6f
      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
      9d214d6f
    • vdimov's avatar
      branches/innodb+: Merge c6413 from branches/innodb+_persistent_stats: · eef4feb3
      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.
        ------------------------------------------------------------------------
      eef4feb3
    • vdimov's avatar
      branches/innodb+: Merge c6464 from branches/innodb+_persistent_stats: · 17504e31
      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!
        ------------------------------------------------------------------------
      17504e31
    • vdimov's avatar
      branches/innodb+: Merge c6504 from branches/innodb+_persistent_stats: · ac54ac8d
      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'
        ------------------------------------------------------------------------
      ac54ac8d
  4. 25 Mar, 2010 2 commits
  5. 24 Mar, 2010 3 commits
  6. 23 Mar, 2010 1 commit
    • mmakela's avatar
      branches/innodb+: Merge revisions 6801:6853 from branches/zip: · 82d93a52
      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)).
        ------------------------------------------------------------------------
      82d93a52
  7. 22 Mar, 2010 1 commit
  8. 19 Mar, 2010 2 commits
  9. 18 Mar, 2010 3 commits
    • marko's avatar
      branches/innodb+: Merge revisions 6293:6797 from branches/plugin-1.1, · 3c506592
      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.
        ------------------------------------------------------------------------
      3c506592
    • jyang's avatar
      Undo create perfschema branch under innodb+. · 55485e2b
      jyang authored
      Created the actual perfschema branch at
      https://svn.innodb.com/svn/innodb/branches/perfschema
      55485e2b
    • jyang's avatar
      Implement Performance Schema in InnoDB. · 01ac1273
      jyang authored
      01ac1273
  10. 17 Mar, 2010 1 commit
    • marko's avatar
      branches/innodb+: btr_cur_search_to_nth_level(): Treat BTR_DELETE in · 08993371
      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
      08993371
  11. 13 Mar, 2010 2 commits
    • vasil's avatar
      branches/innodb+: · 01568064
      vasil authored
      Say "InnoDB" instead of "InnoDB+" at startup, this is going to be the
      builtin InnoDB in MySQL 5.5.
      01568064
    • inaam's avatar
      branches/innodb+ · bb9a932f
      inaam authored
      Fix compiler warning
      bb9a932f
  12. 12 Mar, 2010 3 commits
    • calvin's avatar
      branches/innodb+: Merge revisions 6238:6293 from branches/plugin-1.1 · a0385e8a
      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.
        ------------------------------------------------------------------------
      a0385e8a
    • calvin's avatar
      05ecd77d
    • calvin's avatar
      branches/innodb+: merge the CMake file changes from MySQL. · 4fc330e9
      calvin authored
      The CMake files are significantly changed in MySQL 5.5
      to have cross-platform support.
      4fc330e9
  13. 11 Mar, 2010 3 commits
    • marko's avatar
      branches/innodb+: Merge revisions 6773:6801 from branches/zip: · 8a0537c0
      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.
        ------------------------------------------------------------------------
      8a0537c0
    • marko's avatar
      ibuf_merge_or_delete_for_page(): Fix inappropriate latching of pages · b638e0b9
      marko authored
      when merging a purge (IBUF_OP_DELETE).
      This bug was introduced in r6772.
      b638e0b9
    • marko's avatar
      branches/innodb+: buf_page_init(): Fix a bug in r6794 · 8a612ef9
      marko authored
      that caused a SIGSEGV on compressed pages (block==NULL dereferenced).
      8a612ef9
  14. 10 Mar, 2010 1 commit
    • marko's avatar
      branches/innodb+: Implement the buf_pool_watch for DeleteBuffering in · fcff7984
      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
      fcff7984
  15. 04 Mar, 2010 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 6560:6773 from branches/zip: · fb2ff6da
      marko authored
        ------------------------------------------------------------------------
        r6560 | sunny | 2010-02-04 16:11:23 +0200 (Thu, 04 Feb 2010) | 7 lines
        Changed paths:
           M /branches/zip/lock/lock0lock.c
      
        branches/zip: Remove the additional check introduced in r6534 which tries
        to check if the joining transaction has any other transactions waiting on
        its locks. This optimization results in excessive deadlocks when running
        Sysbench with a large number of threads. The function seems to return
        FALSE positives.
      
        rb://250
        ------------------------------------------------------------------------
        r6591 | marko | 2010-02-08 10:06:39 +0200 (Mon, 08 Feb 2010) | 3 lines
        Changed paths:
           M /branches/zip/row/row0merge.c
      
        branches/zip: row_merge_drop_index(): Remove redundant condition
        on SYS_INDEXES.TABLE_ID.  INDEX_ID must be instance-widely unique,
        because SYS_FIELDS is not indexed by TABLE_ID.
        ------------------------------------------------------------------------
        r6594 | marko | 2010-02-08 12:55:04 +0200 (Mon, 08 Feb 2010) | 2 lines
        Changed paths:
           M /branches/zip/rem/rem0rec.c
      
        branches/zip: rec_get_nth_field_offs_old():
        Replace if (!cond) ut_error; tests with ut_a(cond).
        ------------------------------------------------------------------------
        r6595 | marko | 2010-02-08 13:53:02 +0200 (Mon, 08 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/include/btr0pcur.h
           M /branches/zip/include/btr0pcur.ic
      
        branches/zip: btr_pcur_commit(): Unused function, remove.
        ------------------------------------------------------------------------
        r6608 | marko | 2010-02-09 11:02:37 +0200 (Tue, 09 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/handler/handler0alter.cc
      
        branches/zip: ha_innobase::add_index(): Check for !innodb_table.
        ------------------------------------------------------------------------
        r6609 | marko | 2010-02-09 13:45:40 +0200 (Tue, 09 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/dict/dict0dict.c
      
        branches/zip: dict_field_print_low(): Add const qualifier.
        ------------------------------------------------------------------------
        r6610 | marko | 2010-02-09 13:53:59 +0200 (Tue, 09 Feb 2010) | 17 lines
        Changed paths:
           M /branches/zip/dict/dict0boot.c
           M /branches/zip/include/dict0boot.h
           M /branches/zip/row/row0merge.c
           M /branches/zip/row/row0mysql.c
      
        branches/zip: When dropping temporary indexes and tables at startup,
        first load them to the data dictionary cache and use the normal
        routines for dropping tables or indexes.  This should reduce the
        risk of bugs and also make the code compatible with the upcoming
        TablespaceDictionary implementation.
      
        DICT_SYS_INDEXES_NAME_FIELD: The clustered index position of SYS_INDEXES.NAME.
      
        row_merge_drop_temp_indexes(): Scan SYS_INDEXES for tables containing
        temporary indexes, and load the tables as needed. Invoke
        row_merge_drop_index() to drop the indexes.
      
        row_mysql_drop_temp_tables(): Scan SYS_TABLES for temporary tables,
        load them with dict_load_table() and drop them with
        row_drop_table_for_mysql().
      
        rb://251, not yet reviewed
        ------------------------------------------------------------------------
        r6611 | marko | 2010-02-09 14:28:25 +0200 (Tue, 09 Feb 2010) | 11 lines
        Changed paths:
           M /branches/zip/include/log0recv.h
           M /branches/zip/log/log0recv.c
           M /branches/zip/srv/srv0start.c
      
        branches/zip: Roll back dictionary transaction(s) before scanning *.ibd files
      
        innobase_start_or_create_for_mysql(): Roll back data dictionary
        transactions before scanning the *.ibd files. Then, data dictionary
        records can be loaded to the cache before opening the *.ibd files.
      
        recv_recovery_rollback_active(): Refactored from
        recv_recovery_from_checkpoint_finish().
      
        rb://235, committing without review, because this is needed for
        TablespaceDictionary.
        ------------------------------------------------------------------------
        r6612 | marko | 2010-02-09 14:32:39 +0200 (Tue, 09 Feb 2010) | 3 lines
        Changed paths:
           M /branches/zip/log/log0recv.c
      
        branches/zip: recv_recovery_rollback_active():
        Drop the temporary tables and indexes after enabling sync order checks.
        This should not make any difference. This could have been done in r6611.
        ------------------------------------------------------------------------
        r6614 | inaam | 2010-02-09 20:26:23 +0200 (Tue, 09 Feb 2010) | 7 lines
        Changed paths:
           M /branches/zip/srv/srv0srv.c
      
        branches/plugin rb://242
      
        Let the master thread sleep if the amount of work to be done is
        calibrated as taking less than a second.
      
        Approved by: Heikki
        ------------------------------------------------------------------------
        r6631 | marko | 2010-02-10 09:19:52 +0200 (Wed, 10 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip: Document r6614 in ChangeLog.
        ------------------------------------------------------------------------
        r6633 | marko | 2010-02-10 10:40:55 +0200 (Wed, 10 Feb 2010) | 31 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/buf/buf0buf.c
           M /branches/zip/lock/lock0lock.c
      
        branches/zip: Merge revisions 6538:6613 from branches/5.1:
      
          ------------------------------------------------------------------------
          r6545 | jyang | 2010-02-03 03:57:32 +0200 (Wed, 03 Feb 2010) | 8 lines
          Changed paths:
             M /branches/5.1/lock/lock0lock.c
      
          branches/5.1: Fix bug #49001, "SHOW INNODB STATUS deadlock info
          incorrect when deadlock detection aborts". Print the correct
          lock owner when recursive function lock_deadlock_recursive()
          exceeds its maximum depth LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK.
      
          rb://217, approved by Marko.
          ------------------------------------------------------------------------
          r6613 | inaam | 2010-02-09 20:23:09 +0200 (Tue, 09 Feb 2010) | 11 lines
          Changed paths:
             M /branches/5.1/buf/buf0buf.c
             M /branches/5.1/buf/buf0rea.c
             M /branches/5.1/include/buf0rea.h
      
          branches/5.1: Fix Bug #38901
          InnoDB logs error repeatedly when trying to load page into buffer pool
      
          In buf_page_get_gen() if we are unable to read a page (because of
          corruption or some other reason) we keep on retrying. This fills up
          error log with millions of entries in no time and we'd eventually run
          out of disk space. This patch limits the number of attempts that we
          make (currently set to 100) and after that we abort with a message.
      
          rb://241 Approved by: Heikki
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6635 | marko | 2010-02-10 11:07:05 +0200 (Wed, 10 Feb 2010) | 4 lines
        Changed paths:
           M /branches/zip/row/row0sel.c
      
        branches/zip: Clean up after r6559.  Now that
        btr_pcur_open_with_no_init() is a macro, do not mix preprocessor
        directives in the macro invocation, because it is implementation-defined
        whether that is going to work.
        ------------------------------------------------------------------------
        r6639 | marko | 2010-02-10 13:11:04 +0200 (Wed, 10 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/include/trx0rseg.h
           M /branches/zip/trx/trx0rseg.c
      
        branches/zip: trx_rseg_create(): Unused function, remove.
        ------------------------------------------------------------------------
        r6660 | marko | 2010-02-11 11:21:11 +0200 (Thu, 11 Feb 2010) | 7 lines
        Changed paths:
           M /branches/zip/row/row0umod.c
      
        branches/zip: Clarify the rollback of INSERT by UPDATE of delete-marked rec.
      
        row_undo_mod_remove_clust_low(): Augment the function comment.
      
        row_undo_mod_remove_clust_low(), row_undo_mod_del_mark_or_remove_sec_low(),
        row_undo_mod_del_mark_or_remove_sec(), row_undo_mod_upd_del_sec():
        Add ut_ad(node->rec_type == TRX_UNDO_UPD_DEL_REC);
        ------------------------------------------------------------------------
        r6672 | marko | 2010-02-11 13:01:18 +0200 (Thu, 11 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/include/que0que.h
           M /branches/zip/include/que0que.ic
           M /branches/zip/row/row0umod.c
      
        branches/zip: Introduce thr_is_recv().
        ------------------------------------------------------------------------
        r6673 | marko | 2010-02-11 13:09:48 +0200 (Thu, 11 Feb 2010) | 9 lines
        Changed paths:
           M /branches/zip/btr/btr0cur.c
           M /branches/zip/include/trx0types.h
           M /branches/zip/row/row0umod.c
      
        branches/zip: Relax a debug assertion about a missing BLOB. (Issue #452)
        When rolling back an incomplete transaction in purge, tolerate missing
        BLOBs also in update undo, when undoing an INSERT by updating a delete-marked
        record, and the delete-marked record is no longer needed.
        Previously, we only tolerated missing BLOBs in insert undo.
        This merely fixes a debug assertion; the code performed correctly
        without UNIV_DEBUG.
      
        rb://249 approved by Sunny Bains.
        ------------------------------------------------------------------------
        r6674 | inaam | 2010-02-11 17:54:44 +0200 (Thu, 11 Feb 2010) | 16 lines
        Changed paths:
           M /branches/zip/include/mem0mem.h
           M /branches/zip/include/mem0mem.ic
           M /branches/zip/mem/mem0mem.c
      
        branches/zip bug# 49535
      
        This is a backport of r4924.
        mem_heap_get_size() scans all allocated blocks to calculate the total
        size of the heap. This patch introduces a new, total_size, field in
        mem_block_info_struct. This field is valid only for base block 
        (i.e.: the first block allocated for the heap) and is set to
        ULINT_UNDEFINED in other blocks.
        This considerably improves the performance of redo scan during recovery.
      
        rb://108 issue#216
      
        Approved by: Heikki
        ------------------------------------------------------------------------
        r6675 | marko | 2010-02-11 22:41:11 +0200 (Thu, 11 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/row/row0umod.c
      
        branches/zip: Remove bogus debug assertions introduced in r6660.
        ------------------------------------------------------------------------
        r6707 | inaam | 2010-02-12 19:22:35 +0200 (Fri, 12 Feb 2010) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip
      
        ChangeLog entry for r6674.
        ------------------------------------------------------------------------
        r6712 | marko | 2010-02-16 10:05:36 +0200 (Tue, 16 Feb 2010) | 2 lines
        Changed paths:
           M /branches/zip/trx/trx0trx.c
      
        branches/zip: trx_lists_init_at_db_start(): Assert that the kernel_mutex
        is held by the caller.
        ------------------------------------------------------------------------
        r6713 | sunny | 2010-02-16 10:12:17 +0200 (Tue, 16 Feb 2010) | 7 lines
        Changed paths:
           M /branches/zip/include/trx0trx.h
      
        branches/zip: Change the bit fields back to ulint. Bit fields were causing
        problems with concurrency on SMP systems because of word packing issues.
        The number of trx_t's in a system is not sufficient enough to require that
        we try and save a few bytes in the data structure.
      
        See rb://255 for details.
        ------------------------------------------------------------------------
        r6714 | sunny | 2010-02-16 10:12:25 +0200 (Tue, 16 Feb 2010) | 2 lines
        Changed paths:
           M /branches/zip/include/trx0trx.h
      
        branches/zip: Update the comments and fix the whitespace issues.
        See rb://255 Approved by: Marko
        ------------------------------------------------------------------------
        r6715 | sunny | 2010-02-16 10:14:21 +0200 (Tue, 16 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/include/trx0trx.h
      
        branches/zip: Fix comment. Non functional change.
        ------------------------------------------------------------------------
        r6717 | marko | 2010-02-16 14:53:20 +0200 (Tue, 16 Feb 2010) | 2 lines
        Changed paths:
           M /branches/zip/include/log0log.ic
      
        branches/zip: log_reserve_and_write_fast(): Correct a race condition
        in UNIV_LOG_LSN_DEBUG.  This could have caused Issue #440.
        ------------------------------------------------------------------------
        r6718 | marko | 2010-02-16 15:06:16 +0200 (Tue, 16 Feb 2010) | 1 line
        Changed paths:
           M /branches/zip/include/trx0trx.h
      
        branches/zip: Fix a comment.
        ------------------------------------------------------------------------
        r6723 | marko | 2010-02-17 11:48:34 +0200 (Wed, 17 Feb 2010) | 3 lines
        Changed paths:
           M /branches/zip/lock/lock0lock.c
      
        branches/zip: lock_table_other_has_incompatible():
        Return an incompatible lock or NULL instead of TRUE or FALSE.
        Approved by Sunny over IM.
        ------------------------------------------------------------------------
        r6724 | marko | 2010-02-17 15:52:05 +0200 (Wed, 17 Feb 2010) | 11 lines
        Changed paths:
           M /branches/zip/os/os0file.c
      
        branches/zip: Merge revisions 6613:6669 from branches/5.1:
          ------------------------------------------------------------------------
          r6669 | jyang | 2010-02-11 12:24:19 +0200 (Thu, 11 Feb 2010) | 7 lines
      
          branches/5.1: Fix bug #50691, AIX implementation of readdir_r
          causes InnoDB errors. readdir_r() returns an non-NULL value
          in the case of reaching the end of a directory. It should
          not be treated as an error return.
      
          rb://238 approved by Marko
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6726 | marko | 2010-02-17 18:49:21 +0200 (Wed, 17 Feb 2010) | 3 lines
        Changed paths:
           M /branches/zip/include/fil0fil.h
      
        branches/zip: FIL_PAGE_FILE_FLUSH_LSN: Note that the field is only valid
        for the first page of each ibdata* file, not *.ibd files.
        Suggested by Heikki, in connection with the LSN warning noted in Issue #341.
        ------------------------------------------------------------------------
        r6727 | marko | 2010-02-17 18:50:20 +0200 (Wed, 17 Feb 2010) | 2 lines
        Changed paths:
           M /branches/zip/fsp/fsp0fsp.c
      
        branches/zip: fsp_init_file_page_low(): Declare the page uninitialized
        for Valgrind.
        ------------------------------------------------------------------------
        r6728 | marko | 2010-02-17 18:54:04 +0200 (Wed, 17 Feb 2010) | 3 lines
        Changed paths:
           M /branches/zip/fsp/fsp0fsp.c
           M /branches/zip/include/univ.i
      
        branches/zip: Remove UNIV_BASIC_LOG_DEBUG.
        This fixes the FILE_FLUSH_LSN printouts mentioned in Issue #341.
        Suggested by Heikki.
        ------------------------------------------------------------------------
        r6740 | sunny | 2010-02-18 13:44:31 +0200 (Thu, 18 Feb 2010) | 6 lines
        Changed paths:
           M /branches/zip/lock/lock0lock.c
      
        branches/zip: Don't print the entire lock bit set if the block was not
        found in the buffer pool. Only print the bits that are set and that
        information is in the lock and not in the block.
      
        See rb://256 approved by Marko.
        ------------------------------------------------------------------------
        r6749 | vasil | 2010-02-20 18:45:41 +0200 (Sat, 20 Feb 2010) | 5 lines
        Changed paths:
           M /branches/embedded-1.0/btr/btr0btr.c
           M /branches/embedded-1.0/btr/btr0cur.c
           M /branches/embedded-1.0/btr/btr0pcur.c
           M /branches/embedded-1.0/buf/buf0buf.c
           M /branches/embedded-1.0/buf/buf0flu.c
           M /branches/embedded-1.0/buf/buf0lru.c
           M /branches/embedded-1.0/dict/dict0boot.c
           M /branches/embedded-1.0/dict/dict0crea.c
           M /branches/embedded-1.0/dict/dict0dict.c
           M /branches/embedded-1.0/dict/dict0load.c
           M /branches/embedded-1.0/fil/fil0fil.c
           M /branches/embedded-1.0/fsp/fsp0fsp.c
           M /branches/embedded-1.0/ibuf/ibuf0ibuf.c
           M /branches/embedded-1.0/include/btr0btr.h
           M /branches/embedded-1.0/include/btr0cur.h
           M /branches/embedded-1.0/include/btr0pcur.h
           M /branches/embedded-1.0/include/btr0pcur.ic
           M /branches/embedded-1.0/include/buf0buf.h
           M /branches/embedded-1.0/include/buf0buf.ic
           M /branches/embedded-1.0/include/dict0boot.h
           M /branches/embedded-1.0/include/fil0fil.h
           M /branches/embedded-1.0/include/lock0lock.h
           M /branches/embedded-1.0/include/log0log.h
           M /branches/embedded-1.0/include/log0log.ic
           M /branches/embedded-1.0/include/log0recv.h
           M /branches/embedded-1.0/include/mem0dbg.h
           M /branches/embedded-1.0/include/mem0dbg.ic
           M /branches/embedded-1.0/include/mem0mem.h
           M /branches/embedded-1.0/include/mem0mem.ic
           M /branches/embedded-1.0/include/os0file.h
           M /branches/embedded-1.0/include/os0sync.h
           M /branches/embedded-1.0/include/os0sync.ic
           M /branches/embedded-1.0/include/os0thread.h
           M /branches/embedded-1.0/include/que0que.h
           M /branches/embedded-1.0/include/que0que.ic
           M /branches/embedded-1.0/include/row0merge.h
           M /branches/embedded-1.0/include/row0prebuilt.h
           M /branches/embedded-1.0/include/srv0srv.h
           M /branches/embedded-1.0/include/sync0sync.h
           M /branches/embedded-1.0/include/trx0rseg.h
           M /branches/embedded-1.0/include/trx0sys.h
           M /branches/embedded-1.0/include/trx0trx.h
           M /branches/embedded-1.0/include/trx0types.h
           M /branches/embedded-1.0/include/trx0undo.h
           M /branches/embedded-1.0/include/trx0xa.h
           M /branches/embedded-1.0/include/univ.i
           M /branches/embedded-1.0/include/ut0vec.h
           M /branches/embedded-1.0/include/ut0vec.ic
           M /branches/embedded-1.0/lock/lock0lock.c
           M /branches/embedded-1.0/log/log0log.c
           M /branches/embedded-1.0/log/log0recv.c
           M /branches/embedded-1.0/mem/mem0mem.c
           M /branches/embedded-1.0/os/os0file.c
           M /branches/embedded-1.0/os/os0thread.c
           M /branches/embedded-1.0/page/page0page.c
           M /branches/embedded-1.0/rem/rem0rec.c
           M /branches/embedded-1.0/row/row0ins.c
           M /branches/embedded-1.0/row/row0merge.c
           M /branches/embedded-1.0/row/row0prebuilt.c
           M /branches/embedded-1.0/row/row0sel.c
           M /branches/embedded-1.0/row/row0umod.c
           M /branches/embedded-1.0/row/row0undo.c
           M /branches/embedded-1.0/row/row0upd.c
           M /branches/embedded-1.0/srv/srv0srv.c
           M /branches/embedded-1.0/srv/srv0start.c
           M /branches/embedded-1.0/sync/sync0sync.c
           M /branches/embedded-1.0/trx/trx0sys.c
           M /branches/embedded-1.0/trx/trx0trx.c
           M /branches/embedded-1.0/trx/trx0undo.c
           M /branches/embedded-1.0/ut/ut0mem.c
           M /branches/innodb+/btr/btr0btr.c
           M /branches/innodb+/btr/btr0cur.c
           M /branches/innodb+/btr/btr0pcur.c
           M /branches/innodb+/buf/buf0buf.c
           M /branches/innodb+/buf/buf0lru.c
           M /branches/innodb+/dict/dict0crea.c
           M /branches/innodb+/dict/dict0dict.c
           M /branches/innodb+/dict/dict0load.c
           M /branches/innodb+/handler/ha_innodb.cc
           M /branches/innodb+/handler/ha_innodb.h
           M /branches/innodb+/handler/handler0alter.cc
           M /branches/innodb+/include/btr0btr.h
           M /branches/innodb+/include/btr0cur.h
           M /branches/innodb+/include/btr0pcur.h
           M /branches/innodb+/include/btr0pcur.ic
           M /branches/innodb+/include/buf0buf.h
           M /branches/innodb+/include/log0log.h
           M /branches/innodb+/include/mem0dbg.h
           M /branches/innodb+/include/mem0dbg.ic
           M /branches/innodb+/include/os0file.h
           M /branches/innodb+/include/row0mysql.h
           M /branches/innodb+/include/srv0srv.h
           M /branches/innodb+/include/sync0sync.h
           M /branches/innodb+/include/trx0trx.h
           M /branches/innodb+/lock/lock0lock.c
           M /branches/innodb+/log/log0log.c
           M /branches/innodb+/log/log0recv.c
           M /branches/innodb+/mem/mem0dbg.c
           M /branches/innodb+/os/os0file.c
           M /branches/innodb+/page/page0page.c
           M /branches/innodb+/row/row0ins.c
           M /branches/innodb+/row/row0mysql.c
           M /branches/innodb+/row/row0sel.c
           M /branches/innodb+/srv/srv0srv.c
           M /branches/innodb+/srv/srv0start.c
           M /branches/innodb+/sync/sync0sync.c
           M /branches/innodb+_metrics_table/btr/btr0btr.c
           M /branches/innodb+_metrics_table/buf/buf0buf.c
           M /branches/innodb+_metrics_table/buf/buf0flu.c
           M /branches/innodb+_metrics_table/dict/dict0crea.c
           M /branches/innodb+_metrics_table/dict/dict0dict.c
           M /branches/innodb+_metrics_table/dict/dict0load.c
           M /branches/innodb+_metrics_table/handler/ha_innodb.cc
           M /branches/innodb+_metrics_table/handler/ha_innodb.h
           M /branches/innodb+_metrics_table/handler/handler0alter.cc
           M /branches/innodb+_metrics_table/handler/i_s.cc
           M /branches/innodb+_metrics_table/handler/i_s.h
           M /branches/innodb+_metrics_table/include/mem0dbg.h
           M /branches/innodb+_metrics_table/include/mem0dbg.ic
           M /branches/innodb+_metrics_table/include/srv0mon.h
           M /branches/innodb+_metrics_table/include/srv0mon.ic
           M /branches/innodb+_metrics_table/include/srv0srv.h
           M /branches/innodb+_metrics_table/lock/lock0lock.c
           M /branches/innodb+_metrics_table/log/log0log.c
           M /branches/innodb+_metrics_table/mem/mem0dbg.c
           M /branches/innodb+_metrics_table/os/os0file.c
           M /branches/innodb+_metrics_table/page/page0zip.c
           M /branches/innodb+_metrics_table/row/row0mysql.c
           M /branches/innodb+_metrics_table/row/row0purge.c
           M /branches/innodb+_metrics_table/row/row0sel.c
           M /branches/innodb+_metrics_table/srv/srv0mon.c
           M /branches/innodb+_metrics_table/srv/srv0srv.c
           M /branches/innodb+_metrics_table/sync/sync0sync.c
           M /branches/innodb+_metrics_table/trx/trx0roll.c
           M /branches/innodb+_metrics_table/trx/trx0trx.c
           M /branches/innodb+_persistent_stats/btr/btr0btr.c
           M /branches/innodb+_persistent_stats/buf/buf0buf.c
           M /branches/innodb+_persistent_stats/data/data0type.c
           M /branches/innodb+_persistent_stats/dict/dict0boot.c
           M /branches/innodb+_persistent_stats/dict/dict0crea.c
           M /branches/innodb+_persistent_stats/dict/dict0dict.c
           M /branches/innodb+_persistent_stats/dict/dict0load.c
           M /branches/innodb+_persistent_stats/dict/dict0mem.c
           M /branches/innodb+_persistent_stats/fil/fil0fil.c
           M /branches/innodb+_persistent_stats/fsp/fsp0fsp.c
           M /branches/innodb+_persistent_stats/handler/ha_innodb.cc
           M /branches/innodb+_persistent_stats/handler/ha_innodb.h
           M /branches/innodb+_persistent_stats/handler/handler0alter.cc
           M /branches/innodb+_persistent_stats/ibuf/ibuf0ibuf.c
           M /branches/innodb+_persistent_stats/include/btr0pcur.h
           M /branches/innodb+_persistent_stats/include/btr0pcur.ic
           M /branches/innodb+_persistent_stats/include/db0err.h
           M /branches/innodb+_persistent_stats/include/dict0dict.h
           M /branches/innodb+_persistent_stats/include/dict0mem.h
           M /branches/innodb+_persistent_stats/include/ha_prototypes.h
           M /branches/innodb+_persistent_stats/include/lock0lock.h
           M /branches/innodb+_persistent_stats/include/log0log.h
           M /branches/innodb+_persistent_stats/include/log0recv.h
           M /branches/innodb+_persistent_stats/include/mem0dbg.h
           M /branches/innodb+_persistent_stats/include/mem0dbg.ic
           M /branches/innodb+_persistent_stats/include/os0file.h
           M /branches/innodb+_persistent_stats/include/pars0pars.h
           M /branches/innodb+_persistent_stats/include/srv0srv.h
           M /branches/innodb+_persistent_stats/include/sync0sync.h
           M /branches/innodb+_persistent_stats/include/trx0sys.h
           M /branches/innodb+_persistent_stats/include/trx0trx.h
           M /branches/innodb+_persistent_stats/include/ut0lst.h
           M /branches/innodb+_persistent_stats/include/ut0ut.h
           M /branches/innodb+_persistent_stats/lock/lock0lock.c
           M /branches/innodb+_persistent_stats/log/log0log.c
           M /branches/innodb+_persistent_stats/log/log0recv.c
           M /branches/innodb+_persistent_stats/mem/mem0dbg.c
           M /branches/innodb+_persistent_stats/os/os0file.c
           M /branches/innodb+_persistent_stats/page/page0page.c
           M /branches/innodb+_persistent_stats/pars/pars0pars.c
           M /branches/innodb+_persistent_stats/row/row0merge.c
           M /branches/innodb+_persistent_stats/row/row0mysql.c
           M /branches/innodb+_persistent_stats/row/row0sel.c
           M /branches/innodb+_persistent_stats/row/row0umod.c
           M /branches/innodb+_persistent_stats/row/row0upd.c
           M /branches/innodb+_persistent_stats/srv/srv0srv.c
           M /branches/innodb+_persistent_stats/srv/srv0start.c
           M /branches/innodb+_persistent_stats/sync/sync0sync.c
           M /branches/innodb+_persistent_stats/trx/trx0i_s.c
           M /branches/innodb+_persistent_stats/trx/trx0sys.c
           M /branches/innodb+_persistent_stats/trx/trx0trx.c
           M /branches/innodb+_persistent_stats/ut/ut0ut.c
           M /branches/innofts+/handler/ha_innodb.cc
           M /branches/innofts+/handler/i_s.cc
           M /branches/innofts+/handler/i_s.h
           M /branches/innofts+/include/fut0fut.h
           M /branches/performance_schema/btr/btr0sea.c
           M /branches/performance_schema/buf/buf0buf.c
           M /branches/performance_schema/dict/dict0dict.c
           M /branches/performance_schema/fil/fil0fil.c
           M /branches/performance_schema/handler/ha_innodb.cc
           M /branches/performance_schema/include/srv0srv.h
           M /branches/performance_schema/include/sync0rw.h
           M /branches/performance_schema/include/sync0rw.ic
           M /branches/performance_schema/include/sync0sync.h
           M /branches/performance_schema/include/sync0sync.ic
           M /branches/performance_schema/include/sync0types.h
           M /branches/performance_schema/log/log0log.c
           M /branches/performance_schema/srv/srv0srv.c
           M /branches/performance_schema/sync/sync0rw.c
           M /branches/performance_schema/trx/trx0i_s.c
           M /branches/performance_schema/trx/trx0purge.c
           M /branches/plugin-2.0/buf/buf0buf.c
           M /branches/plugin-2.0/buf/buf0lru.c
           M /branches/plugin-2.0/dict/dict0boot.c
           M /branches/plugin-2.0/dict/dict0crea.c
           M /branches/plugin-2.0/dict/dict0dict.c
           M /branches/plugin-2.0/dict/dict0load.c
           M /branches/plugin-2.0/dict/dict0mem.c
           M /branches/plugin-2.0/fil/fil0fil.c
           M /branches/plugin-2.0/fsp/fsp0fsp.c
           M /branches/plugin-2.0/handler/ha_innodb.cc
           M /branches/plugin-2.0/handler/ha_innodb.h
           M /branches/plugin-2.0/handler/handler0alter.cc
           M /branches/plugin-2.0/ibuf/ibuf0ibuf.c
           M /branches/plugin-2.0/include/dict0mem.h
           M /branches/plugin-2.0/include/ha_prototypes.h
           M /branches/plugin-2.0/include/lock0lock.h
           M /branches/plugin-2.0/include/log0log.h
           M /branches/plugin-2.0/include/log0recv.h
           M /branches/plugin-2.0/include/mem0dbg.h
           M /branches/plugin-2.0/include/mem0dbg.ic
           M /branches/plugin-2.0/include/os0file.h
           M /branches/plugin-2.0/include/row0mysql.h
           M /branches/plugin-2.0/include/srv0srv.h
           M /branches/plugin-2.0/include/sync0sync.h
           M /branches/plugin-2.0/include/trx0sys.h
           M /branches/plugin-2.0/include/trx0trx.h
           M /branches/plugin-2.0/lock/lock0lock.c
           M /branches/plugin-2.0/log/log0log.c
           M /branches/plugin-2.0/log/log0recv.c
           M /branches/plugin-2.0/mem/mem0dbg.c
           M /branches/plugin-2.0/os/os0file.c
           M /branches/plugin-2.0/page/page0page.c
           M /branches/plugin-2.0/row/row0merge.c
           M /branches/plugin-2.0/row/row0mysql.c
           M /branches/plugin-2.0/row/row0sel.c
           M /branches/plugin-2.0/row/row0umod.c
           M /branches/plugin-2.0/row/row0upd.c
           M /branches/plugin-2.0/srv/srv0srv.c
           M /branches/plugin-2.0/srv/srv0start.c
           M /branches/plugin-2.0/sync/sync0sync.c
           M /branches/plugin-2.0/trx/trx0i_s.c
           M /branches/plugin-2.0/trx/trx0sys.c
           M /branches/plugin-2.0/trx/trx0trx.c
           M /branches/zip/btr/btr0btr.c
           M /branches/zip/btr/btr0cur.c
           M /branches/zip/btr/btr0pcur.c
           M /branches/zip/buf/buf0buf.c
           M /branches/zip/buf/buf0lru.c
           M /branches/zip/dict/dict0boot.c
           M /branches/zip/dict/dict0crea.c
           M /branches/zip/dict/dict0dict.c
           M /branches/zip/dict/dict0load.c
           M /branches/zip/fsp/fsp0fsp.c
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/handler/ha_innodb.h
           M /branches/zip/handler/handler0alter.cc
           M /branches/zip/include/btr0btr.h
           M /branches/zip/include/btr0cur.h
           M /branches/zip/include/btr0pcur.h
           M /branches/zip/include/btr0pcur.ic
           M /branches/zip/include/buf0buf.h
           M /branches/zip/include/dict0boot.h
           M /branches/zip/include/fil0fil.h
           M /branches/zip/include/log0log.h
           M /branches/zip/include/log0log.ic
           M /branches/zip/include/log0recv.h
           M /branches/zip/include/mem0dbg.h
           M /branches/zip/include/mem0dbg.ic
           M /branches/zip/include/mem0mem.h
           M /branches/zip/include/mem0mem.ic
           M /branches/zip/include/os0file.h
           M /branches/zip/include/que0que.h
           M /branches/zip/include/que0que.ic
           M /branches/zip/include/row0mysql.h
           M /branches/zip/include/srv0srv.h
           M /branches/zip/include/sync0sync.h
           M /branches/zip/include/trx0rseg.h
           M /branches/zip/include/trx0trx.h
           M /branches/zip/include/trx0types.h
           M /branches/zip/include/univ.i
           M /branches/zip/lock/lock0lock.c
           M /branches/zip/log/log0log.c
           M /branches/zip/log/log0recv.c
           M /branches/zip/mem/mem0dbg.c
           M /branches/zip/mem/mem0mem.c
           M /branches/zip/os/os0file.c
           M /branches/zip/page/page0page.c
           M /branches/zip/rem/rem0rec.c
           M /branches/zip/row/row0ins.c
           M /branches/zip/row/row0merge.c
           M /branches/zip/row/row0mysql.c
           M /branches/zip/row/row0sel.c
           M /branches/zip/row/row0umod.c
           M /branches/zip/srv/srv0srv.c
           M /branches/zip/srv/srv0start.c
           M /branches/zip/sync/sync0sync.c
           M /branches/zip/trx/trx0rseg.c
           M /branches/zip/trx/trx0trx.c
      
        Non-functional change: update copyright year to 2010 of the files
        that have been modified after 2010-01-01 according to svn.
      
        for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^   M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done
        ------------------------------------------------------------------------
        r6750 | marko | 2010-02-22 08:57:23 +0200 (Mon, 22 Feb 2010) | 2 lines
        Changed paths:
           M /branches/zip/include/row0sel.h
           M /branches/zip/row/row0sel.c
      
        branches/zip: row_fetch_store_uint4(): Remove unused function.
        This was added to trunk in r435.
        ------------------------------------------------------------------------
        r6754 | marko | 2010-02-24 10:56:43 +0200 (Wed, 24 Feb 2010) | 17 lines
        Changed paths:
           M /branches/zip/row/row0merge.c
      
        branches/zip: Allocate the merge sort buffers from a heap, not stack.
      
        The merge sort can use up to 48KiB of buffers when merging blocks.
        That can cause a stack overflow, especially on 64-bit systems when not
        building with inlined functions.  This was reported as Issue #462.
      
        row_merge_dup_report(): Allocate buf and offsets from a heap.
      
        row_merge_heap_create(): Allocate space for buf[3] too. Fix bogus
        sizeof arithmetics that happened to work, because
        sizeof(ulint)==sizeof(void*).
      
        row_merge_blocks(), row_merge_blocks_copy(): Allocate buf[3] from heap.
      
        row_merge_insert_index_tuples(): Allocate buf from graph_heap.
      
        rb://258 approved and tested by Sunny Bains
        ------------------------------------------------------------------------
        r6767 | calvin | 2010-03-01 18:16:10 +0200 (Mon, 01 Mar 2010) | 3 lines
        Changed paths:
           M /branches/zip/srv/srv0srv.c
      
        branches/zip: fix bug#51587
        Non-functional change.
        ------------------------------------------------------------------------
        r6768 | vasil | 2010-03-02 18:20:48 +0200 (Tue, 02 Mar 2010) | 5 lines
        Changed paths:
           M /branches/zip/include/btr0btr.h
           M /branches/zip/include/btr0btr.ic
      
        branches/zip:
      
        Add a NOTE to the comment of btr_node_ptr_get_child_page_no()
        to prevent mysterious bugs.
        ------------------------------------------------------------------------
        r6770 | marko | 2010-03-03 12:52:55 +0200 (Wed, 03 Mar 2010) | 12 lines
        Changed paths:
           M /branches/zip/handler/handler0alter.cc
           M /branches/zip/mysql-test/innodb-index.result
           M /branches/zip/mysql-test/innodb-index.test
           M /branches/zip/mysql-test/innodb.result
           M /branches/zip/mysql-test/innodb.test
      
        branches/zip: Disallow duplicate index name when creating an index.
        This should fix Mantis Issue #461.
      
        innodb.test, innodb.result, innodb-index.test, innodb-index.result:
        Adjust the test result and mention that the introduced restriction
        has been reported as MySQL Bug #51451.
      
        innobase_check_index_keys(): Add a parameter for the InnoDB table and
        check that no duplicate index name is added.  Report errors by
        my_error() instead of sql_print_error().
      
        rb://260 approved by Sunny Bains
        ------------------------------------------------------------------------
        r6771 | marko | 2010-03-03 14:52:43 +0200 (Wed, 03 Mar 2010) | 1 line
        Changed paths:
           M /branches/zip/ChangeLog
      
        Document r6770.
        ------------------------------------------------------------------------
        r6773 | marko | 2010-03-03 15:31:54 +0200 (Wed, 03 Mar 2010) | 2 lines
        Changed paths:
           M /branches/zip/row/row0row.c
      
        branches/zip: row_raw_format(): Silence a GCC 4.4.2 warning
        of possibly uninitialized variable format_in_hex.
        ------------------------------------------------------------------------
      fb2ff6da
  16. 03 Mar, 2010 1 commit
    • marko's avatar
      branches/innodb+: Commit the mini-transaction after merging a purge operation. · daa99960
      marko authored
      ibuf_delete(): Note that the mtr must be committed before latching any
      further pages.
      
      ibuf_restore_pos(): New function, refactored from ibuf_delete_rec().
      
      ibuf_merge_or_delete_for_page(): Commit the mini-transaction after
      calling ibuf_delete().  If ibuf_restore_pos() fails, restart the loop.
      
      rb://222 approved by Sunny Bains.  This should fix Issue #135.
      daa99960
  17. 20 Feb, 2010 1 commit
    • vasil's avatar
      Non-functional change: update copyright year to 2010 of the files · 5eba9a78
      vasil 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
      5eba9a78
  18. 04 Feb, 2010 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 6504:6560 from branches/zip: · c9a465bb
      marko authored
        ------------------------------------------------------------------------
        r6521 | marko | 2010-01-27 10:49:01 +0200 (Wed, 27 Jan 2010) | 17 lines
      
        branches/zip: Drop temporary tables at startup.
        This addresses the third aspect of Bug #41609.
      
        row_mysql_drop_temp_tables(): New function, to drop all temporary
        tables. These can be distinguished by the least significant bit of
        MIX_LEN. However, we will skip ROW_FORMAT=REDUNDANT tables, because in
        the records for those tables, that bit may be garbage.
      
        recv_recovery_from_checkpoint_finish(): Invoke
        row_mysql_drop_temp_tables().  Normally, if the .frm files for the
        temporary tables exist at startup, MySQL will ask InnoDB to drop the
        temporary tables.  However, if the files are deleted, for instance, by
        the boot scripts of the operating system, the tables would remain in
        the InnoDB data dictionary unless someone digs them up by
        innodb_table_monitor and creates .frm files for dropping the tables.
      
        rb://221 approved by Sunny Bains.
        ------------------------------------------------------------------------
        r6525 | marko | 2010-01-28 16:23:15 +0200 (Thu, 28 Jan 2010) | 11 lines
      
        branches/zip: buf_LRU_invalidate_tablespace(): Do not unnecessarily
        acquire the block_mutex for every block in the LRU list. Only acquire
        it when holding buf_pool_mutex is not sufficient. This should speed up
        the function and considerably reduce traffic on the memory bus and
        caches.
      
        I noticed this deficiency when working on Issue #157.
        This deficiency popped up again in Issue #449 (Bug #35077),
        which this fix does not fully address.
      
        rb://78 revision 1 approved by Heikki Tuuri.
        ------------------------------------------------------------------------
        r6526 | jyang | 2010-01-28 18:12:40 +0200 (Thu, 28 Jan 2010) | 8 lines
      
        branches/zip: Add index translation table to map mysql index
        number to InnoDB index structure directly. Fix Bug #47622:
        "the new index is added before the existing ones in MySQL,
        but after one in SE".
      
        rb://215, approved by Marko
        ------------------------------------------------------------------------
        r6527 | vasil | 2010-01-29 14:39:48 +0200 (Fri, 29 Jan 2010) | 6 lines
      
        branches/zip:
      
        Extend the comment about row_mysql_handle_errors().
      
        Suggested by:	Heikki
        ------------------------------------------------------------------------
        r6533 | calvin | 2010-01-29 23:31:59 +0200 (Fri, 29 Jan 2010) | 4 lines
      
        branches/zip: remove duplicated copyright and license info.
        ------------------------------------------------------------------------
        r6534 | sunny | 2010-01-29 23:42:49 +0200 (Fri, 29 Jan 2010) | 15 lines
      
        branches/zip: Two changes to fix the problem:
      
        1. First scan the joining transaction's locks and check if no other
        transaction is waiting for a lock held by the joining transaction.
        If no other transaction is waiting then  no deadlock an occur and
        we avoid doing an exhaustive search.
      
        2. Change the direction of the lock traversal from backward to forward.
        Previously we traversed backward from the lock that has to wait, the function
        to that fetched the previous node was very inefficient resulting in O(n^2)
        access to the rec lock list.
      
        Fix Bug #49047 InnoDB deadlock detection is CPU intensive with many locks on a single row.
      
        rb://218
        ------------------------------------------------------------------------
        r6539 | marko | 2010-02-01 11:31:12 +0200 (Mon, 01 Feb 2010) | 75 lines
      
        branches/zip: Merge revisions 6471:6538 from branches/5.1:
      
          ------------------------------------------------------------------------
          r6488 | sunny | 2010-01-21 02:55:08 +0200 (Thu, 21 Jan 2010) | 2 lines
          Changed paths:
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
      
          branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test
          into a separate test/result files.
          ------------------------------------------------------------------------
          r6489 | sunny | 2010-01-21 02:57:50 +0200 (Thu, 21 Jan 2010) | 2 lines
          Changed paths:
             A /branches/5.1/mysql-test/innodb-autoinc-44030.result
             A /branches/5.1/mysql-test/innodb-autoinc-44030.test
      
          branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test
          into a separate test/result files.
          ------------------------------------------------------------------------
          r6492 | sunny | 2010-01-21 09:38:35 +0200 (Thu, 21 Jan 2010) | 1 line
          Changed paths:
             M /branches/5.1/mysql-test/innodb-autoinc-44030.test
      
          branches/5.1: Add reference to bug#47621 in the comment.
          ------------------------------------------------------------------------
          r6535 | sunny | 2010-01-30 00:08:40 +0200 (Sat, 30 Jan 2010) | 11 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
      
          branches/5.1: Undo the change from r6424. We need to return DB_SUCCESS even
          if we were unable to initialize the tabe autoinc value. This is required for
          the open to succeed. The only condition we currently treat as a hard error
          is if the autoinc field instance passed in by MySQL is NULL.
      
          Previously if the table autoinc value was 0 and the next value was requested
          we had an assertion that would fail. Change that assertion and treat a value
          of 0 to mean that the autoinc system is unavailable. Generation of next
          value will now return failure.
      
          rb://237
          ------------------------------------------------------------------------
          r6536 | sunny | 2010-01-30 00:13:42 +0200 (Sat, 30 Jan 2010) | 6 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
      
          branches/5.1: Check *first_value everytime against the column max
          value and  set *first_value to next autoinc if it's > col max value.
          ie.  not rely on what is passed in from MySQL.
      
          [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value
          rb://236
          ------------------------------------------------------------------------
          r6537 | sunny | 2010-01-30 00:35:00 +0200 (Sat, 30 Jan 2010) | 2 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
      
          branches/5.1: Undo r6536.
          ------------------------------------------------------------------------
          r6538 | sunny | 2010-01-30 00:43:06 +0200 (Sat, 30 Jan 2010) | 6 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
      
          branches/5.1: Check *first_value every time against the column max
          value and  set *first_value to next autoinc if it's > col max value.
          ie.  not rely on what is passed in from MySQL.
      
          [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value
          rb://236
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6540 | marko | 2010-02-01 11:35:13 +0200 (Mon, 01 Feb 2010) | 1 line
      
        branches/zip: ChangeLog: Document the merge of 6471:6538 from branches/5.1.
        ------------------------------------------------------------------------
        r6546 | jyang | 2010-02-03 11:05:24 +0200 (Wed, 03 Feb 2010) | 9 lines
      
        branches/zip: Relax assertion on the number of index defined
        in InnoDB must be comparable with that of MySQL to tolerate
        possible dictionary inconsistency. Fix Mantis issue #455,
        "UNIV_DEBUG+ assert ha_innodb.cc:3152 ib_num_index >=
        mysql_num_index".
      
        rb://248 Approved by Marko.
        ------------------------------------------------------------------------
        r6547 | marko | 2010-02-03 14:43:38 +0200 (Wed, 03 Feb 2010) | 14 lines
      
        branches/zip: Clean up CHECK TABLE error handling. (Issue #220)
      
        ha_innobase::change_active_index(): Clean up code formatting.
      
        ha_innobase::check(): Incorporate the code from
        row_check_table_for_mysql().  Report errors to the client connection
        instead of writing them to the error log.
      
        row_check_table_for_mysql(): Remove.
      
        row_check_index_for_mysql(): Renamed from row_scan_and_check_index().
        Let the caller initialize prebuilt, and assume that the index is usable.
      
        rb://178 approved by Sunny Bains
        ------------------------------------------------------------------------
        r6548 | marko | 2010-02-03 15:01:39 +0200 (Wed, 03 Feb 2010) | 11 lines
      
        branches/zip: buf_LRU_invalidate_tablespace(): Ensure that prev_bpage
        is not relocated when freeing a compressed block.  This avoids the
        costly rescan of the LRU list.  (Bug #35077, Issue #449)
      
        At most one buffer-fix will be active at a time, affecting two blocks:
        the buf_page_t and the compressed page frame. This should not block
        the memory defragmentation in buf0buddy.c too much.  In fact, it may
        avoid unnecessary copying if also prev_bpage belongs to the tablespace
        that is being invalidated.
      
        rb://240
        ------------------------------------------------------------------------
        r6559 | marko | 2010-02-04 13:21:18 +0200 (Thu, 04 Feb 2010) | 14 lines
      
        branches/zip: Pass the file name and line number of the caller of the
        b-tree cursor functions to the buffer pool requests, in order to make
        the latch diagnostics more accurate.
      
        buf_page_optimistic_get_func(): Renamed to buf_page_optimistic_get().
      
        btr_page_get_father_node_ptr(), btr_insert_on_non_leaf_level(),
        btr_pcur_open(), btr_pcur_open_with_no_init(), btr_pcur_open_on_user_rec(),
        btr_pcur_open_at_rnd_pos(), btr_pcur_restore_position(),
        btr_cur_open_at_index_side(), btr_cur_open_at_rnd_pos():
        Rename the function to _func and add the parameters file, line.
        Define wrapper macros with __FILE__, __LINE__.
      
        btr_cur_search_to_nth_level(): Add the parameters file, line.
        ------------------------------------------------------------------------
        r6560 | sunny | 2010-02-04 16:11:23 +0200 (Thu, 04 Feb 2010) | 7 lines
      
        branches/zip: Remove the additional check introduced in r6534 which tries
        to check if the joining transaction has any other transactions waiting on
        its locks. This optimization results in excessive deadlocks when running
        Sysbench with a large number of threads. The function seems to return
        FALSE positives.
      
        rb://250
        ------------------------------------------------------------------------
      c9a465bb
  19. 21 Jan, 2010 1 commit
    • inaam's avatar
      branches/innodb+: Merge revisions 6448:6504 from branches/zip: · 6b7f0fc9
      inaam authored
        ------------------------------------------------------------------------
        r6449 | marko | 2010-01-13 15:38:53 -0500 (Wed, 13 Jan 2010) | 18 lines
        
        branches/zip: lock_rec_validate_page(): Only validate the record
        queues when the thread is not holding a space->latch.
        
        When UNIV_DEBUG is defined while UNIV_SYNC_DEBUG is not,
        latching order violations will still occur and deadlocks will be possible.
        
        sync_thread_levels_nonempty_gen(): Renamed from
        sync_thread_levels_empty_gen().  Return the violating latch or NULL
        instead of FALSE or TRUE, except that there will be a ut_error before
        the non-NULL return.
        
        sync_thread_levels_empty_gen(): A macro that negates the return value of
        sync_thread_levels_nonempty_gen().
        
        sync_thread_levels_contains(): New function, based on
        sync_thread_levels_nonempty_gen().
        
        This should fix Issue #441.
        ------------------------------------------------------------------------
        r6463 | marko | 2010-01-14 08:43:37 -0500 (Thu, 14 Jan 2010) | 5 lines
        
        branches/zip: page_copy_rec_list_end(), page_copy_rec_list_start():
        Update PAGE_MAX_TRX_ID before attempting to compress the page.  This
        fixes Issue #382 (a debug assertion failure in page_zip_reorganize())
        and reduces the generated redo log.  There was no bug or crash in
        non-debug builds.
        ------------------------------------------------------------------------
        r6467 | inaam | 2010-01-14 13:46:00 -0500 (Thu, 14 Jan 2010) | 10 lines
        
        branches/zip rb://226
        
        log_sys->written_to_all_lsn does not accurately represent the LSN
        upto which write and flush has taken place. Under a race condition
        it can fall behind log_sys->flushed_to_disk_lsn which is accurate.
        Besides written_to_all_lsn is redundant as currently InnoDB supports
        only one log group.
        
        Approved by: Heikki
        
        ------------------------------------------------------------------------
        r6472 | calvin | 2010-01-15 18:53:47 -0500 (Fri, 15 Jan 2010) | 12 lines
        
        branches/zip: Merge revisions 6425:6471 from branches/5.1
        to pick up the first part fix of bug49396.
        
            ------------------------------------------------------------------------
            r6471 | calvin | 2010-01-15 17:43:27 -0600 (Fri, 15 Jan 2010) | 4 lines
        
            branches/5.1: fix bug#49396: main.innodb test fails in embedded mode
        
            Change replace_result by using $MYSQLD_DATADIR. Tested in both embedded
            mode and normal server mode.
            ------------------------------------------------------------------------
        
        ------------------------------------------------------------------------
        r6473 | calvin | 2010-01-15 18:58:16 -0500 (Fri, 15 Jan 2010) | 6 lines
        
        branches/zip: fix bug#49396: innodb.innodb-index test fails in
        embedded mode
        
        This is 2nd part of the fix for bug#49396. The 1st part is
        innodb.test. Tested in both embedded mode and normal server mode.
        
        ------------------------------------------------------------------------
        r6498 | marko | 2010-01-21 04:22:52 -0500 (Thu, 21 Jan 2010) | 15 lines
        
        branches/zip: buf_page_get_gen(): Obey recv_no_ibuf_operations
        and do not call ibuf_merge_or_delete_for_page() in crash recovery,
        before the redo log has been applied.
        This could cure some hard-to-repeat, hard-to-explain bugs
        related to secondary indexes.
        
        A possible recipe to repeat the bug:
        
        1. update a secondary index leaf page on a compressed table
        2. evict the page from the buffer pool while it is still dirty
        3. ibuf_insert() something for the page
        4. crash
        5. crash recovery; ibuf merge would be done too early,
        before applying redo log to the sec index page or the ibuf pages
        
        ------------------------------------------------------------------------
      6b7f0fc9
  20. 13 Jan, 2010 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 6364:6447 from branches/zip: · 07655028
      marko authored
        ------------------------------------------------------------------------
        r6367 | marko | 2009-12-28 15:39:19 +0200 (Mon, 28 Dec 2009) | 2 lines
        Changed paths:
           M /branches/zip/dict/dict0dict.c
      
        branches/zip: dict_index_add_to_cache(): Always free the index object,
        also when returning DB_CORRUPTION.
        ------------------------------------------------------------------------
        r6425 | marko | 2010-01-12 13:47:11 +0200 (Tue, 12 Jan 2010) | 45 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/handler/ha_innodb.h
           M /branches/zip/row/row0mysql.c
      
        branches/zip: Merge revisions 6350:6424 from branches/5.1:
      
          ------------------------------------------------------------------------
          r6421 | jyang | 2010-01-12 07:59:16 +0200 (Tue, 12 Jan 2010) | 8 lines
          Changed paths:
             M /branches/5.1/row/row0mysql.c
      
          branches/5.1: Fix bug #49238: Creating/Dropping a temporary table
          while at 1023 transactions will cause assert. Handle possible
          DB_TOO_MANY_CONCURRENT_TRXS when deleting metadata in
          row_drop_table_for_mysql().
      
          rb://220, approved by Marko
          ------------------------------------------------------------------------
          r6422 | marko | 2010-01-12 11:34:27 +0200 (Tue, 12 Jan 2010) | 3 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/handler/ha_innodb.h
      
          branches/5.1: Non-functional change:
          Make innobase_get_int_col_max_value() a static function.
          It does not access any fields of class ha_innobase.
          ------------------------------------------------------------------------
          r6424 | marko | 2010-01-12 12:22:19 +0200 (Tue, 12 Jan 2010) | 16 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/handler/ha_innodb.h
      
          branches/5.1: In innobase_initialize_autoinc(), do not attempt to read
          the maximum auto-increment value from the table if
          innodb_force_recovery is set to at least 4, so that writes are
          disabled. (Bug #46193)
      
          innobase_get_int_col_max_value(): Move the function definition before
          ha_innobase::innobase_initialize_autoinc(), because that function now
          calls this function.
      
          ha_innobase::innobase_initialize_autoinc(): Change the return type to
          void.  Do not attempt to read the maximum auto-increment value from
          the table if innodb_force_recovery is set to at least 4.  Issue
          ER_AUTOINC_READ_FAILED to the client when the auto-increment value
          cannot be read.
      
          rb://144 by Sunny, revised by Marko
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6426 | marko | 2010-01-12 15:36:14 +0200 (Tue, 12 Jan 2010) | 2 lines
        Changed paths:
           M /branches/zip/row/row0sel.c
      
        branches/zip: row_sel_sec_rec_is_for_clust_rec(): Document the return value
        more accurately.
        ------------------------------------------------------------------------
        r6433 | marko | 2010-01-13 13:19:00 +0200 (Wed, 13 Jan 2010) | 2 lines
        Changed paths:
           M /branches/zip/dict/dict0crea.c
           M /branches/zip/dict/dict0load.c
      
        branches/zip: dict_sys_tables_get_flags(), dict_create_sys_*_tuple():
        Add some const qualifiers and comments.
        ------------------------------------------------------------------------
        r6445 | marko | 2010-01-13 17:15:29 +0200 (Wed, 13 Jan 2010) | 3 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/buf/buf0buf.c
      
        branches/zip: buf_pool_drop_hash_index(): Check block->page.state
        before checking block->is_hashed, because the latter may be uninitialized
        right after server startup.
        ------------------------------------------------------------------------
        r6446 | marko | 2010-01-13 17:20:10 +0200 (Wed, 13 Jan 2010) | 3 lines
        Changed paths:
           M /branches/zip/include/mem0dbg.h
           M /branches/zip/include/mem0dbg.ic
           M /branches/zip/mem/mem0dbg.c
           M /branches/zip/sync/sync0sync.c
      
        branches/zip: Treat mem_hash_mutex specially in mutex_free(),
        and explicitly free mem_hash_mutex in mem_close().
        This fixes the breakage of UNIV_MEM_DEBUG that was filed as Issue #434.
        ------------------------------------------------------------------------
        r6447 | marko | 2010-01-13 17:43:44 +0200 (Wed, 13 Jan 2010) | 5 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/row/row0sel.c
      
        branches/zip: row_sel_get_clust_rec_for_mysql(): On the READ UNCOMMITTED
        isolation level, do not attempt to access a clustered index record
        that has been marked for deletion.  This fixes Issue #433.
      
        Approved by Heikki over the IM.
        ------------------------------------------------------------------------
      07655028
  21. 26 Dec, 2009 1 commit
    • marko's avatar
      branches/innodb+: Merge revisions 6130:6364 from branches/zip: · 67cd3302
      marko authored
        ------------------------------------------------------------------------
        r6130 | marko | 2009-11-02 11:42:56 +0200 (Mon, 02 Nov 2009) | 9 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/btr/btr0sea.c
           M /branches/zip/buf/buf0buf.c
           M /branches/zip/dict/dict0dict.c
           M /branches/zip/fil/fil0fil.c
           M /branches/zip/ibuf/ibuf0ibuf.c
           M /branches/zip/include/btr0sea.h
           M /branches/zip/include/dict0dict.h
           M /branches/zip/include/fil0fil.h
           M /branches/zip/include/ibuf0ibuf.h
           M /branches/zip/include/lock0lock.h
           M /branches/zip/include/log0log.h
           M /branches/zip/include/log0recv.h
           M /branches/zip/include/mem0mem.h
           M /branches/zip/include/mem0pool.h
           M /branches/zip/include/os0file.h
           M /branches/zip/include/pars0pars.h
           M /branches/zip/include/srv0srv.h
           M /branches/zip/include/thr0loc.h
           M /branches/zip/include/trx0i_s.h
           M /branches/zip/include/trx0purge.h
           M /branches/zip/include/trx0rseg.h
           M /branches/zip/include/trx0sys.h
           M /branches/zip/include/trx0undo.h
           M /branches/zip/include/usr0sess.h
           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/mem0pool.c
           M /branches/zip/os/os0file.c
           M /branches/zip/os/os0sync.c
           M /branches/zip/os/os0thread.c
           M /branches/zip/pars/lexyy.c
           M /branches/zip/pars/pars0lex.l
           M /branches/zip/que/que0que.c
           M /branches/zip/srv/srv0srv.c
           M /branches/zip/srv/srv0start.c
           M /branches/zip/sync/sync0arr.c
           M /branches/zip/sync/sync0sync.c
           M /branches/zip/thr/thr0loc.c
           M /branches/zip/trx/trx0i_s.c
           M /branches/zip/trx/trx0purge.c
           M /branches/zip/trx/trx0rseg.c
           M /branches/zip/trx/trx0sys.c
           M /branches/zip/trx/trx0undo.c
           M /branches/zip/usr/usr0sess.c
           M /branches/zip/ut/ut0mem.c
      
        branches/zip: Free all resources at shutdown. Set pointers to NULL, so
        that Valgrind will not complain about freed data structures that are
        reachable via pointers.  This addresses Bug #45992 and Bug #46656.
      
        This patch is mostly based on changes copied from branches/embedded-1.0,
        mainly c5432, c3439, c3134, c2994, c2978, but also some other code was
        copied.  Some added cleanup code is specific to MySQL/InnoDB.
      
        rb://199 approved by Sunny Bains
        ------------------------------------------------------------------------
        r6134 | marko | 2009-11-04 09:57:29 +0200 (Wed, 04 Nov 2009) | 5 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/handler/ha_innodb.cc
      
        branches/zip: innobase_convert_identifier(): Convert table names with
        explain_filename() to address Bug #32430: 'show innodb status'
        causes errors Invalid (old?) table or database name in logs.
      
        rb://134 approved by Sunny Bains
        ------------------------------------------------------------------------
        r6137 | marko | 2009-11-04 15:24:28 +0200 (Wed, 04 Nov 2009) | 1 line
        Changed paths:
           M /branches/zip/dict/dict0dict.c
      
        branches/zip: dict_index_too_big_for_undo(): Correct a typo.
        ------------------------------------------------------------------------
        r6153 | vasil | 2009-11-10 15:33:22 +0200 (Tue, 10 Nov 2009) | 145 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
      
        branches/zip: Merge r6125:6152 from branches/5.1:
      
        (everything except the last white-space change was skipped as it is already
        in branches/zip)
          ------------------------------------------------------------------------
          r6127 | vasil | 2009-10-30 11:18:25 +0200 (Fri, 30 Oct 2009) | 18 lines
          Changed paths:
             M /branches/5.1/Makefile.am
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
      
          branches/5.1:
      
          Backport c6121 from branches/zip:
            ------------------------------------------------------------------------
            r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines
            Changed paths:
               M /branches/zip/mysql-test/innodb-autoinc.result
      
            branches/zip: This test has been problematic for sometime now. The underlying
            bug is that the data dictionaries get out of sync. In the AUTOINC code we
            try and apply salve to the symptoms. In the past MySQL made some unrelated
            change and the dictionaries stopped getting out of sync and this test started
            to fail. Now, it seems they have reverted that changed and the test is
            passing again. I suspect this is not he last time that this test will change.
            ------------------------------------------------------------------------
          ------------------------------------------------------------------------
          r6129 | vasil | 2009-10-30 17:14:22 +0200 (Fri, 30 Oct 2009) | 4 lines
          Changed paths:
             M /branches/5.1/Makefile.am
      
          branches/5.1:
      
          Revert a change to Makefile.am that sneaked unnoticed in c6127.
          ------------------------------------------------------------------------
          r6136 | marko | 2009-11-04 12:28:10 +0200 (Wed, 04 Nov 2009) | 15 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/include/ha_prototypes.h
             M /branches/5.1/ut/ut0ut.c
      
          branches/5.1: Port r6134 from branches/zip:
      
            ------------------------------------------------------------------------
            r6134 | marko | 2009-11-04 07:57:29 +0000 (Wed, 04 Nov 2009) | 5 lines
      
            branches/zip: innobase_convert_identifier(): Convert table names with
            explain_filename() to address Bug #32430: 'show innodb status'
            causes errors Invalid (old?) table or database name in logs.
      
            rb://134 approved by Sunny Bains
            ------------------------------------------------------------------------
      
          innobase_print_identifier(): Replace with innobase_convert_name().
      
          innobase_convert_identifier(): New function, called by innobase_convert_name().
          ------------------------------------------------------------------------
          r6149 | vasil | 2009-11-09 11:15:01 +0200 (Mon, 09 Nov 2009) | 5 lines
          Changed paths:
             M /branches/5.1/CMakeLists.txt
      
          branches/5.1:
      
          Followup to r5700: Adjust the changes so they are the same as in the BZR
          repository.
          ------------------------------------------------------------------------
          r6150 | vasil | 2009-11-09 11:43:31 +0200 (Mon, 09 Nov 2009) | 58 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
      
          branches/5.1:
      
          Merge a part of r2911.5.5 from MySQL:
          (the other part of this was merged in c5700)
      
            ------------------------------------------------------------
            revno: 2911.5.5
            committer: Vladislav Vaintroub <vvaintroub@mysql.com>
            branch nick: 5.1-innodb_plugin
            timestamp: Wed 2009-06-10 10:59:49 +0200
            message:
              Backport WL#3653 to 5.1 to enable bundled innodb plugin.
              Remove custom DLL loader code from innodb plugin code, use
              symbols exported from mysqld.
            removed:
              storage/innodb_plugin/handler/handler0vars.h
              storage/innodb_plugin/handler/win_delay_loader.cc
            added:
              storage/mysql_storage_engine.cmake
              win/create_def_file.js
            modified:
              CMakeLists.txt
              include/m_ctype.h
              include/my_global.h
              include/my_sys.h
              include/mysql/plugin.h
              libmysqld/CMakeLists.txt
              mysql-test/mysql-test-run.pl
              mysql-test/t/plugin.test
              mysql-test/t/plugin_load-master.opt
              mysys/charset.c
              sql/CMakeLists.txt
              sql/handler.h
              sql/mysql_priv.h
              sql/mysqld.cc
              sql/sql_class.cc
              sql/sql_class.h
              sql/sql_list.h
              sql/sql_profile.h
              storage/Makefile.am
              storage/archive/CMakeLists.txt
              storage/blackhole/CMakeLists.txt
              storage/csv/CMakeLists.txt
              storage/example/CMakeLists.txt
              storage/federated/CMakeLists.txt
              storage/heap/CMakeLists.txt
              storage/innobase/CMakeLists.txt
              storage/innobase/handler/ha_innodb.cc
              storage/innodb_plugin/CMakeLists.txt
              storage/innodb_plugin/handler/ha_innodb.cc
              storage/innodb_plugin/handler/handler0alter.cc
              storage/innodb_plugin/handler/i_s.cc
              storage/innodb_plugin/plug.in
              storage/myisam/CMakeLists.txt
              storage/myisammrg/CMakeLists.txt
              win/Makefile.am
              win/configure.js
          ------------------------------------------------------------------------
          r6152 | vasil | 2009-11-10 15:30:20 +0200 (Tue, 10 Nov 2009) | 4 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
      
          branches/5.1:
      
          White space fixup.
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6157 | jyang | 2009-11-11 14:27:09 +0200 (Wed, 11 Nov 2009) | 10 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
           A /branches/zip/mysql-test/innodb_bug47167.result
           A /branches/zip/mysql-test/innodb_bug47167.test
           M /branches/zip/mysql-test/innodb_file_format.result
      
        branches/zip: Fix an issue that a local variable defined
        in innodb_file_format_check_validate() is being referenced
        across function in innodb_file_format_check_update().
        In addition, fix "set global innodb_file_format_check =
        DEFAULT" call.
        Bug #47167: "set global innodb_file_format_check" cannot
        set value by User-Defined Variable."
        rb://169 approved by Sunny Bains and Marko.
        ------------------------------------------------------------------------
        r6159 | vasil | 2009-11-11 15:13:01 +0200 (Wed, 11 Nov 2009) | 37 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/handler/ha_innodb.h
      
        branches/zip:
      
        Merge a change from MySQL:
        (this has been reviewed by Calvin and Marko, and Calvin says Luis has
        incorporated Marko's suggestions)
      
          ------------------------------------------------------------
          revno: 3092.5.1
          committer: Luis Soares <luis.soares@sun.com>
          branch nick: mysql-5.1-bugteam
          timestamp: Thu 2009-09-24 15:52:52 +0100
          message:
            BUG#42829: binlogging enabled for all schemas regardless of
            binlog-db-db / binlog-ignore-db
      
            InnoDB will return an error if statement based replication is used
            along with transaction isolation level READ-COMMITTED (or weaker),
            even if the statement in question is filtered out according to the
            binlog-do-db rules set. In this case, an error should not be printed.
      
            This patch addresses this issue by extending the existing check in
            external_lock to take into account the filter rules before deciding to
            print an error. Furthermore, it also changes decide_logging_format to
            take into consideration whether the statement is filtered out from
            binlog before decision is made.
          added:
            mysql-test/suite/binlog/r/binlog_stm_do_db.result
            mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt
            mysql-test/suite/binlog/t/binlog_stm_do_db.test
          modified:
            sql/sql_base.cc
            sql/sql_class.cc
            storage/innobase/handler/ha_innodb.cc
            storage/innobase/handler/ha_innodb.h
            storage/innodb_plugin/handler/ha_innodb.cc
            storage/innodb_plugin/handler/ha_innodb.h
        ------------------------------------------------------------------------
        r6160 | vasil | 2009-11-11 15:33:49 +0200 (Wed, 11 Nov 2009) | 72 lines
        Changed paths:
           M /branches/zip/include/os0file.h
           M /branches/zip/os/os0file.c
      
        branches/zip: Merge r6152:6159 from branches/5.1:
      
        (r6158 was skipped as an equivallent change has already been merged from MySQL)
          ------------------------------------------------------------------------
          r6154 | calvin | 2009-11-11 02:51:17 +0200 (Wed, 11 Nov 2009) | 17 lines
          Changed paths:
             M /branches/5.1/include/os0file.h
             M /branches/5.1/os/os0file.c
      
          branches/5.1: fix bug#3139: Mysql crashes: 'windows error 995'
          after several selects on a large DB
      
          During stress environment, Windows AIO may fail with error code
          ERROR_OPERATION_ABORTED. InnoDB does not handle the error, rather
          crashes. The cause of the error is unknown, but likely due to
          faulty hardware or driver.
      
          This patch introduces a new error code OS_FILE_OPERATION_ABORTED,
          which maps to Windows ERROR_OPERATION_ABORTED (995). When the error
          is detected during AIO, the InnoDB will issue a synchronous retry
          (read/write).
      
          This patch has been extensively tested by MySQL support.
      
          Approved by: Marko
          rb://196
          ------------------------------------------------------------------------
          r6158 | vasil | 2009-11-11 14:52:14 +0200 (Wed, 11 Nov 2009) | 37 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/handler/ha_innodb.h
      
          branches/5.1:
      
          Merge a change from MySQL:
          (this has been reviewed by Calvin and Marko, and Calvin says Luis has
          incorporated Marko's suggestions)
      
            ------------------------------------------------------------
            revno: 3092.5.1
            committer: Luis Soares <luis.soares@sun.com>
            branch nick: mysql-5.1-bugteam
            timestamp: Thu 2009-09-24 15:52:52 +0100
            message:
              BUG#42829: binlogging enabled for all schemas regardless of
              binlog-db-db / binlog-ignore-db
      
              InnoDB will return an error if statement based replication is used
              along with transaction isolation level READ-COMMITTED (or weaker),
              even if the statement in question is filtered out according to the
              binlog-do-db rules set. In this case, an error should not be printed.
      
              This patch addresses this issue by extending the existing check in
              external_lock to take into account the filter rules before deciding to
              print an error. Furthermore, it also changes decide_logging_format to
              take into consideration whether the statement is filtered out from
              binlog before decision is made.
            added:
              mysql-test/suite/binlog/r/binlog_stm_do_db.result
              mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt
              mysql-test/suite/binlog/t/binlog_stm_do_db.test
            modified:
              sql/sql_base.cc
              sql/sql_class.cc
              storage/innobase/handler/ha_innodb.cc
              storage/innobase/handler/ha_innodb.h
              storage/innodb_plugin/handler/ha_innodb.cc
              storage/innodb_plugin/handler/ha_innodb.h
      
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6161 | vasil | 2009-11-11 15:36:16 +0200 (Wed, 11 Nov 2009) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip:
      
        Add changelog entry for r6160.
        ------------------------------------------------------------------------
        r6162 | vasil | 2009-11-11 16:00:12 +0200 (Wed, 11 Nov 2009) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip:
      
        Add ChangeLog for r6157.
        ------------------------------------------------------------------------
        r6163 | calvin | 2009-11-11 17:53:20 +0200 (Wed, 11 Nov 2009) | 8 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/handler/ha_innodb.h
      
        branches/zip: Exclude thd_binlog_filter_ok() when building
        with older version of MySQL.
      
        thd_binlog_filter_ok() is introduced in MySQL 5.1.41. But the
        plugin can be built with MySQL prior to 5.1.41.
      
        Approved by Heikki (on IM).
        ------------------------------------------------------------------------
        r6169 | calvin | 2009-11-12 14:40:43 +0200 (Thu, 12 Nov 2009) | 6 lines
        Changed paths:
           A /branches/zip/mysql-test/innodb_bug46676.result
           A /branches/zip/mysql-test/innodb_bug46676.test
      
        branches/zip: add test case for bug#46676
      
        This crash is reproducible with InnoDB plugin 1.0.4 + MySQL 5.1.37.
        But no longer reproducible after MySQL 5.1.38 (with plugin 1.0.5).
        Add test case to catch future regression.
        ------------------------------------------------------------------------
        r6170 | marko | 2009-11-12 15:49:08 +0200 (Thu, 12 Nov 2009) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/include/db0err.h
           M /branches/zip/row/row0merge.c
           M /branches/zip/row/row0mysql.c
      
        branches/zip: Allow CREATE INDEX to be interrupted.  (Issue #354)
      
        rb://183 approved by Heikki Tuuri
        ------------------------------------------------------------------------
        r6175 | vasil | 2009-11-16 20:07:39 +0200 (Mon, 16 Nov 2009) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip:
      
        Wrap line at 78th char in the ChangeLog
        ------------------------------------------------------------------------
        r6177 | calvin | 2009-11-16 20:20:38 +0200 (Mon, 16 Nov 2009) | 2 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip: add an entry to ChangeLog for r6065
        ------------------------------------------------------------------------
        r6179 | marko | 2009-11-17 10:19:34 +0200 (Tue, 17 Nov 2009) | 2 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
      
        branches/zip: ha_innobase::change_active_index(): When the history is
        missing, report it to the client, not to the error log.
        ------------------------------------------------------------------------
        r6181 | vasil | 2009-11-17 12:21:41 +0200 (Tue, 17 Nov 2009) | 33 lines
        Changed paths:
           M /branches/zip/mysql-test/innodb-index.test
      
        branches/zip:
      
        At the end of innodb-index.test: restore the environment as it was before
        the test was started to silence this warning:
      
          MTR's internal check of the test case 'main.innodb-index' failed.
          This means that the test case does not preserve the state that existed
          before the test case was executed.  Most likely the test case did not
          do a proper clean-up.
          This is the diff of the states of the servers before and after the
          test case was executed:
          mysqltest: Logging to '/tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
          mysqltest: Results saved in '/tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
          mysqltest: Connecting to server localhost:13000 (socket /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
          mysqltest: ... Connected.
          mysqltest: Start processing test commands from './include/check-testcase.test' ...
          mysqltest: ... Done processing test commands.
          --- /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-11-17 13:10:40.000000000 +0300
          +++ /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-11-17 13:10:54.000000000 +0300
          @@ -84,7 +84,7 @@
           INNODB_DOUBLEWRITE	ON
           INNODB_FAST_SHUTDOWN	1
           INNODB_FILE_FORMAT	Antelope
          -INNODB_FILE_FORMAT_CHECK	Antelope
          +INNODB_FILE_FORMAT_CHECK	Barracuda
           INNODB_FILE_PER_TABLE	OFF
           INNODB_FLUSH_LOG_AT_TRX_COMMIT	1
           INNODB_FLUSH_METHOD	
      
          mysqltest: Result content mismatch
      
          not ok
        ------------------------------------------------------------------------
        r6182 | marko | 2009-11-17 13:49:15 +0200 (Tue, 17 Nov 2009) | 1 line
        Changed paths:
           M /branches/zip/mysql-test/innodb-consistent-master.opt
           M /branches/zip/mysql-test/innodb-consistent.result
           M /branches/zip/mysql-test/innodb-consistent.test
           M /branches/zip/mysql-test/innodb-use-sys-malloc-master.opt
           M /branches/zip/mysql-test/innodb-use-sys-malloc.result
           M /branches/zip/mysql-test/innodb-use-sys-malloc.test
           M /branches/zip/mysql-test/innodb_bug21704.result
           M /branches/zip/mysql-test/innodb_bug21704.test
           M /branches/zip/mysql-test/innodb_bug40360.test
           M /branches/zip/mysql-test/innodb_bug40565.result
           M /branches/zip/mysql-test/innodb_bug40565.test
           M /branches/zip/mysql-test/innodb_bug41904.result
           M /branches/zip/mysql-test/innodb_bug41904.test
           M /branches/zip/mysql-test/innodb_bug42101-nonzero-master.opt
           M /branches/zip/mysql-test/innodb_bug42101-nonzero.result
           M /branches/zip/mysql-test/innodb_bug42101-nonzero.test
           M /branches/zip/mysql-test/innodb_bug42101.result
           M /branches/zip/mysql-test/innodb_bug42101.test
           M /branches/zip/mysql-test/innodb_bug44032.result
           M /branches/zip/mysql-test/innodb_bug44032.test
           M /branches/zip/mysql-test/innodb_bug44369.result
           M /branches/zip/mysql-test/innodb_bug44369.test
           M /branches/zip/mysql-test/innodb_bug44571.result
           M /branches/zip/mysql-test/innodb_bug44571.test
           M /branches/zip/mysql-test/innodb_bug45357.test
           M /branches/zip/mysql-test/innodb_bug46000.result
           M /branches/zip/mysql-test/innodb_bug46000.test
           M /branches/zip/mysql-test/innodb_bug46676.result
           M /branches/zip/mysql-test/innodb_bug46676.test
           M /branches/zip/mysql-test/innodb_bug47167.result
           M /branches/zip/mysql-test/innodb_bug47167.test
           M /branches/zip/mysql-test/innodb_bug47777.result
           M /branches/zip/mysql-test/innodb_bug47777.test
           M /branches/zip/mysql-test/innodb_file_format.result
           M /branches/zip/mysql-test/innodb_file_format.test
      
        branches/zip: Set svn:eol-style on mysql-test files.
        ------------------------------------------------------------------------
        r6183 | marko | 2009-11-17 13:51:16 +0200 (Tue, 17 Nov 2009) | 1 line
        Changed paths:
           M /branches/zip/mysql-test/innodb-consistent-master.opt
           M /branches/zip/mysql-test/innodb-master.opt
           M /branches/zip/mysql-test/innodb-semi-consistent-master.opt
           M /branches/zip/mysql-test/innodb-use-sys-malloc-master.opt
           M /branches/zip/mysql-test/innodb_bug42101-nonzero-master.opt
      
        branches/zip: Prepend loose_ to plugin-only mysql-test options.
        ------------------------------------------------------------------------
        r6184 | marko | 2009-11-17 13:52:01 +0200 (Tue, 17 Nov 2009) | 1 line
        Changed paths:
           M /branches/zip/mysql-test/innodb-index.result
           M /branches/zip/mysql-test/innodb-index.test
      
        branches/zip: innodb-index.test: Restore innodb_file_format_check.
        ------------------------------------------------------------------------
        r6185 | marko | 2009-11-17 16:44:20 +0200 (Tue, 17 Nov 2009) | 16 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/mysql-test/innodb.result
           M /branches/zip/mysql-test/innodb.test
           M /branches/zip/mysql-test/innodb_bug44369.result
           M /branches/zip/mysql-test/innodb_bug44369.test
           D /branches/zip/mysql-test/patches/innodb-index.diff
           M /branches/zip/row/row0mysql.c
      
        branches/zip: Report duplicate table names
        to the client connection, not to the error log.  This change will allow
        innodb-index.test to be re-enabled.  It was previously disabled, because
        mysql-test-run does not like output in the error log.
      
        row_create_table_for_mysql(): Do not output anything to the error log
        when reporting DB_DUPLICATE_KEY.  Let the caller report the error.
        Add a TODO comment that the dict_table_t object is apparently not freed
        when an error occurs.
      
        create_table_def(): Convert InnoDB table names to the character set
        of the client connection for reporting.  Use my_error(ER_WRONG_COLUMN_NAME)
        for reporting reserved column names.  Report my_error(ER_TABLE_EXISTS_ERROR)
        when row_create_table_for_mysql() returns DB_DUPLICATE_KEY.
      
        rb://206
        ------------------------------------------------------------------------
        r6186 | vasil | 2009-11-17 16:48:14 +0200 (Tue, 17 Nov 2009) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip:
      
        Add ChangeLog entry for r6185.
        ------------------------------------------------------------------------
        r6189 | marko | 2009-11-18 11:36:18 +0200 (Wed, 18 Nov 2009) | 5 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/handler/handler0alter.cc
      
        branches/zip: ha_innobase::add_index(): When creating the primary key
        and the table is being locked by another transaction,
        do not attempt to drop the table. (Bug #48782)
      
        Approved by Sunny Bains over IM
        ------------------------------------------------------------------------
        r6194 | vasil | 2009-11-19 09:24:45 +0200 (Thu, 19 Nov 2009) | 5 lines
        Changed paths:
           M /branches/zip/include/univ.i
      
        branches/zip:
      
        Increment version number from 1.0.5 to 1.0.6 since 1.0.5 was just released
        by MySQL and we will soon release 1.0.6.
        ------------------------------------------------------------------------
        r6197 | calvin | 2009-11-19 09:32:55 +0200 (Thu, 19 Nov 2009) | 6 lines
        Changed paths:
           M /branches/zip/CMakeLists.txt
      
        branches/zip: merge the fix of bug#48317 (CMake file)
      
        Due to MySQL changes to the CMake, it is no longer able
        to build InnoDB plugin as a static library on Windows.
        The fix is proposed by Vlad of MySQL.
        ------------------------------------------------------------------------
        r6198 | vasil | 2009-11-19 09:44:31 +0200 (Thu, 19 Nov 2009) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip:
      
        Add ChangeLog entry for r6197.
        ------------------------------------------------------------------------
        r6199 | vasil | 2009-11-19 12:10:12 +0200 (Thu, 19 Nov 2009) | 31 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/btr/btr0btr.c
           M /branches/zip/data/data0type.c
      
        branches/zip: Merge r6159:6198 from branches/5.1:
      
          ------------------------------------------------------------------------
          r6187 | jyang | 2009-11-18 05:27:30 +0200 (Wed, 18 Nov 2009) | 9 lines
          Changed paths:
             M /branches/5.1/btr/btr0btr.c
      
          branches/5.1: Fix bug #48469 "when innodb tablespace is
          configured too small, crash and corruption!". Function
          btr_create() did not check the return status of fseg_create(),
          and continue the index creation even there is no sufficient
          space.
      
          rb://205 Approved by Marko
          ------------------------------------------------------------------------
          r6188 | jyang | 2009-11-18 07:14:23 +0200 (Wed, 18 Nov 2009) | 8 lines
          Changed paths:
             M /branches/5.1/data/data0type.c
      
          branches/5.1: Fix bug #48526 "Data type for float and
          double is incorrectly reported in InnoDB table monitor".
          Certain datatypes are not printed correctly in
          dtype_print().
      
          rb://204 Approved by Marko.
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6201 | marko | 2009-11-19 14:09:11 +0200 (Thu, 19 Nov 2009) | 2 lines
        Changed paths:
           M /branches/zip/handler/handler0alter.cc
      
        branches/zip: ha_innobase::add_index(): Clarify the comment
        on orphaned tables when creating a primary key.
        ------------------------------------------------------------------------
        r6202 | jyang | 2009-11-19 15:01:00 +0200 (Thu, 19 Nov 2009) | 8 lines
        Changed paths:
           M /branches/zip/btr/btr0btr.c
      
        branches/zip: Function fseg_free() is no longer defined
        in branches/zip. To port fix for bug #48469 to zip,
        we can use btr_free_root() which frees the page,
        and also does not require mini-transaction.
      
        Approved by Marko.
        ------------------------------------------------------------------------
        r6207 | vasil | 2009-11-20 10:19:14 +0200 (Fri, 20 Nov 2009) | 54 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
      
        branches/zip: Merge r6198:6206 from branches/5.1:
      
        (r6203 was skipped as it is already in branches/zip)
      
          ------------------------------------------------------------------------
          r6200 | vasil | 2009-11-19 12:14:23 +0200 (Thu, 19 Nov 2009) | 4 lines
          Changed paths:
             M /branches/5.1/btr/btr0btr.c
      
          branches/5.1:
      
          White space fixup - indent under the opening (
          ------------------------------------------------------------------------
          r6203 | jyang | 2009-11-19 15:12:22 +0200 (Thu, 19 Nov 2009) | 8 lines
          Changed paths:
             M /branches/5.1/btr/btr0btr.c
      
          branches/5.1: Use btr_free_root() instead of fseg_free() for
          the fix of bug #48469, because fseg_free() is not defined
          in the zip branch. And we could save one mini-trasaction started
          by fseg_free().
      
          Approved by Marko.
          ------------------------------------------------------------------------
          r6205 | jyang | 2009-11-20 07:55:48 +0200 (Fri, 20 Nov 2009) | 11 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
      
          branches/5.1: Add a special case to handle the Duplicated Key error
          and return DB_ERROR instead. This is to avoid a possible SIGSEGV
          by mysql error handling re-entering the storage layer for dup key
          info without proper table handle.
          This is to prevent a server crash when error situation in bug
          #45961 "DDL on partitioned innodb tables leaves data dictionary
          in an inconsistent state" happens.
      
          rb://157 approved by Sunny Bains.
          ------------------------------------------------------------------------
          r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 5 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
      
          branches/5.1: Fix a minor code formating issue for
          the parenthesis iplacement of the if condition in
          rename_table().
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6208 | vasil | 2009-11-20 10:49:24 +0200 (Fri, 20 Nov 2009) | 4 lines
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip:
      
        Add ChangeLog entry for c6207.
        ------------------------------------------------------------------------
        r6210 | vasil | 2009-11-20 23:39:48 +0200 (Fri, 20 Nov 2009) | 3 lines
        Changed paths:
           M /branches/zip/trx/trx0i_s.c
      
        branches/zip:
      
        Whitespace fixup.
        ------------------------------------------------------------------------
        r6248 | marko | 2009-11-30 12:19:50 +0200 (Mon, 30 Nov 2009) | 1 line
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip: ChangeLog: Document r4922 that was forgotten.
        ------------------------------------------------------------------------
        r6252 | marko | 2009-11-30 12:50:11 +0200 (Mon, 30 Nov 2009) | 23 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/dict/dict0boot.c
           M /branches/zip/dict/dict0crea.c
           M /branches/zip/dict/dict0load.c
           M /branches/zip/dict/dict0mem.c
           M /branches/zip/fil/fil0fil.c
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/include/dict0mem.h
           M /branches/zip/row/row0mysql.c
      
        branches/zip: Suppress errors about non-found temporary tables.
        Write the is_temp flag to SYS_TABLES.MIX_LEN.
      
        dict_table_t::flags: Add a flag for is_temporary, DICT_TF2_TEMPORARY.
        Unlike other flags, this will not be written to the tablespace flags
        or SYS_TABLES.TYPE, but only to SYS_TABLES.MIX_LEN.
      
        dict_build_table_def_step(): Only pass DICT_TF_BITS to tablespaces.
      
        dict_check_tablespaces_and_store_max_id(), dict_load_table():
        Suppress errors about temporary tables not being found.
      
        dict_create_sys_tables_tuple(): Write the DICT_TF2_TEMPORARY flag
        to SYS_TABLES.MIX_LEN.
      
        fil_space_create(), fil_create_new_single_table_tablespace(): Add assertions
        about space->flags.
      
        row_drop_table_for_mysql(): Do not complain about non-found temporary tables.
      
        rb://160 approved by Heikki Tuuri.  This addresses the second part of
        Bug #41609 Crash recovery does not work for InnoDB temporary tables.
        ------------------------------------------------------------------------
        r6263 | vasil | 2009-12-01 14:49:05 +0200 (Tue, 01 Dec 2009) | 4 lines
        Changed paths:
           M /branches/zip/include/univ.i
      
        branches/zip: Increment version number from 1.0.6 to 1.0.7
      
        1.0.6 has been released
        ------------------------------------------------------------------------
        r6264 | vasil | 2009-12-01 16:19:44 +0200 (Tue, 01 Dec 2009) | 1 line
        Changed paths:
           M /branches/zip/ChangeLog
      
        branches/zip: Add ChangeLog entry for the release of 1.0.6.
        ------------------------------------------------------------------------
        r6269 | marko | 2009-12-02 11:35:22 +0200 (Wed, 02 Dec 2009) | 2 lines
        Changed paths:
           M /branches/zip/srv/srv0start.c
      
        branches/zip: innobase_start_or_create_for_mysql(): UNIV_IBUF_DEBUG
        should not break crash recovery, but UNIV_IBUF_COUNT_DEBUG will.
        ------------------------------------------------------------------------
        r6270 | marko | 2009-12-02 11:36:47 +0200 (Wed, 02 Dec 2009) | 1 line
        Changed paths:
           M /branches/zip/srv/srv0start.c
      
        branches/zip: innobase_start_or_create_for_mysql(): Log the zlib version.
        ------------------------------------------------------------------------
        r6271 | marko | 2009-12-02 11:43:49 +0200 (Wed, 02 Dec 2009) | 2 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/Makefile.am
           M /branches/zip/include/univ.i
           M /branches/zip/plug.in
      
        branches/zip: ChangeLog: Document that since r6270, the zlib version number
        will be displayed at start-up.
        ------------------------------------------------------------------------
        r6272 | marko | 2009-12-02 11:46:05 +0200 (Wed, 02 Dec 2009) | 1 line
        Changed paths:
           M /branches/zip/Makefile.am
           M /branches/zip/include/univ.i
           M /branches/zip/plug.in
      
        branches/zip: Revert changes that were accidentally committed in r6271.
        ------------------------------------------------------------------------
        r6274 | marko | 2009-12-03 14:47:12 +0200 (Thu, 03 Dec 2009) | 6 lines
        Changed paths:
           M /branches/zip/dict/dict0dict.c
      
        branches/zip: dict_table_check_for_dup_indexes(): Assert that the
        data dictionary mutex is being held while table->indexes is accessed.
        This is already the case.
      
        Currently, only dict_table_get_next_index() and dict_table_get_first_index()
        are being invoked without holding dict_sys->mutex.
        ------------------------------------------------------------------------
        r6275 | pekka | 2009-12-03 18:32:47 +0200 (Thu, 03 Dec 2009) | 10 lines
        Changed paths:
           M /branches/zip/include/log0recv.h
           M /branches/zip/include/trx0sys.h
           M /branches/zip/log/log0recv.c
           M /branches/zip/trx/trx0sys.c
      
        branches/zip: Minor changes which allow build with UNIV_HOTBACKUP
        defined to succeed:
      
        include/trx0sys.h: Allow Hot Backup build to see some
                           TRX_SYS_DOUBLEWRITE_... macros.
        trx/trx0sys.c:     Exclude trx_sys_close() function from Hot Backup build.
        log/log0recv.[ch]: Exclude recv_sys_var_init() function from Hot Backup build.
      
        This change should not affect !UNIV_HOTBACKUP build.
        ------------------------------------------------------------------------
        r6277 | marko | 2009-12-08 11:13:36 +0200 (Tue, 08 Dec 2009) | 1 line
        Changed paths:
           M /branches/zip/fsp/fsp0fsp.c
      
        branches/zip: fsp0fsp.c: Add some missing in/out and const qualifiers.
        ------------------------------------------------------------------------
        r6285 | marko | 2009-12-09 09:24:50 +0200 (Wed, 09 Dec 2009) | 13 lines
        Changed paths:
           M /branches/zip/row/row0sel.c
      
        branches/zip: row_sel_fetch_columns(): Remove redundant code that was
        accidentally added in r1591, which introduced dfield_t::ext in order
        to make the merge sort of fast index creation support externally
        stored columns,
      
        Initially, I tried to allocate the bit for dfield_t::ext from
        dfield_t::len by making the length 31 bits and mapping UNIV_SQL_NULL
        to something that would fit in it.  Then I decided that it would be
        too risky.  The redundant check was part of the mapping.  The
        condition may have been dfield_is_null() initially.
      
        This redundant code was noticed by Sergey Petrunya on the MySQL
        internals list.
        ------------------------------------------------------------------------
        r6288 | marko | 2009-12-09 09:51:00 +0200 (Wed, 09 Dec 2009) | 15 lines
        Changed paths:
           M /branches/zip/row/row0upd.c
      
        branches/zip: row_upd_copy_columns(): Remove redundant code that was
        accidentally added in r1591, which introduced dfield_t::ext in order
        to make the merge sort of fast index creation support externally
        stored columns.
      
        Initially, I tried to allocate the bit for dfield_t::ext from
        dfield_t::len by making the length 31 bits and mapping UNIV_SQL_NULL
        to something that would fit in it.  Then I decided that it would be
        too risky.  The redundant check was part of the mapping.  The
        condition may have been dfield_is_null() initially.
      
        This is similar to the redundant code in row_sel_fetch_columns() that
        was noticed by Sergey Petrunya on the MySQL internals list and removed
        in r6285.  As far as I can tell, there are no redundant UNIV_SQL_NULL
        assignments remaining after this change.
        ------------------------------------------------------------------------
        r6305 | marko | 2009-12-14 13:03:57 +0200 (Mon, 14 Dec 2009) | 2 lines
        Changed paths:
           M /branches/zip/row/row0umod.c
      
        branches/zip: row_undo_mod_del_unmark_sec_and_undo_update(): Add a missing
        const qualifier.
        ------------------------------------------------------------------------
        r6309 | marko | 2009-12-15 14:05:50 +0200 (Tue, 15 Dec 2009) | 3 lines
        Changed paths:
           M /branches/zip/lock/lock0lock.c
      
        branches/zip: lock_rec_insert_check_and_lock(): Avoid casting away constness.
        Use page_rec_get_next_const() instead. This silences a gcc 4.2.4 warning.
        Reported by Sunny Bains.
        ------------------------------------------------------------------------
        r6312 | marko | 2009-12-16 10:10:36 +0200 (Wed, 16 Dec 2009) | 6 lines
        Changed paths:
           M /branches/zip/fil/fil0fil.c
      
        branches/zip: fil_close(): Add #ifndef UNIV_HOTBACKUP around a debug
        assertion on mutex.magic_n.  InnoDB Hot Backup is a single-threaded
        program and does not contain mutexes.  This change allows InnoDB Hot
        Backup to be compiled with UNIV_DEBUG.
      
        Suggested by Michael Izioumtchenko.
        ------------------------------------------------------------------------
        r6321 | marko | 2009-12-16 16:16:33 +0200 (Wed, 16 Dec 2009) | 4 lines
        Changed paths:
           M /branches/zip/row/row0merge.c
      
        branches/zip: row_merge_drop_temp_indexes(): Revert a hack to
        transaction isolation level that was made unnecessary by r5826 (Issue #337).
        When this function is called, any active data dictionary transaction
        should have been rolled back.
        ------------------------------------------------------------------------
        r6345 | marko | 2009-12-21 10:46:14 +0200 (Mon, 21 Dec 2009) | 7 lines
        Changed paths:
           M /branches/zip/log/log0recv.c
      
        branches/zip: recv_scan_log_recs(): Non-functional change: Replace a
        debug assertion ut_ad(len > 0) with ut_ad(len >= OS_FILE_LOG_BLOCK_SIZE).
      
        This change is only for readability, for Issue #428.  Another
        assertion on len being an integer multiple of OS_FILE_LOG_BLOCK_SIZE
        already ensured together with the old ut_ad(len > 0) that actually len
        must be at least OS_FILE_LOG_BLOCK_SIZE.
        ------------------------------------------------------------------------
        r6346 | marko | 2009-12-21 12:03:25 +0200 (Mon, 21 Dec 2009) | 2 lines
        Changed paths:
           M /branches/zip/log/log0recv.c
      
        branches/zip: recv_recovery_from_checkpoint_finish():
        Revert a change that was accidentally committed in r6345.
        ------------------------------------------------------------------------
        r6348 | marko | 2009-12-22 11:04:34 +0200 (Tue, 22 Dec 2009) | 37 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/include/ha_prototypes.h
           M /branches/zip/include/trx0trx.h
           M /branches/zip/lock/lock0lock.c
           M /branches/zip/trx/trx0i_s.c
           M /branches/zip/trx/trx0trx.c
      
        branches/zip: Merge a change from MySQL:
        ------------------------------------------------------------
        revno: 3236
        committer: Satya B <satya.bn@sun.com>
        branch nick: mysql-5.1-bugteam
        timestamp: Tue 2009-12-01 17:48:57 +0530
        message:
          merge to mysql-5.1-bugteam
            ------------------------------------------------------------
            revno: 3234.1.1
            committer: Gleb Shchepa <gshchepa@mysql.com>
            branch nick: mysql-5.1-bugteam
            timestamp: Tue 2009-12-01 14:38:40 +0400
            message:
              Bug #38883 (reopened): thd_security_context is not thread safe, crashes?
      
              manual merge 5.0-->5.1, updating InnoDB plugin.
            ------------------------------------------------------------
            revno: 1810.3968.13
            committer: Gleb Shchepa <gshchepa@mysql.com>
            branch nick: mysql-5.0-bugteam
            timestamp: Tue 2009-12-01 14:24:44 +0400
            message:
              Bug #38883 (reopened): thd_security_context is not thread safe, crashes?
      
              The bug 38816 changed the lock that protects THD::query from
              LOCK_thread_count to LOCK_thd_data, but didn't update the associated
              InnoDB functions.
      
              1. The innobase_mysql_prepare_print_arbitrary_thd and the
              innobase_mysql_end_print_arbitrary_thd InnoDB functions have been
              removed, since now we have a per-thread mutex: now we don't need to wrap
              several inter-thread access tries to THD::query with a single global
              LOCK_thread_count lock, so we can simplify the code.
      
              2. The innobase_mysql_print_thd function has been modified to lock
              LOCK_thd_data in direct way.
        ------------------------------------------------------------------------
        r6351 | marko | 2009-12-22 11:11:18 +0200 (Tue, 22 Dec 2009) | 1 line
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
      
        branches/zip: Remove an obsolete declaration of LOCK_thread_count.
        ------------------------------------------------------------------------
        r6352 | marko | 2009-12-22 12:33:01 +0200 (Tue, 22 Dec 2009) | 104 lines
        Changed paths:
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/include/lock0lock.h
           M /branches/zip/include/srv0srv.h
           M /branches/zip/lock/lock0lock.c
           M /branches/zip/log/log0log.c
           M /branches/zip/mysql-test/innodb-autoinc.result
           M /branches/zip/mysql-test/innodb-autoinc.test
           M /branches/zip/row/row0sel.c
           M /branches/zip/srv/srv0srv.c
           M /branches/zip/srv/srv0start.c
      
        branches/zip: Merge revisions 6206:6350 from branches/5.1,
        except r6347, r6349, r6350 which were committed separately
        to both branches, and r6310, which was backported from zip to 5.1.
      
          ------------------------------------------------------------------------
          r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 3 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
      
          branches/5.1: Non-functional change, fix formatting.
          ------------------------------------------------------------------------
          r6230 | sunny | 2009-11-24 23:52:43 +0200 (Tue, 24 Nov 2009) | 3 lines
          Changed paths:
             M /branches/5.1/mysql-test/innodb-autoinc.result
      
          branches/5.1: Fix autoinc failing test results.
          (this should be skipped when merging 5.1 into zip)
          ------------------------------------------------------------------------
          r6231 | sunny | 2009-11-25 10:26:27 +0200 (Wed, 25 Nov 2009) | 7 lines
          Changed paths:
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
             M /branches/5.1/row/row0sel.c
      
          branches/5.1: Fix BUG#49032 - auto_increment field does not initialize to last value in InnoDB Storage Engine.
      
          We use the appropriate function to read the column value for non-integer
          autoinc column types, namely float and double.
      
          rb://208. Approved by Marko.
          ------------------------------------------------------------------------
          r6232 | sunny | 2009-11-25 10:27:39 +0200 (Wed, 25 Nov 2009) | 2 lines
          Changed paths:
             M /branches/5.1/row/row0sel.c
      
          branches/5.1: This is an interim fix, fix white space errors.
          ------------------------------------------------------------------------
          r6233 | sunny | 2009-11-25 10:28:35 +0200 (Wed, 25 Nov 2009) | 2 lines
          Changed paths:
             M /branches/5.1/include/mach0data.h
             M /branches/5.1/include/mach0data.ic
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
             M /branches/5.1/row/row0sel.c
      
          branches/5.1: This is an interim fix, fix tests and make read float/double arg const.
          ------------------------------------------------------------------------
          r6234 | sunny | 2009-11-25 10:29:03 +0200 (Wed, 25 Nov 2009) | 2 lines
          Changed paths:
             M /branches/5.1/row/row0sel.c
      
          branches/5.1: This is an interim fix, fix whitepsace issues.
          ------------------------------------------------------------------------
          r6235 | sunny | 2009-11-26 01:14:42 +0200 (Thu, 26 Nov 2009) | 9 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
      
          branches/5.1: Fix Bug#47720 - REPLACE INTO Autoincrement column with negative values.
      
          This bug is similiar to the negative autoinc filter patch from earlier,
          with the additional handling of filtering out the negative column values
          set explicitly by the user.
      
          rb://184
          Approved by Heikki.
          ------------------------------------------------------------------------
          r6242 | vasil | 2009-11-27 22:07:12 +0200 (Fri, 27 Nov 2009) | 4 lines
          Changed paths:
             M /branches/5.1/export.sh
      
          branches/5.1:
      
          Minor changes to support plugin snapshots.
          ------------------------------------------------------------------------
          r6306 | calvin | 2009-12-14 15:12:46 +0200 (Mon, 14 Dec 2009) | 5 lines
          Changed paths:
             M /branches/5.1/mysql-test/innodb-autoinc.result
             M /branches/5.1/mysql-test/innodb-autoinc.test
      
          branches/5.1: fix bug#49267: innodb-autoinc.test fails on windows
          because of different case mode
      
          There is no change to the InnoDB code, only to fix test case by
          changing "T1" to "t1".
          ------------------------------------------------------------------------
          r6324 | jyang | 2009-12-17 06:54:24 +0200 (Thu, 17 Dec 2009) | 8 lines
          Changed paths:
             M /branches/5.1/handler/ha_innodb.cc
             M /branches/5.1/include/lock0lock.h
             M /branches/5.1/include/srv0srv.h
             M /branches/5.1/lock/lock0lock.c
             M /branches/5.1/log/log0log.c
             M /branches/5.1/srv/srv0srv.c
             M /branches/5.1/srv/srv0start.c
      
          branches/5.1: Fix bug #47814 - Diagnostics are frequently not
          printed after a long lock wait in InnoDB. Separate out the
          lock wait timeout check thread from monitor information
          printing thread.
      
          rb://200 Approved by Marko.
          ------------------------------------------------------------------------
        ------------------------------------------------------------------------
        r6364 | marko | 2009-12-26 21:06:31 +0200 (Sat, 26 Dec 2009) | 4 lines
        Changed paths:
           M /branches/zip/ibuf/ibuf0ibuf.c
      
        branches/zip: ibuf_bitmap_get_map_page():
        Define a wrapper macro that passes __FILE__, __LINE__ of the caller
        to buf_page_get_gen().
        This will ease the diagnosis of the likes of Issue #135.
        ------------------------------------------------------------------------
      67cd3302
  22. 17 Dec, 2009 1 commit
    • inaam's avatar
      branches/innodb+ rb://210 · 626d26f3
      inaam authored
      Introduce a new mutex to protect flush_list.
      Redesign mtr_commit() in a way that log_sys mutex is not held while all
      mtr_memos are popped and is released just after the modified blocks are
      inserted into the flush_list. This should reduce contention on log_sys
      mutex.
      
      Approved by: Heikki
      626d26f3