1. 13 Dec, 2011 1 commit
  2. 12 Dec, 2011 2 commits
    • Sergei Golubchik's avatar
      after merge changes: · 4ae652e5
      Sergei Golubchik authored
      * rename all debugging related command-line options
        and variables to start from "debug-", and made them all
        OFF by default.
      * replace "MySQL" with "MariaDB" in error messages
      * "Cast ... converted ... integer to it's ... complement"
        is now a note, not a warning
      * @@query_cache_strip_comments now has a session scope,
        not global.
      4ae652e5
    • Sergei Golubchik's avatar
      move safemalloc out of dbug. · a0b796d4
      Sergei Golubchik authored
      remeber a real backtrace for every allocation.
      make safemalloc to tract C++ new/delete too.
      collateral fixes to make the test suite pass.
      a0b796d4
  3. 11 Dec, 2011 1 commit
  4. 02 Dec, 2011 1 commit
  5. 08 Dec, 2011 1 commit
  6. 05 Dec, 2011 1 commit
  7. 02 Dec, 2011 4 commits
  8. 29 Nov, 2011 2 commits
  9. 28 Nov, 2011 6 commits
  10. 27 Nov, 2011 3 commits
    • Sergei Golubchik's avatar
      merged · 22aac874
      Sergei Golubchik authored
      22aac874
    • Sergei Golubchik's avatar
      compilation fixes · ff71b82d
      Sergei Golubchik authored
      cmake/maintainer.cmake:
        don't do -Werror just yet
      config.h.cmake:
        according to MSDN PSAPI_VERSION should be 1 in a portable application
      mysys/my_thr_init.c:
        first, reset THR_KEY_mysys, and then free dbug data,
        because dbug data are automacially created on the next dbug call,
        unless THR_KEY_mysys is null.
      ff71b82d
    • Sergei Golubchik's avatar
      5.3->5.5 merge · 7d3b603b
      Sergei Golubchik authored
      7d3b603b
  11. 26 Nov, 2011 2 commits
    • Vladislav Vaintroub's avatar
    • Vladislav Vaintroub's avatar
      Fix build and packaging on Windows: · 6df1d671
      Vladislav Vaintroub authored
      - build executables we have in 5.3 (mysql_install_db.exe, mysq_upgrade_service.exe, upgrade wizard), and MSI
      
      - add some missing headers to windows specific source files. 
      This needs to be done since 5.5 is using WIN32_LEAN_AND_MEAN preprocessor constant thus windows.h 
      no more includes whiole Windows
      
      - do not deliver perl scripts  (mysql_install_db.pl & friends)  -they do not work, are not documented, and we 
      have native executables for this functionality. do not pack echo.exe, replace.exe  into MSI, they 
      are not needed. Do not build resolveip on Windows, it is not used.
      
      - precache results of  of system checks in cmake/os/WindowsCache.cmake (like it is alreay done for  majority of tests
      to speed up cmake run with VS)
      
      - make feedback plugin DEFAULT on Windows (so MSI works if user enables plugin), 
      fix null pointer access in PSI_register
      6df1d671
  12. 25 Nov, 2011 1 commit
    • Vladislav Vaintroub's avatar
      Avoid mysqld dependency on libaio.so by linking xtradb statically to libaio. · 7da1887c
      Vladislav Vaintroub authored
      A variable XTRADB_PREFER_STATIC_LIBAIO should be set to 1 (or TRUE
       or ON) for static linking.
      
      Even if mysqld can avoid dependency on shared libaio, shared libraries 
      libmysqld.so or ha_innodb.so cannot link without it.
      
      Given that the patch primarily addresses building tar.gz package, and 
      shared libraries mentioned above deemed less important than mysqld
      executable, we accept shared lib dependency on libaio.so
      7da1887c
  13. 23 Nov, 2011 3 commits
  14. 22 Nov, 2011 6 commits
  15. 21 Nov, 2011 6 commits
    • unknown's avatar
      Correct test file. · ecdc8e3d
      unknown authored
      ecdc8e3d
    • unknown's avatar
      Fix test to pass on 32-bit machines by reducing · 1d9aae58
      unknown authored
      the depth of subquery nestedness to less than 31
      (sizeof(ulong)-1).
      1d9aae58
    • Igor Babaev's avatar
      Merge. · 546f3c22
      Igor Babaev authored
      546f3c22
    • Igor Babaev's avatar
      Fixed LP bug #887496. · 2cc22718
      Igor Babaev authored
      This bug in the function Loose_scan_opt::check_ref_access_part1 could lead
      to choosing an invalid execution plan employing a loose scan access to a
      semi-join table even in the cases when such access could not be used at all.
      This could result in wrong answers for some queries with IN subqueries.
      2cc22718
    • unknown's avatar
      Fix bug lp:833777 · 2cc7b9f9
      unknown authored
      Analysis:
      The optimizer distinguishes two kinds of 'constant' conditions:
      expensive ones, and non-expensive ones. The non-expensive conditions
      are evaluated inside make_join_select(), and if false, already the
      optimizer detects empty query results.
      
      In order to avoid arbitrarily expensive optimization, the evaluation of
      expensive constant conditions is delayed until execution. These conditions
      are attached to JOIN::exec_const_cond and evaluated in the beginning of
      JOIN::exec. The relevant execution logic is:
      
      JOIN::exec()
      {
        if (! join->exec_const_cond->val_int())
        {
          produce an empty result;
          stop execution
        }
        continue execution
        execute the original WHERE clause (that contains exec_const_cond)
       ...
      }
      
      As a result, when an expensive constant condition is
      TRUE, it is evaluated twice - once through
      JOIN::exec_const_cond, and once through JOIN::cond.
      When the expensive constant condition is a subquery,
      predicate, the subquery is evaluated twice. If we have
      many levels of subqueries, this logic results in a chain
      of recursive subquery executions that walk a perfect
      binary tree. The result is that for subquries with depth N,
      JOIN::exec is executed O(2^N) times.
      
      Solution:
      Notice that the second execution of the constant conditions
      happens inside do_select(), in the branch:
      if (join->table_count == join->const_tables) { ... }
      In this case exec_const_cond is equivalent to the whole WHERE
      clause, therefore the WHERE clause has already been checked in
      the beginnig of JOIN::exec, and has been found to be true.
      The bug is addressed by not evaluating the WHERE clause if there
      was exec_const_conds, and it was TRUE.
      2cc7b9f9
    • unknown's avatar
      Merge enabling materialization=on by default. · 8e4271c1
      unknown authored
      8e4271c1