1. 04 Jun, 2012 2 commits
    • Sergei Golubchik's avatar
      MDEV-136 Non-blocking "set read_only" · 62050799
      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.
      62050799
    • Sergei Golubchik's avatar
      merge with 5.3. · 72c63646
      Sergei Golubchik authored
      Take only test cases from MDEV-136 Non-blocking "set read_only"
      72c63646
  2. 02 Jun, 2012 1 commit
  3. 01 Jun, 2012 2 commits
  4. 30 May, 2012 3 commits
  5. 29 May, 2012 3 commits
    • Sergei Golubchik's avatar
      RPM packages should not obsolete themselves. · 48006d04
      Sergei Golubchik authored
      Otherwise yum on fedora will not install them
      (rpm will, yum on centos and rhel will).
      48006d04
    • Sergei Golubchik's avatar
      MDEV-293 5.5 RPMs for RHEL6/CentOS6 · 9452716e
      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.
      9452716e
    • Alexey Botchkov's avatar
      MDEV-294 SELECT WHERE ST_CONTAINS doesn't return all the records where ST_CONTAINS() is 1. · 528e8cc6
      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.
      528e8cc6
  6. 26 May, 2012 1 commit
  7. 25 May, 2012 4 commits
  8. 24 May, 2012 1 commit
  9. 23 May, 2012 4 commits
  10. 22 May, 2012 2 commits
    • unknown's avatar
      Fix bug lp:1002079 · acdcb6a5
      unknown authored
        
        Analysis:
        The optimizer detects an empty result through constant table optimization.
        Then it calls return_zero_rows(), which in turns calls inderctly
        Item_maxmin_subselect::no_rows_in_result(). The latter method set "value=0",
        however "value" is pointer to Item_cache, and not just an integer value.
        
        All of the Item_[maxmin | singlerow]_subselect::val_XXX methods does:
          if (forced_const)
            return value->val_real();
        which of course crashes when value is a NULL pointer.
        
        Solution:
        When the optimizer discovers an empty result set, set
        Item_singlerow_subselect::value to a FALSE constant Item instead of NULL.
      acdcb6a5
    • Sergei Golubchik's avatar
      Building RPMs with CPack · dda27133
      Sergei Golubchik authored
      configure with cmake -DRPM=distro
      dda27133
  11. 21 May, 2012 1 commit
    • Alexey Botchkov's avatar
      MDEV-136 Non-blocking "set read_only". · fb25c89e
      Alexey Botchkov authored
          Handle the 'set read_only=1' in lighter way, than the FLUSH TABLES READ LOCK;
          For the transactional engines we don't wait for operations on that tables to finish.
      
      per-file comments:
       mysql-test/r/read_only_innodb.result
      MDEV-136 Non-blocking "set read_only".
             test result updated.
       mysql-test/t/read_only_innodb.test
      MDEV-136 Non-blocking "set read_only".
             test case added.
        sql/mysql_priv.h
      MDEV-136 Non-blocking "set read_only".
              The close_cached_tables_set_readonly() declared.
        sql/set_var.cc
      MDEV-136 Non-blocking "set read_only".
               Call close_cached_tables_set_readonly() for the read_only::set_var.
         sql/sql_base.cc
       MDEV-136 Non-blocking "set read_only".
               Parameters added to the close_cached_tables implementation,
               close_cached_tables_set_readonly declared.
               Prevent blocking on the transactional tables if the
               set_readonly_mode is on.
      fb25c89e
  12. 20 May, 2012 1 commit
  13. 18 May, 2012 4 commits
  14. 17 May, 2012 3 commits
  15. 15 May, 2012 1 commit
    • unknown's avatar
      Fix for LP bug#998516 · 17e199af
      unknown authored
      If we did nothing in resolving unique table conflict we should not retry (it leed to infinite loop).
      Now we retry (recheck) unique table check only in case if we materialized a table.
      17e199af
  16. 13 May, 2012 1 commit
    • Sergey Petrunya's avatar
      BUG#998236: Assertion failure or valgrind errors at best_access_path ... · 05a0d97e
      Sergey Petrunya authored
      - Let fix_semijoin_strategies_for_picked_join_order() set 
        POSITION::prefix_record_count for POSITION records that it copies from
        SJ_MATERIALIZATION_INFO::tables. 
        (These records do not have prefix_record_count set, because they are optimized
         as joins-inside-semijoin-nests, without full advance_sj_state() processing).  
       
      05a0d97e
  17. 12 May, 2012 3 commits
  18. 11 May, 2012 2 commits
  19. 21 May, 2012 1 commit