1. 22 Jan, 2010 8 commits
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#49396. · ba6c1527
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6471 | calvin | 2010-01-16 01:43:27 +0200 (Sat, 16 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.
      ba6c1527
    • Sergey Vojtovich's avatar
      e88140d7
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 41063702
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6492 | sunny | 2010-01-21 09:38:35 +0200 (Thu, 21 Jan 2010) | 1 line
      branches/5.1: Add reference to bug#47621 in the comment.
      41063702
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 4af52ec0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6489 | sunny | 2010-01-21 02:57:50 +0200 (Thu, 21 Jan 2010) | 2 lines
      branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test
      into a separate test/result files.
      4af52ec0
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · e06f6ab5
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6488 | sunny | 2010-01-21 02:55:08 +0200 (Thu, 21 Jan 2010) | 2 lines
      branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test
      into a separate test/result files.
      e06f6ab5
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#46193. · 7939efc0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6424 | marko | 2010-01-12 12:22:19 +0200 (Tue, 12 Jan 2010) | 16 lines
      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
      7939efc0
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 6f90077e
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6422 | marko | 2010-01-12 11:34:27 +0200 (Tue, 12 Jan 2010) | 3 lines
      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.
      6f90077e
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#49238. · 78ad89c6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6421 | jyang | 2010-01-12 07:59:16 +0200 (Tue, 12 Jan 2010) | 8 lines
      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
      78ad89c6
  2. 21 Jan, 2010 3 commits
    • Magne Mahre's avatar
      WL#5154 Remove deprecated 4.1 features · b50244fb
      Magne Mahre authored
      Several items said to be deprecated in the 4.1 manual
      have never been removed.  This worklog adds deprecation
      warnings when these items are used, and warns the user 
      that the items will be removed in MySQL 5.6.
      
      A couple of previously deprecation decision have been
      reversed (see single file comments)
      
      
      
      client/client_priv.h:
        Macro similar to the one in the server (mysql_priv.h)
        for printing a deprecation warning message
      client/mysql.cc:
        no-auto-rehash  will not be deprecated
        skip-line-numbers will not be deprecated
        skip-column-names will not be deprecated
        no-pager is deprecated
        set-variable is deprecated
        no-named-commands is deprecated
      client/mysqladmin.cc:
        set-variable is deprecated
      client/mysqlbinlog.cc:
        position is deprecated
      client/mysqldump.c:
        first-slave is deprecated
        no-set-names is deprecated
        set-variable is deprecated
      mysql-test/r/mysqlbinlog.result:
        Adding the [Warning] to the test case, just to show that the
        deprecation works.
        The test case will be changed in Celosia to use --start-position.
      mysys/my_getopt.c:
        set-variable (include -O) is deprecated
      scripts/mysqld_multi.sh:
        Warning for mysqld_multi
      sql/mysqld.cc:
        default-collation is deprecated
        log-bin-trust-routine-creators is deprecated
        set-variable is deprecated
        default-character-set is deprecated
        safe-show-database is deprecated
      sql/share/errmsg.txt:
        Added version number for sql_log_update deprecation message.
      b50244fb
    • Davi Arnaut's avatar
      Apply patch on behalf of Magnus: · c0c30d1d
      Davi Arnaut authored
      3325 Magnus Blåudd    2010-01-05
           Bug #49860 new compiler warning ha_archive
            - fix compiler warning by casting to ulong 
      c0c30d1d
    • Davi Arnaut's avatar
      Apply patch on behalf of the NDB team: · 9517b08a
      Davi Arnaut authored
      3321 Magnus Blåudd    2010-01-05
           BUG#44840 - ndbapi compiler warning - type qualifier ignored for function return type
            - Remove the "const"
            - NOTE! This is an ABI incompatible change for some C++ compilers, NdbApi applications
              using any of the four changed functions may need a recompile if it's using dynamic linking.
      9517b08a
  3. 20 Jan, 2010 1 commit
    • Alfranio Correia's avatar
      BUG#46364 MyISAM transbuffer problems (NTM problem) · a02a4cf4
      Alfranio Correia authored
      It is well-known that due to concurrency issues, a slave can become
      inconsistent when a transaction contains updates to both transaction and
      non-transactional tables in statement and mixed modes.
      
      In a nutshell, the current code-base tries to preserve causality among the
      statements by writing non-transactional statements to the txn-cache which
      is flushed upon commit. However, modifications done to non-transactional
      tables on behalf of a transaction become immediately visible to other
      connections but may not immediately get into the binary log and therefore
      consistency may be broken.
      
      In general, it is impossible to automatically detect causality/dependency
      among statements by just analyzing the statements sent to the server. This
      happen because dependency may be hidden in the application code and it is
      necessary to know a priori all the statements processed in the context of
      a transaction such as in a procedure. Moreover, even for the few cases that
      we could automatically address in the server, the computation effort
      required could make the approach infeasible.
      
      So, in this patch we introduce the option
          - "--binlog-direct-non-transactional-updates" that can be used to bypass
          the current behavior in order to write directly to binary log statements
          that change non-transactional tables.
      
      mysql-test/extra/rpl_tests/rpl_mixing_engines.inc:
        Backported this from Celosia to improve the test cases related to the NTM issue.
      sql/log.cc:
        Checks the --binlog-direct-non-transactional-updates before choosing
        to either use the trxn-cache or not.
      sql/mysqld.cc:
        Introduces the option --binlog-direct-non-transactional-updates.
      sql/set_var.cc:
        Introduces the option --binlog-direct-non-transactional-updates.
      sql/sql_class.h:
        Introduces the option --binlog-direct-non-transactional-updates.
      a02a4cf4
  4. 19 Jan, 2010 1 commit
    • Mattias Jonsson's avatar
      post-push patch for bug#47343. · e7eec62d
      Mattias Jonsson authored
      Missing ha_rnd_end in copy_partitions, found due to a
      DBUG_ASSERT in mysql-pe
      
      sql/ha_partition.cc:
        Post-push patch for bug#47343
        
        Must call ha_rnd_end since ha_rnd_init has been called.
      e7eec62d
  5. 23 Dec, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #49512 : subquery with aggregate function crash · ff8f4517
      Georgi Kodinov authored
        subselect_single_select_engine::exec()
      
      When a subquery doesn't need to be evaluated because
      it returns only aggregate functions and these aggregates
      can be calculated from the metadata about the table it
      was not updating all the relevant members of the JOIN 
      structure to reflect that this is a constant query.
      This caused problems to the enclosing subquery 
      ('<> SOME' in the test case above) trying to read some
      data about the tables.
      
      Fixed by setting const_tables to the number of tables 
      when the SELECT is optimized away.
      ff8f4517
  6. 19 Jan, 2010 5 commits
    • Georgi Kodinov's avatar
      4e76c48f
    • Mattias Jonsson's avatar
      merge · c2efd8cd
      Mattias Jonsson authored
      c2efd8cd
    • Georgi Kodinov's avatar
      merge · 8ba6b443
      Georgi Kodinov authored
      8ba6b443
    • Sergey Glukhov's avatar
      Bug#49501 Inefficient information_schema check (system collation) · 3a95b614
      Sergey Glukhov authored
      added check_length optimization for I_S_NAME comparison
      
      
      sql/event_data_objects.cc:
        added check_length optimization for I_S_NAME comparison
      sql/events.cc:
        added check_length optimization for I_S_NAME comparison
      sql/mysql_priv.h:
        added check_length optimization for I_S_NAME comparison
      sql/repl_failsafe.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_db.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_parse.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_show.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_view.cc:
        added check_length optimization for I_S_NAME comparison
      sql/table.cc:
        added check_length optimization for I_S_NAME comparison
      3a95b614
    • Luis Soares's avatar
      Fix for BUG#49481 and BUG#49482 reverted. · 5b0fb8aa
      Luis Soares authored
      PB2 run uncovered issue that needs further analysis.
      5b0fb8aa
  7. 18 Jan, 2010 2 commits
    • Mattias Jonsson's avatar
      Bug#47343: InnoDB fails to clean-up after lock wait timeout on · b489ba04
      Mattias Jonsson authored
                 REORGANIZE PARTITION
      
      There were several problems which lead to this this,
      all related to bad error handling.
      
      1) There was several bugs preventing the ddl-log to be used for
         cleaning up created files on error.
      
      2) The error handling after the copy partition rows did not close
         and unlock the tables, resulting in deletion of partitions
         which were in use, which lead InnoDB to put the partition to
         drop in a background queue.
      
      sql/ha_partition.cc:
        Bug#47343: InnoDB fails to clean-up after lock wait timeout on
                   REORGANIZE PARTITION
        
        Better error handling, if partition has been created/opened/locked
        then make sure it is unlocked and closed before returning error.
        The delete of the newly created partition is handled by the ddl-log.
      sql/sql_parse.cc:
        Bug#47343: InnoDB fails to clean-up after lock wait timeout on
                   REORGANIZE PARTITION
        
        Fix a bug found when experimenting, thd could really be NULL here,
        as mentioned in the function header.
      sql/sql_partition.cc:
        Bug#47343: InnoDB fails to clean-up after lock wait timeout on
                   REORGANIZE PARTITION
        
        Used the correct .frm shadow name to put into the ddl-log.
        Really use the ddl-log to handle errors.
      sql/sql_table.cc:
        Bug#47343: InnoDB fails to clean-up after lock wait timeout on
                   REORGANIZE PARTITION
        
        Fixes of the ddl-log when used as error recovery (no crash).
        When executing an entry from memory (not read from disk)
        the name_len was not set correctly.
      b489ba04
    • Georgi Kodinov's avatar
      Bug #45989 take 2 : memory leak after explain encounters an · 184a944c
      Georgi Kodinov authored
      error in the query.
      
      Fixes a leak after materializing a GROUP BY subquery to a 
      temp table when the subquery has a blob column in the SELECT
      list.
      Fixed by correctly destructing temporary buffers after doing
      the conversion.
      184a944c
  8. 17 Jan, 2010 1 commit
  9. 16 Jan, 2010 1 commit
    • unknown's avatar
      BUG#47418 RBR fails, failure with mixup of base/temporary/view · 94343315
      unknown authored
      'CREATE TABLE IF NOT EXISTS ... SELECT' statement were causing 'CREATE
      TEMPORARY TABLE ...' to be written to the binary log in row-based 
      mode (a.k.a. RBR), when there was a temporary table with the same name.
      Because the 'CREATE TABLE ... SELECT' statement was executed as 
      'INSERT ... SELECT' into the temporary table. Since in RBR mode no 
      other statements related to temporary tables are written into binary log,
      this sometimes broke replication.
      
      This patch changes behavior of 'CREATE TABLE [IF NOT EXISTS] ... SELECT ...'.
      it ignores existence of temporary table with the 
      same name as table being created and is interpreted
      as attempt to create/insert into base table. This makes behavior of
      'CREATE TABLE [IF NOT EXISTS] ... SELECT' consistent with
      how ordinary 'CREATE TABLE' and 'CREATE TABLE ... LIKE' behave.
      94343315
  10. 15 Jan, 2010 3 commits
    • Georgi Kodinov's avatar
      Bug #46175: NULL read_view and consistent read assertion · 45846ea9
      Georgi Kodinov authored
      The optimizer must not continue executing the current query
      if e.g. the storage engine reports an error.
      This is somewhat hard to implement with Item::val_xxx()
      because they do not have means to return error code.
      This is why we need to check the thread's error state after
      a call to one of the Item::val_xxx() methods.
      
      Fixed store_key_item::copy_inner() to return an error state 
      if an error happened during the call to Item::save_in_field() 
      because it calls Item::val_xxx().
      Also added similar checks to related places.
      45846ea9
    • Georgi Kodinov's avatar
      merge · 1091f4f9
      Georgi Kodinov authored
      1091f4f9
    • Georgi Kodinov's avatar
      merge of version change. · 545c8d50
      Georgi Kodinov authored
      Added not_embedded to the new dbug_sync test file.
      545c8d50
  11. 14 Jan, 2010 4 commits
    • Luis Soares's avatar
      Fix for BUG#49481 and BUG#49482. · 383c4e3a
      Luis Soares authored
      BUG#49481: RBR: MyISAM and bit fields may cause slave to stop on delete: 
      cant find record
            
      BUG#49482: RBR: Replication may break on deletes when MyISAM tables + 
      char field are used
      
      When using MyISAM tables, despite the fact that the null bit is
      set for some fields, their old value is still in the row. This
      can cause the comparison of records to fail when the slave is
      doing an index or range scan.
      
      We fix this by avoiding memcmp for MyISAM tables when comparing
      records. Additionally, when comparing field by field, we first
      check if both fields are not null and if so, then we compare
      them. If just one field is null we return failure immediately. If
      both fields are null, we move on to the next field.
      383c4e3a
    • Luis Soares's avatar
      BUG#50018: binlog corruption when table has many columns · b7ed1ee1
      Luis Soares authored
      Small fix in the test case. Changed the UNLOCK tables 
      to happen after each insert.
      b7ed1ee1
    • Luis Soares's avatar
    • Georgi Kodinov's avatar
      version change · 050da59c
      Georgi Kodinov authored
      050da59c
  12. 13 Jan, 2010 10 commits