1. 19 Jun, 2012 1 commit
  2. 14 Jun, 2012 1 commit
  3. 10 Jun, 2012 3 commits
  4. 08 Jun, 2012 3 commits
  5. 07 Jun, 2012 5 commits
  6. 06 Jun, 2012 2 commits
  7. 05 Jun, 2012 1 commit
    • unknown's avatar
      Fixed bug lp:1000649 · f1ab0089
      unknown authored
      Analysis:
      
      When the method JOIN::choose_subquery_plan() decided to apply
      the IN-TO-EXISTS strategy, it set the unit and select_lex
      uncacheable flag to UNCACHEABLE_DEPENDENT_INJECTED unconditionally.
      As result, even if IN-TO-EXISTS injected non-correlated predicates,
      the subquery was still treated as correlated.
      
      Solution:
      Set the subquery as correlated only if the injected predicate(s) depend
      on the outer query.
      f1ab0089
  8. 04 Jun, 2012 7 commits
    • Sergei Golubchik's avatar
      MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == len · 265d5aaa
      Sergei Golubchik authored
      remove the offending assert.
      take the test case from mysql Bug#58015
      265d5aaa
    • Sergey Petrunya's avatar
      MDEV-299: SHOW EXPLAIN: Plan produced by SHOW EXPLAIN changes back and forth during query execution · 9a7b3bf4
      Sergey Petrunya authored
      - Make SHOW EXPLAIN ignore range accesses when printing "Range checked for each record" plans.
      9a7b3bf4
    • Sergey Petrunya's avatar
      13e98578
    • Sergey Petrunya's avatar
      MDEV-305: SHOW EXPLAIN: ref returned by SHOW EXPLAIN is different from the... · a8b2e831
      Sergey Petrunya authored
      MDEV-305: SHOW EXPLAIN: ref returned by SHOW EXPLAIN is different from the normal EXPLAIN ('const' vs empty string)
      - The problem was that create_ref_for_key() would act differently, depending on 
        whether we're running EXPLAIN or the actual query.
      - As the first step, fixed the EXPLAIN printout not to depend on actions in create_ref_for_key().
      a8b2e831
    • Sergei Golubchik's avatar
      MDEV-136 Non-blocking "set read_only" · 4361c864
      Sergei Golubchik authored
      backport dmitry.shulga@oracle.com-20120209125742-w7hdxv0103ymb8ko from mysql-trunk:
      
        Patch for bug#11764747 (formerly known as 57612): SET GLOBAL READ_ONLY=1 cannot
        progress when a table is locked with LOCK TABLES.
        
        The reason for the bug was that mysql server makes a flush of all open tables
        during handling of statement 'SET GLOBAL READ_ONLY=1'. Therefore if some of
        these tables were locked by "LOCK TABLE ... READ" from a different connection,
        then execution of statement 'SET GLOBAL READ_ONLY=1' would be waiting for
        the lock for such table even if the table was locked in a compatible read mode.
        
        Flushing of all open tables before setting of read_only system variable
        is inherited from 5.1 implementation since this was the only possible approach
        to ensure that there isn't any pending write operations on open tables.
        
        Start from version 5.5 and above such behaviour is guaranteed by the fact
        that we acquire global_read_lock before setting read_only flag. Since
        acquiring of global_read_lock is successful only when there isn't any 
        active write operation then we can remove flushing of open tables from
        processing of SET GLOBAL READ_ONLY=1.
        
        This modification changes the server behavior so that read locks held
        by other connections (LOCK TABLE ... READ) no longer will block attempts
        to enable read_only.
      4361c864
    • Sergei Golubchik's avatar
      merge with 5.3. · 3e3606d2
      Sergei Golubchik authored
      Take only test cases from MDEV-136 Non-blocking "set read_only"
      3e3606d2
    • unknown's avatar
      Fix bug lp:1008487 · ca5473f1
      unknown authored
      Analysis:
      The crash is a result of Item_cache_temporal::example not being set
      (it is NULL). It turns out that the value of Item_cache_temporal
      may be set directly by calling Item_cache_temporal::store_packed
      without ever setting the "example" of this Item_cache. Therefore
      the failing assertion is too narrow.
      
      Solution:
      Remove the assert.
      In principle we could overwrite this method for Item_cache_temporal,
      but it doesn't make sense just for this assert.
      ca5473f1
  9. 02 Jun, 2012 1 commit
  10. 01 Jun, 2012 2 commits
  11. 30 May, 2012 3 commits
  12. 29 May, 2012 3 commits
    • Sergei Golubchik's avatar
      RPM packages should not obsolete themselves. · 32addeaf
      Sergei Golubchik authored
      Otherwise yum on fedora will not install them
      (rpm will, yum on centos and rhel will).
      32addeaf
    • Sergei Golubchik's avatar
      MDEV-293 5.5 RPMs for RHEL6/CentOS6 · 6cfb62b7
      Sergei Golubchik authored
      Build MariaDB-compat rpm by repackaging files from MariaDB-shared-5.3.*.rpm
      Or RHEL6/CentOS6 make all other MariaDB rpms depend on MariaDB-compat.
      6cfb62b7
    • Alexey Botchkov's avatar
      MDEV-294 SELECT WHERE ST_CONTAINS doesn't return all the records where ST_CONTAINS() is 1. · 662c51ba
      Alexey Botchkov authored
              Optimizator fails using index with ST_Within(g, constant_poly).
      
      per-file comments:
        mysql-test/r/gis-rt-precise.result
              test result fixed.
        mysql-test/r/gis-rtree.result
              test result fixed.
        mysql-test/suite/maria/r/maria-gis-rtree-dynamic.result
              test result fixed.
        mysql-test/suite/maria/r/maria-gis-rtree-trans.result
              test result fixed.
        mysql-test/suite/maria/r/maria-gis-rtree.result
              test result fixed.
        storage/maria/ma_rt_index.c
              Use MBR_INTERSECT mode when optimizing the select WITH ST_Within.
        storage/myisam/rt_index.c
              Use MBR_INTERSECT mode when optimizing the select WITH ST_Within.
      662c51ba
  13. 26 May, 2012 1 commit
  14. 25 May, 2012 4 commits
  15. 24 May, 2012 2 commits
    • Sergey Petrunya's avatar
      BUG#1002630: Valgrind warnings 'Invalid read' in subselect_engine::calc_const_tables with SELECT · 5b73a17b
      Sergey Petrunya authored
      - In JOIN::exec(), make the having->update_used_tables() call before we've
        made the JOIN::cleanup(full=true) call. The latter frees SJ-Materialization
        structures, which correlated subquery predicate items attempt to walk afterwards.
      5b73a17b
    • Sergey Petrunya's avatar
      MDEV-275: SHOW EXPLAIN: server crashes in JOIN::print_explain with IN subquery... · 6f199f7c
      Sergey Petrunya authored
      MDEV-275: SHOW EXPLAIN: server crashes in JOIN::print_explain with IN subquery and aggregate function
      - Don't try to produce plans after JOIN::cleanup() has been called, because:
         = JOIN::cleanup leaves data structures in partially-cleaned state
         = Walking them is hazardous (see this bug), and has funny effects
           (See previous commits, "Using join cache" may or may not be shown)
         = Changing data structures to be persisted may cause unwanted side effects
      - The consequence is that SHOW EXPLAIN will show "Query plan already deleted" when e.g. 
        reading data after filesort.
      6f199f7c
  16. 23 May, 2012 1 commit