1. 01 Oct, 2011 2 commits
  2. 21 Sep, 2011 1 commit
  3. 20 Sep, 2011 2 commits
  4. 17 Sep, 2011 2 commits
    • Sergey Petrunya's avatar
      Merge · 4bcd5baa
      Sergey Petrunya authored
      4bcd5baa
    • Sergey Petrunya's avatar
      BUG##849717: Crash in Item_func::fix_fields on second execution of a prepared... · 27cd8d7b
      Sergey Petrunya authored
      BUG##849717: Crash in Item_func::fix_fields on second execution of a prepared statement with semijoin
      - If convert_join_subqueries_to_semijoins() decides to wrap Item_in_subselect in Item_in_optimizer, 
        it should do so in prep_on_expr/prep_where, too, as long as they are present.
        There seems to be two possibilities of how we arrive in this function:
        - prep_on_expr/prep_where==NULL, and will be set later by simplify_joins()
        - prep_on_expr/prep_where!=NULL, and it is a copy_and_or_structure()-made copy of on_expr/where.
        the latter can happen for some (but not all!) nested joins. This bug was that we didn't handle this case.
      27cd8d7b
  5. 16 Sep, 2011 3 commits
  6. 15 Sep, 2011 4 commits
  7. 14 Sep, 2011 2 commits
  8. 13 Sep, 2011 2 commits
    • Sergey Petrunya's avatar
      BUG#730133: Wrong result with jkl = 7, BKA, ICP in maria-5.3 + compound index · 5ebff8ab
      Sergey Petrunya authored
      - Mrr_ordered_index_reader::interrupt_read() and resume_read() should 
        save/restore not just index lookup tuple, but entire index tuple.
        Key parts that are not used for index lookup can be still used in
        pushed index condition. Failure to save/restore will cause the index
        condition to be evaluated over the wrong values.
      5ebff8ab
    • Michael Widenius's avatar
      Increased version number · 4139bba2
      Michael Widenius authored
      Give proper error to client on shutdown.
      
      configure.in:
        Increased version number
      mysql-test/mysql-test-run.pl:
        Ignore errors that one can get while running with --mysqld=--log-warnings=2
      mysql-test/r/variables.result:
        Remember original value of log_warnings
      mysql-test/suite/rpl/r/rpl_idempotency.result:
        Ignore errors that one can get while running with --mysqld=--log-warnings=2
      mysql-test/suite/rpl/t/rpl_idempotency.test:
        Ignore errors that one can get while running with --mysqld=--log-warnings=2
      mysql-test/t/variables.test:
        Remember original value of log_warnings
      sql/mysqld.cc:
        Give proper error to close_connection() on shutdown
      storage/maria/ha_maria.cc:
        Added missing DBUG_RETURN
      4139bba2
  9. 10 Sep, 2011 2 commits
  10. 09 Sep, 2011 1 commit
    • Michael Widenius's avatar
      Fixed that automatic killing of delayed insert thread (in flush, alter table... · 8fb10c24
      Michael Widenius authored
      Fixed that automatic killing of delayed insert thread (in flush, alter table etc) will not abort auto-repair of MyISAM table.
      Give more information when finding an error in a MyISAM table.
      When killing system thread, use KILL_SYSTEM_THREAD instead of KILL_CONNECTION to make it easier to ignore the signal in sensitive context (like auto-repair)
      Added new kill level: KILL_SERVER that will in the future to be used to signal killed by shutdown.
      Add more warnings about killed connections when warning level > 3
      
      include/myisamchk.h:
        Added counting of printed info/notes
      mysys/mf_iocache.c:
        Remove duplicate assignment
      sql/handler.cc:
        Added test of KILL_SERVER
      sql/log.cc:
        Ignore new 'kill' error ER_NEW_ABORTING_CONNECTION when requesting query error code.
      sql/mysqld.cc:
        Add more warnings for killed connections when warning level > 3
      sql/scheduler.cc:
        Added checks for new kill signals
      sql/slave.cc:
        Ignore new kill signal ER_NEW_ABORTING_CONNECTION
      sql/sp_head.cc:
        Fixed assignment to bool
        Added testing of new kill signals
      sql/sql_base.cc:
        Use KILL_SYSTEM_THREAD to auto-kill system threads
      sql/sql_class.cc:
        Add more warnings for killed connections when warning level > 3
        thd_killed() now ignores KILL_BAD_DATA and THD::KILL_SYSTEM_THREAD as these should not abort sensitive operations.
      sql/sql_class.h:
        Added KILL_SYSTEM_THREAD and KILL_SERVER
      sql/sql_connect.cc:
        Added handling of KILL_SERVER
      sql/sql_insert.cc:
        Use KILL_SYSTEM_THREAD to auto-kill system threads
        Added handling of KILL_SERVER
      sql/sql_parse.cc:
        Add more warnings for killed connections when warning level > 3
        Added checking that thd->abort_on_warning is reset at end of query.
      sql/sql_show.cc:
        Update condition for when a query is 'killed'
      storage/myisam/ha_myisam.cc:
        Added counting of info/notes printed
      storage/myisam/mi_check.c:
        Always print an an error if we find data errors when checking/repairing a MyISAM table.
        When a repair was killed, don't retry repair.
        Added assert if sort_get_next_record() returned an error without an error message.
        Removed nonsence check "if (sort_param->read_cache.error < 0)" in repair.
      storage/myisam/myisamchk.c:
        Added counting of notes printed
      storage/pbxt/src/thread_xt.cc:
        Better error message.
      8fb10c24
  11. 08 Sep, 2011 5 commits
    • Sergey Petrunya's avatar
      BUG#833600: Wrong result with view + outer join + uncorrelated subquery (non-semijoin) · 3769841d
      Sergey Petrunya authored
      - The bug was caused by outer join being incorrectly converted into inner because of 
        invalid return values of Item_direct_view_ref::not_null_tables().
      - Provided a correct Item_direct_view_ref::not_null_tables() function.
      3769841d
    • Sergey Petrunya's avatar
      Automerge. · 19a4309a
      Sergey Petrunya authored
      19a4309a
    • Igor Babaev's avatar
      Merge. · 5746b968
      Igor Babaev authored
      5746b968
    • Sergey Petrunya's avatar
      BUG#830993: Crash in end_read_record with derived table · 5673aa41
      Sergey Petrunya authored
      - Let join buffering code correctly take into account rowids needed 
        by DuplicateElimination when it is calculating minimum record sizes.
      - In JOIN_CACHE::write_record_data, added asserts that prevent us from 
        writing beyond the end of the buffer.
      5673aa41
    • unknown's avatar
      LP BUG#813418 fix. · b80641b3
      unknown authored
      The problem was that optimization code did not take into account later feature when instad of NOT before BETWEEN it has negated flag into the Item_func_between inherited from Item_func_neg_opt. So optimizer tried process NOT BETWEEN as BETWEEN.
      
      The patch just switches off the optimisation for NOT BETWEEN as it was before when NOT function was really used.
      b80641b3
  12. 07 Sep, 2011 1 commit
  13. 06 Sep, 2011 5 commits
    • Sergey Petrunya's avatar
      Merge · ee66fbb4
      Sergey Petrunya authored
      ee66fbb4
    • Sergey Petrunya's avatar
      Fix typo bug · 528598c4
      Sergey Petrunya authored
      528598c4
    • Igor Babaev's avatar
      Merge. · 1cd36276
      Igor Babaev authored
      1cd36276
    • Igor Babaev's avatar
      Fixed LP bug #838633. · da59130e
      Igor Babaev authored
      For any query JOIN::optimize() should call the method
      SELECT::save_leaf_tables after the last transformation
      that utilizes the statement memory rather than the 
      execution memory.
        
      da59130e
    • Sergey Petrunya's avatar
      BUG#823930: Wrong result with semijoin materialization and blob fields · fc6b6435
      Sergey Petrunya authored
      - Make subquery_types_allow_materialization() detect a case where 
        create_tmp_table() would create a blob column which would make it 
        impossible to use materialization
        Non-semi-join materialization worked because it detected that this case
        and felt back to use IN->EXISTS. Semi-join Materialization cannot easily
        fallback, so we have to detect this case early.
      fc6b6435
  14. 05 Sep, 2011 6 commits
  15. 04 Sep, 2011 1 commit
    • Sergey Petrunya's avatar
      BUG#836532: Crash in Item_equal_fields_iterator::get_curr_field with semijoin+materialization · 55cde3b4
      Sergey Petrunya authored
      - Item_in_subselect::inject_in_to_exists_cond() should not call 
        ((Item_cond*)join->conds)->argument_list()->concat(join->cond_equal->current_level)
        as that makes two lists share their tail, and the cond_equal list
        will end up containing non-Item_equal objects when substitute_for_best_equal_field()
        walks through join->conds and replaces all Item_equal objects with Item_func_eq objects.
        - So, instead of using List::concat(), manually copy entries from one list to another.
       
      55cde3b4
  16. 03 Sep, 2011 1 commit