1. 21 Nov, 2013 1 commit
    • Sergey Petrunya's avatar
      MDEV-5161: Wrong result (missing rows) with semijoin, LEFT JOIN, ORDER BY, constant table · c4defdc8
      Sergey Petrunya authored
      - Don't pull out a table out of a semi-join if it is on the inner side of an outer join.
      - Make join->sort_by_table= get_sort_by_table(...) call after const table detection 
        is done. That way, the value of join->sort_by_table will match the actual execution.
        Which will allow the code in setup_semijoin_dups_elimination() (search for 
        "Make sure that possible sorting of rows from the head table is not to be employed." 
        to see that "Using filesort" is going to be used together with Duplicate Elimination (
        and change it to Using temporary + Using filesort)
      c4defdc8
  2. 18 Nov, 2013 1 commit
    • Sergey Petrunya's avatar
      MDEV-5293: outer join, join buffering, and order by - invalid query plan · 8af289d2
      Sergey Petrunya authored
      - make_join_readinfo() has the code that forces use of "Using temporary; 
        Using filesort" when join buffering is in use.
        That code didn't handle all cases, in particular it didn't hande the case 
        where ORDER BY originally has tables from multiple columns, but the 
        optimizer eventually figures out that doing filesort() on one table 
        will be sufficient.  Adjusted the code to handle that case.
      
      8af289d2
  3. 13 Nov, 2013 2 commits
  4. 12 Nov, 2013 1 commit
  5. 11 Nov, 2013 13 commits
  6. 08 Nov, 2013 2 commits
  7. 07 Nov, 2013 2 commits
  8. 11 Nov, 2013 3 commits
  9. 10 Nov, 2013 3 commits
  10. 08 Nov, 2013 4 commits
  11. 06 Nov, 2013 1 commit
    • Sergey Vojtovich's avatar
      MDEV-5205 - MariaDB does not start if more than 128 cpu's are available · a588de1f
      Sergey Vojtovich authored
      An addition to fix for MDEV-5205, fixes server crash on shutdown.
      
      Thread groups are destroyed asynchronously, that is kill server
      thread sends shutdown request to all thread groups without waiting
      for compeltion.
      
      It means all_groups array must not be freed until all thread groups
      are down. This patch suggests that all_groups is freed when last
      thread group is destroyed.
      
      Note 1: threadpool code doesn't surround atomic ops with atomic locks,
      thus no locks for shutdown_group_count.
      Note 2: this patch preserves old behaviour, but we may need to wait
      until all thread groups are down before returning from tp_end().
      a588de1f
  12. 05 Nov, 2013 3 commits
    • Michael Widenius's avatar
      Added usage of handler error names to mysqltest · 6cc9f4ac
      Michael Widenius authored
      
      include/CMakeLists.txt:
        Added handler_ername.h
      include/handler_ername.h:
        Names of handler error messages
      mysql-test/extra/binlog_tests/binlog.test:
        Test using handler error names
      mysql-test/r/mysqltest.result:
        Update for new error message
      mysql-test/t/auto_increment.test:
        Test using handler error names
      mysql-test/t/auto_increment_ranges.inc:
        Test using handler error names
      mysql-test/t/replace.test:
        Test using handler error names
      6cc9f4ac
    • Michael Widenius's avatar
      Fixed core dump when doing "SET GLOBAL innodb_buffer_pool_evict='uncompressed'" · afa49d79
      Michael Widenius authored
      
      storage/xtradb/handler/ha_innodb.cc:
        Fixed wrong last argument to buf_LRU_free_block(): The LRU chain is already locked by this function.
      afa49d79
    • Sergey Vojtovich's avatar
      MDEV-5205 - MariaDB does not start if more than 128 cpu's are available · fd9f1638
      Sergey Vojtovich authored
      - thread_pool_size command line option upper limit increased to 100 000
        (same as for max_connections)
      - thread_pool_size system variable upper limit is maximum of 128 or
        the value given at command line
      - thread groups are now allocated dynamically
      
      Different limit for command line option and system variable was done to
      avoid additional mutex for all_groups and threadpool_max_size.
      fd9f1638
  13. 29 Oct, 2013 3 commits
    • unknown's avatar
      Merge 5.3->5.5 · 52dea410
      unknown authored
      52dea410
    • unknown's avatar
      MariaDB made be compiled by gcc 4.8.1 · 5ce11d8b
      unknown authored
        
        There was 2 problems:
        1) coping/moving of the same type (usually casting) as sizeof() (solved in different ways depends on the cause);
        2) using 'const' in SSL_CTX::getVerifyCallback() which return object (not reference) and so copy of the object will be created and 'const' has no sens.
      5ce11d8b
    • timour@askmonty.org's avatar
      MDEV-5104 crash in Item_field::used_tables with broken order by · 883af99e
      timour@askmonty.org authored
      Analysis:
      st_select_lex_unit::prepare() computes can_skip_order_by as TRUE.
      As a result join->prepare() gets called with order == NULL, and
      doesn't do name resolution for the inner ORDER clause. Due to this
      the prepare phase doesn't detect that the query references non-exiting
      function and field.
        
      Later join->optimize() calls update_used_tables() for a non-resolved
      Item_field, which understandably has no Field object. This call results
      in a crash.
      
      Solution:
      Resolve unnecessary ORDER BY clauses to detect if they reference non-exising
      objects. Then remove such clauses from the JOIN object.
      883af99e
  14. 24 Oct, 2013 1 commit
    • Sergey Petrunya's avatar
      MDEV-5102 : MySQL Bug 69851 · 86901216
      Sergey Petrunya authored
      - Backport MySQL's fix: do set ha_partition::m_pkey_is_clustered for ha_partition 
        objects created with handler->clone() call.
      - Also, include a testcase.
      86901216