1. 25 May, 2011 1 commit
  2. 11 May, 2011 3 commits
  3. 10 May, 2011 4 commits
  4. 09 May, 2011 5 commits
  5. 08 May, 2011 1 commit
  6. 07 May, 2011 1 commit
  7. 05 May, 2011 4 commits
  8. 04 May, 2011 8 commits
    • unknown's avatar
      MWL#89 · 8fe7d053
      unknown authored
      Adjusted test results after merge.
      8fe7d053
    • unknown's avatar
      MWL#89 · c9970a16
      unknown authored
      Merge with main 5.3
      c9970a16
    • Igor Babaev's avatar
      Fixed LP bug #751350. · 20c40696
      Igor Babaev authored
      The third parameter in the call of make_cond_for_table() that
      built the pushed condition containing only outer references
      was incorrect. This condition appeared for the first time in
      the patch fixing bug 729039.
        
      20c40696
    • unknown's avatar
      MWL#180: merge fixes from 5.2-rpl + forgot to adjust revision from which... · 0ff97457
      unknown authored
      MWL#180: merge fixes from 5.2-rpl + forgot to adjust revision from which checksums are supported when merging into 5.3-based tree.
      0ff97457
    • unknown's avatar
      MWL#180 Buildbot fixes: · 11768171
      unknown authored
       - Fix windows CMake build.
       - Merge some later test case fixes, to see if they solve the random rpl_checksum failure.
      11768171
    • unknown's avatar
      LP BUG#715759 · a3a72db7
      unknown authored
      Pushing test case only. The bug itself was fixed by the
      combined patches for LP BUG#717577 and LP BUG#776274.
      a3a72db7
    • unknown's avatar
      Automatic merge with 5.3 · a6817e80
      unknown authored
      a6817e80
    • Igor Babaev's avatar
      Fixed LP bug #776274, · 93058ecc
      Igor Babaev authored
      The bug was introduced by the patch that fixed bug 717577.
      93058ecc
  9. 03 May, 2011 2 commits
  10. 02 May, 2011 3 commits
  11. 30 Apr, 2011 4 commits
  12. 28 Apr, 2011 3 commits
    • Michael Widenius's avatar
      Added ALTER ONLINE TABLE, which will give an error if the change can't be done... · e89705ca
      Michael Widenius authored
      Added ALTER ONLINE TABLE, which will give an error if the change can't be done 'instantly' (without a table copy)
      
      
      mysql-test/r/alter_table_online.result:
        Test new feature
      mysql-test/t/alter_table_online.test:
        Test new feature
      sql/handler.cc:
        Added comment
      sql/lex.h:
        Added ONLINE keyword
      sql/mysql_priv.h:
        Added option to alter table to require online operation
      sql/share/errmsg.txt:
        Added error message if ONLINE can't be done
      sql/sql_lex.h:
        Added online option
      sql/sql_parse.cc:
        Added online option to mysql_alter_table()
      sql/sql_table.cc:
        Added test that gives error if table can't be done instantly when requsted to be online.
        Fixed wrong test if table includes a VARCHAR
        Fixed wrong (but unlikely) handling of error conditions in ALTER table
      sql/sql_yacc.yy:
        Added ALTER ONLINE TABLE syntax
      storage/maria/ha_maria.cc:
        Fixed bug where 'start_bulk_insert' used too small buffer if used with unknown number of rows
      e89705ca
    • Michael Widenius's avatar
      Added option "AND DISABLE CHECKPOINT" to "FLUSH TABLES WITH READ LOCK" · 138cbb87
      Michael Widenius authored
      This makes it possible to do safe multi volume snapshots as long as one snapshots the volume with the transaction logs last.
      
      
      include/mysql_com.h:
        Added REFRESH_CHECKPOINT
      mysql-test/r/flush.result:
        Added test of new FLUSH TABLES syntax + calls to checkpoint_status handler calls
      mysql-test/t/flush.test:
        Added test of new FLUSH TABLES syntax + calls to checkpoint_status handler calls
      sql/handler.cc:
        Added code to call checkpoint_state for all handlertons that supports it
      sql/handler.h:
        Added new checkpoint_state() handlerton call to temporarly disable checkpoints.
      sql/lex.h:
        Added CHECKPOINT keyword
      sql/sql_yacc.yy:
        Added support for FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT
      storage/maria/ha_maria.cc:
        Added handlerton call to disable checkpoints.
      storage/maria/ma_checkpoint.c:
        Don't do checkpoint if checkpoints are disabled.
      storage/maria/ma_static.c:
        Added maria_checkpoint_disabled
      storage/maria/maria_def.h:
        Added maria_checkpoint_disabled
      storage/xtradb/handler/ha_innodb.cc:
        Added handlerton call to disable checkpoints.
      storage/xtradb/include/log0log.h:
        Added option to log_checkpoint() to allow one to ignore not critical checkpoints during the time checkpoints are disabled.
      storage/xtradb/log/log0log.c:
        Added code to allow one to disable checkpoints during a FLUSH TABLES ... DISABLE CHECKPOINT
        This was done by adding a new argument to log_checkpoint() which tells us when the checkpoint is called by srv_master_thread (which are safe to ignore)
      storage/xtradb/srv/srv0srv.c:
        Tell log_checkpoint() that checkpoints from srv_master_thread() are safe to ignore (will just delay recovery time a bit).
      138cbb87
    • unknown's avatar
      Fix LP BUG#718593 · 32bfdefe
      unknown authored
      Analysis:
      Build_equal_items_for_cond() rewrites the WHERE clause in such a way,
      that it may merge the list join->cond_equal->current_level with the
      list of child Items in an AND condition of the WHERE clause.
      
      The place where this is done is:
      static COND *build_equal_items_for_cond(THD *thd, COND *cond,
                                              COND_EQUAL *inherited)
      {
        ...
            if (and_level)
          {
            args->concat(&eq_list);
            args->concat((List<Item> *)&cond_equal.current_level);
          }
        ...
      }
      
      As a result, later transformations on the WHERE clause may change the
      structure of the list join->cond_equal->current_level without knowing this.
      
      Specifically in this bug, Item_in_subselect::inject_in_to_exists_cond
      creates a new AND of the old WHERE clause and the IN->EXISTS conditions.
      It then calls fix_fields() for the new AND. Among other things, fix_fields
      flattens all nested ANDs into one by merging the AND argument lists.
      
      When there is a cond_equal for the JOIN, its list of Item_equal objects
      is attached to the end of the original AND. When a lower-level AND is
      merged into the top-level one, the argument list of the lower-level AND
      is concatenated to the list of multiple equalities in the upper-level AND.
      
      As a result, when substitute_for_best_equal_field processes the 
      multiple equalities, it turns out that the multiple equality list contains
      the Items from the lower-level AND which were concatenated to the end of
      the join->cond_equal->current_level list. This results in a crash because
      this list must not contain any other Items except for the previously found
      Item_equal ones.
      
      Solution:
      When performing IN->EXIST predicate injection, and the where clause is an
      AND, detach the list of Item_equal objects before calling fix_fields on
      the injected where clause.
      
      After fix_fields is done, reattach back the multiple equalities list to
      the end of the argument list of the new AND.
      32bfdefe
  13. 27 Apr, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #754521. · ad250abc
      Igor Babaev authored
      The function test_quick_select by mistake did not update the value
      of table->quick_condition_rows for index intersection scans though
      the specification explicitly required to do so from any table access
      plan once the plan provided a better upper bound for the number of
      rows selected from the table. It resulted in a bogus, usually very
      big number saved as the cost of the table access. This, in its turn,
      in many cases forced the optimizer to make a bad choice of the
      execution plan for join queries.
      ad250abc