1. 22 Jun, 2010 2 commits
    • MySQL Build Team's avatar
      Backport into build-201006221614-5.1.46sp1 · d4858b96
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3362
      > revision-id: davi.arnaut@sun.com-20100401131522-895y8uzvv8ag44gs
      > parent: ramil@mysql.com-20100429045409-r7r5lcyiruis15v7
      > committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
      > branch nick: 50755-5.1
      > timestamp: Thu 2010-04-01 10:15:22 -0300
      > message:
      >   Bug#50755: Crash if stored routine def contains version comments
      >   
      >   The problem was that a syntactically invalid trigger could cause
      >   the server to crash when trying to list triggers. The crash would
      >   happen due to a mishap in the backup/restore procedure that should
      >   protect parser items which are not associated with the trigger. The
      >   backup/restore is used to isolate the parse tree (and context) of
      >   a statement from the load (and parsing) of a trigger. In this case,
      >   a error during the parsing of a trigger could cause the improper
      >   backup/restore sequence.
      >   
      >   The solution is to properly restore the original statement context
      >   before the parser is exited due to syntax errors in the trigger body.
      d4858b96
    • karen.langford@oracle.com's avatar
  2. 06 Apr, 2010 2 commits
  3. 05 Apr, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#52336 Segfault / crash in 5.1 copy_fields (param=0x9872980) at sql_select.cc:15355 · 416f3205
      Sergey Glukhov authored
      The problem is that we can not use make_cond_for_table().
      This function relies on used_tables() condition
      which is not set properly for subqueries.
      As result subquery is not filtered out.
      The fix is to use remove_eq_conds() function instead
      of make_cond_for_table() func. 'remove_eq_conds()'
      algorithm relies on const_item() value and it allows
      to handle subqueries in right way.
      416f3205
  4. 02 Apr, 2010 1 commit
    • Gleb Shchepa's avatar
      Bug #40625: Concat fails on DOUBLE values in a Stored · 99a0ace4
      Gleb Shchepa authored
                  Procedure, while DECIMAL works
      
      Selecting of the CONCAT(...<SP variable>...) result into
      a user variable may return wrong data.
      
      
      Item_func_concat::val_str contains a number of memory
      allocation-saving tricks. One of them concatenates
      strings inplace inserting the value of one string
      at the beginning of the other string. However,
      this trick didn't care about strings those points
      to the same data buffer: this is possible when
      a CONCAT() parameter is a stored procedure variable -
      Item_sp_variable::val_str() uses the intermediate
      Item_sp_variable::str_value field, where it may
      store a reference to an external buffer.
      
      
      The Item_func_concat::val_str function has been
      modified to take into account val_str functions
      (such as Item_sp_variable::val_str) that return
      a pointer to an internal Item member variable
      that may reference to a buffer provided.
      99a0ace4
  5. 01 Apr, 2010 34 commits
    • Anurag Shekhar's avatar
      Bug #47904 Incorrect results w/ table subquery, derived SQs, and LEFT JOIN · 92a41960
      Anurag Shekhar authored
             on index
      
      'my_decimal' class has two members which can be used to access the 
      value. The member variable buf (inherited from parent class decimal_t) 
      is set to member variable buffer so that both are pointing to same value.
      
      Item_copy_decimal::copy() uses memcpy to clone 'my_decimal'. The member
      buffer is declared as an array and memcpy results in copying the values
      of the array, but the inherited member buf, which should be pointing at
      the begining of the array 'buffer' starts pointing to the begining of 
      buffer in original object (which is being cloned). Further updates on 
      'my_decimal' updates only the inherited member 'buf' but leaves 
      buffer unchanged.
      
      Later when the new object (which now holds a inconsistent value) is cloned
      again using proper cloning function 'my_decimal2decimal' the buf pointer
      is fixed resulting in loss of the current value.
      
      Using my_decimal2decimal instead of memcpy in Item_copy_decimal::copy()
      fixed this problem.
      92a41960
    • Sergey Vojtovich's avatar
      645ee41e
    • Sergey Vojtovich's avatar
      c9ed4d0b
    • Sergey Vojtovich's avatar
      BUG#40980 - Drop table can remove another MyISAM table's · 4050910f
      Sergey Vojtovich authored
                  data and index files
      
      It was possible if DATA/INDEX DIRECTORY is pointing to
      symlinked MySQL data home directory.
      
      Do not allow to drop data/index files implicitly symlinked
      to data home directory. For such tables remove symlink only.
      4050910f
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · f770db51
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6900 | mmakela | 2010-03-29 13:54:57 +0300 (Mon, 29 Mar 2010) | 5 lines
      branches/zip: Merge c6899 from branches/innodb+:
      
      Add debug assertions to track down Bug #52360.
      hash_table_t::magic_n: Add HASH_TABLE_MAGIC_N checks, which were fully absent.
      ut_hash_ulint(): Assert table_size > 0 before division.
      f770db51
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 7324f762
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6897 | mmakela | 2010-03-29 11:36:19 +0300 (Mon, 29 Mar 2010) | 3 lines
      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.
      7324f762
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · a47cb8f0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6891 | vdimov | 2010-03-26 16:19:01 +0200 (Fri, 26 Mar 2010) | 5 lines
      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
      a47cb8f0
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 905c3d99
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6875 | vdimov | 2010-03-25 18:18:15 +0200 (Thu, 25 Mar 2010) | 4 lines
      branches/zip:
      
      Wrap line at 78 column in ChangeLog.
      905c3d99
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · a244b1d3
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6874 | vdimov | 2010-03-25 17:17:52 +0200 (Thu, 25 Mar 2010) | 4 lines
      branches/zip:
      
      Wrap ChangeLog at 78th column
      a244b1d3
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · ca7e2803
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6873 | vdimov | 2010-03-25 17:06:56 +0200 (Thu, 25 Mar 2010) | 4 lines
      branches/zip:
      
      Use Bug#N instead of Bug #N to be consistent with the rest of the fil.
      ca7e2803
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 7b4858c1
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6872 | vdimov | 2010-03-25 17:03:17 +0200 (Thu, 25 Mar 2010) | 4 lines
      branches/zip:
      
      Fix ChangeLog - write only the bug title in bugs.mysql.com-related entires.
      7b4858c1
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 0a5b19e5
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6871 | vdimov | 2010-03-25 16:39:44 +0200 (Thu, 25 Mar 2010) | 4 lines
      branches/zip:
      
      Whitespace fixup to be consistent with the rest of the file.
      0a5b19e5
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · f2415eb4
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6868 | mmakela | 2010-03-25 13:03:08 +0200 (Thu, 25 Mar 2010) | 1 line
      branches/zip: page_validate(): Check the buf[] bounds.
      f2415eb4
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 538d3f2a
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6864 | mmakela | 2010-03-24 14:05:53 +0200 (Wed, 24 Mar 2010) | 1 line
      branches/zip: dtype_new_store_for_order_and_null_size(): Add ut_ad() on mtype.
      538d3f2a
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 64d2ade6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6861 | vdimov | 2010-03-23 19:31:02 +0200 (Tue, 23 Mar 2010) | 36 lines
      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  > >     ^
      64d2ade6
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 58cb8202
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6860 | jyang | 2010-03-23 18:20:36 +0200 (Tue, 23 Mar 2010) | 5 lines
      branches/zip: This is patch from Inaam that uses red-black tree
      to speed up insertions into the flush_list and thus the recovery
      process. The patch has been tested by Nokia.
      58cb8202
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 9f0592dd
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6858 | mmakela | 2010-03-23 14:09:24 +0200 (Tue, 23 Mar 2010) | 1 line
      branches/zip: innodb_read_ahead_threshold: Add missing space to help string.
      9f0592dd
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · d56ea032
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6857 | mmakela | 2010-03-23 14:07:53 +0200 (Tue, 23 Mar 2010) | 1 line
      branches/zip: innodb_change_buffering: Correct the documentation.
      d56ea032
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 0e9c2ea1
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6853 | marko | 2010-03-22 13:35:29 +0200 (Mon, 22 Mar 2010) | 1 line
      branches/zip: mutex_own(), rw_lock_own(): Add attribute((warn_unused_result)).
      0e9c2ea1
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#52102. · e1d20aef
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6840 | calvin | 2010-03-19 00:32:23 +0200 (Fri, 19 Mar 2010) | 6 lines
      branches/zip: Fix Bug #52102 InnoDB Plugin shows performance drop
      comparing to builtin InnoDB (Windows only).
      
      Disable Windows atomics by default.
      
      Approved by: Inaam
      e1d20aef
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 74dffaa6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6830 | marko | 2010-03-18 09:48:18 +0200 (Thu, 18 Mar 2010) | 3 lines
      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.
      74dffaa6
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 5183fe49
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6828 | calvin | 2010-03-17 17:16:38 +0200 (Wed, 17 Mar 2010) | 7 lines
      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.
      5183fe49
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 2ce59df6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6805 | inaam | 2010-03-11 23:15:17 +0200 (Thu, 11 Mar 2010) | 6 lines
      branches/zip issue#463
      
      Fixed compiler warning about uninitialized variable.
      
      Non-functional change.
      2ce59df6
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 15568b94
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6801 | marko | 2010-03-11 13:34:28 +0200 (Thu, 11 Mar 2010) | 2 lines
      branches/zip: mtr_memo_contains(): Relax the assertion of r6800,
      allowing mtr->state == MTR_COMMITTING.
      15568b94
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · edba051b
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6800 | marko | 2010-03-11 12:02:57 +0200 (Thu, 11 Mar 2010) | 1 line
      branches/zip: Add ut_ad(mtr->state == MTR_ACTIVE) to various places.
      edba051b
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 07e86b50
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6799 | jyang | 2010-03-11 09:59:42 +0200 (Thu, 11 Mar 2010) | 5 lines
      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.
      07e86b50
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 2d33096d
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6798 | marko | 2010-03-11 09:53:01 +0200 (Thu, 11 Mar 2010) | 14 lines
      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
      2d33096d
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 1ce8091b
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6792 | marko | 2010-03-10 13:56:41 +0200 (Wed, 10 Mar 2010) | 1 line
      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
      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.
        ------------------------------------------------------------------------
      1ce8091b
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 36f1a009
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6791 | marko | 2010-03-10 13:39:06 +0200 (Wed, 10 Mar 2010) | 1 line
      branches/zip: Add ChangeLog entries for r6789, r6790.
      36f1a009
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#51356. · aacb4858
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6790 | jyang | 2010-03-10 13:09:41 +0200 (Wed, 10 Mar 2010) | 7 lines
      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
      aacb4858
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#51378. · 178dccaa
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6789 | jyang | 2010-03-10 11:18:18 +0200 (Wed, 10 Mar 2010) | 10 lines
      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.
      178dccaa
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 434cf189
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6787 | marko | 2010-03-10 10:35:06 +0200 (Wed, 10 Mar 2010) | 10 lines
      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
      434cf189
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · d10b72db
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6786 | vasil | 2010-03-10 09:16:50 +0200 (Wed, 10 Mar 2010) | 4 lines
      branches/zip:
      
      Fix typo in comment
      d10b72db
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · b3370e53
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6782 | marko | 2010-03-09 14:09:26 +0200 (Tue, 09 Mar 2010) | 1 line
      branches/zip: fil0fil.c: Update comments on table->flags as of r6252.
      b3370e53