1. 15 Jun, 2012 2 commits
    • Michael Widenius's avatar
      Fix for: lp:1013432 and MySQL#64800: · 3312e2f6
      Michael Widenius authored
      mysqldump with --include-master-host-port putting quotes around port number
      Patch from Stewart Smith
      
      client/mysqldump.c:
        Remove quotes from MASTER_PORT
      3312e2f6
    • Michael Widenius's avatar
      Fixed MDEV-306 / LP:1007967 - Assertion `table->file->stats.records > 0 ||... · 4524db23
      Michael Widenius authored
      Fixed MDEV-306 / LP:1007967 - Assertion `table->file->stats.records > 0 || error' failed join_read_const_table on concurrent SELECT and DROP/ADD INDEX
      
      
      sql/sql_table.cc:
        Added comment
      storage/maria/ma_close.c:
        Don't store history if it's visible to all.
        This fixed the MDEV-306 bug
      storage/maria/ma_delete_table.c:
        Removed old comment
        Delete history state for deleted tables
      storage/maria/ma_info.c:
        More DBUG_PRINT
      storage/maria/ma_open.c:
        More DBUG_PRINT
      4524db23
  2. 13 Jun, 2012 2 commits
  3. 10 Jun, 2012 3 commits
  4. 09 Jun, 2012 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #1010729. · f1254ba1
      Igor Babaev authored
      The bug prevented acceptance of UNION queries whose non-first select 
      clauses contained join expressions with degenerated single-table nests
      as valid queries.
      The bug was introduced into mysql-5.5 code line by the patch for
      bug 33204.
      f1254ba1
  5. 08 Jun, 2012 4 commits
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Changed last_insert_id() to be unsigned. · a2d81fba
      Michael Widenius authored
      Fixed MDEV-331: last_insert_id() returns a signed number
      
      mysql-test/r/auto_increment.result:
        Added test case
      mysql-test/t/auto_increment.test:
        Added test case
      sql/item_func.h:
        Changed last_insert_id() to be unsigned.
      a2d81fba
    • Vladislav Vaintroub's avatar
      LP1008334 : Speedup specific datetime queries that got slower with... · ce7a3b43
      Vladislav Vaintroub authored
      LP1008334 : Speedup specific datetime queries that got slower with introduction of microseconds in 5.3
      
      - Item::get_seconds() now skips decimal arithmetic, if decimals is 0. This significantly speeds up from_unixtime() if no fractional part is passed.
      - replace sprintfs used to format temporal values  by hand-coded formatting 
        
      Query1 (original query in the bug report)
      BENCHMARK(10000000,DATE_SUB(FROM_UNIXTIME(RAND() * 2147483648), INTERVAL (FLOOR(1 + RAND() * 365)) DAY)) 
        
      Query2 (Variation of query1 that does not use fractional part in FROM_UNIXTIME parameter)
      BENCHMARK(10000000,DATE_SUB(FROM_UNIXTIME(FLOOR(RAND() * 2147483648)), INTERVAL (FLOOR(1 + RAND() * 365)) DAY)) 
        
      Prior to the patch, the runtimes were (32 bit compilation/AMD machine)
      Query1: 41.53 sec 
      Query2: 23.90 sec
        
      With the patch, the runtimes are
      Query1: 32.32 sec (speed up due to removing sprintf)
      Query2: 12.06 sec (speed up due to skipping decimal arithmetic)
      ce7a3b43
    • unknown's avatar
      MDEV-329: MariaDB 5.5 does not use fdatasync(). · 134b56dc
      unknown authored
      The --debug-no-sync incorrectly defaulted to ON, disabling sync calls
      by default which can loose data or cause corruption. Also, the code
      used fsync() instead of the sometimes more efficient fdatasync().
      134b56dc
  6. 06 Jun, 2012 3 commits
  7. 05 Jun, 2012 1 commit
    • unknown's avatar
      Fixed bug lp:1000649 · 6530c847
      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.
      6530c847
  8. 04 Jun, 2012 4 commits
    • Sergei Golubchik's avatar
      MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == len · 8e8da4b5
      Sergei Golubchik authored
      remove the offending assert.
      take the test case from mysql Bug#58015
      8e8da4b5
    • 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
    • unknown's avatar
      Fix bug lp:1008487 · 72662e65
      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.
      72662e65
  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. · 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
  13. 26 May, 2012 1 commit
  14. 25 May, 2012 4 commits
  15. 24 May, 2012 1 commit
  16. 23 May, 2012 4 commits
  17. 22 May, 2012 1 commit
    • 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