1. 07 Nov, 2011 1 commit
  2. 06 Nov, 2011 2 commits
    • Igor Babaev's avatar
      Merge. · e0500dbc
      Igor Babaev authored
      e0500dbc
    • Igor Babaev's avatar
      Fixed LP bug #886145. · e0c1b3f2
      Igor Babaev authored
      The bug happened because in some cases the function JOIN::exec
      did not save the value of TABLE::pre_idx_push_select_cond in
      TABLE::select->pre_idx_push_select_cond for the sort table.
      
      Noticed and fixed a bug in the function make_cond_remainder
      that builds the remainder condition after extraction of an index
      pushdown condition from the where condition. The code
      erroneously assumed that the function make_cond_for_table left
      the value of ICP_COND_USES_INDEX_ONLY in sub-condition markers.
      Adjusted many result files from the regression test suite
      after this fix .
      e0c1b3f2
  3. 04 Nov, 2011 3 commits
  4. 03 Nov, 2011 2 commits
  5. 02 Nov, 2011 10 commits
  6. 01 Nov, 2011 5 commits
    • unknown's avatar
      Fix bug lp:833702 · 64986873
      unknown authored
      Analysis:
      Equality propagation propagated the constant '7' into
      args[0] of the Item_in_optimizer that stands for the
      "< ANY" predicate. At the same the min/max subquery
      rewrite swapped the order of the left and right operands
      of the "<" predicate, but used Item_in_subselect::left_expr.
      
      As a result, when the <ANY predicate is executed early in the
      execution phase as a contant condition, instead of a constant
      right (swapped) argument of the < predicate, there was a field
      (t3.a). This field had no data, since the whole predicate is
      considered constant, and it is evaluated before any tables are
      read. Having junk in the field row buffer produced wrong result
      
      Solution:
      Fix create_swap to pick the correct Item_in_optimizer left
      argument.
      64986873
    • unknown's avatar
      Fix of LP BUG#872775. · b40bc2b3
      unknown authored
      The problem was that merged views has its own nest_level numbering =>
      when we compare nest levels we should take into considiration basis (i.e. 0 level),
      if it is different then nest levels are not comparable.
      b40bc2b3
    • Igor Babaev's avatar
      Backported the fix and the test case for bug 12822678 from the mysql-5.6 code line. · a70f7aa5
      Igor Babaev authored
      Fixed a bug in select_describe.
      Adjusted results for affected test cases.
      a70f7aa5
    • unknown's avatar
      Fix of typo. · 9c5644e6
      unknown authored
      9c5644e6
    • Sergey Petrunya's avatar
      BUG#884631: Table elimination works 5.3 release builds even if turned off · acb2d4aa
      Sergey Petrunya authored
      - Make table elimination to actually switch itself on/off in release builds.
      acb2d4aa
  7. 31 Oct, 2011 3 commits
  8. 30 Oct, 2011 4 commits
  9. 29 Oct, 2011 1 commit
  10. 28 Oct, 2011 4 commits
  11. 27 Oct, 2011 4 commits
  12. 26 Oct, 2011 1 commit
    • Michael Widenius's avatar
      Fixed lp:879939 "assertion in ha_maria::enable_indexes with derived_with_keys=on" · fa36a742
      Michael Widenius authored
      Honor unique/not unique when creating keys for internal tempory tables.
      Added new variables to be used to limit how keys are created for internal temporary tables.
      
      
      include/maria.h:
        Added maria_max_key_length() and maria_max_key_segments()
      include/myisam.h:
        Added myisam_max_key_length() and myisam_max_key_segments()
      mysql-test/r/mysql.result:
        Drop all used tables
      mysql-test/r/subselect4.result:
        Added test case for lp:879939
      mysql-test/t/mysql.test:
        Drop all used tables
      mysql-test/t/subselect4.test:
        Added test case for lp:879939
      sql/mysql_priv.h:
        Added internal_tmp_table_max_key_length and internal_tmp_table_max_key_segments to be used to limit how keys for derived tables are created.
      sql/mysqld.cc:
        Added internal_tmp_table_max_key_length and internal_tmp_table_max_key_segments to be used to limit how keys for derived tables are created.
      sql/share/errmsg.txt:
        Added new error message for internal errors
      sql/sql_select.cc:
        Give error if we try to create a wrong key (this error should never happen)
        Honor unique/not unique when creating keys for internal tempory tables.
      storage/maria/ha_maria.cc:
        Added change_table_ptr() to ensure that external_ref points always to the correct table.
        (Not having this caused an assert in the included test)
      storage/maria/ha_maria.h:
        Added change_table_ptr() to ensure that external_ref points always to the correct table.
      storage/maria/ma_check.c:
        Fixed bug in Duplicate key error printing (now row position is printed correctly)
      storage/maria/ma_create.c:
        maria_max_key_length() -> _ma_max_key_length()
      storage/maria/ma_info.c:
        Added extern function maria_max_key_length() to calculate the max key length based on current block size.
      storage/maria/ma_open.c:
        maria_max_key_length() -> _ma_max_key_length()
      storage/maria/maria_def.h:
        maria_max_key_length() -> _ma_max_key_length()
      storage/myisam/ha_myisam.cc:
        Added change_table_ptr() to ensure that external_ref points always to the correct table.
        (Not having this caused an assert in the included test)
      storage/myisam/ha_myisam.h:
        Added change_table_ptr() to ensure that external_ref points always to the correct table.
      fa36a742