1. 05 Oct, 2015 11 commits
    • Sergei Golubchik's avatar
      e8daa418
    • Monty's avatar
      MDEV-6080: Allowing storage engine to shortcut group by queries · cf50e13f
      Monty authored
      This task is to allow storage engines that can execute GROUP BY or
      summary queries efficiently to intercept a full query or sub query from
      MariaDB and deliver the result either to the client or to a temporary
      table for further processing.
      
      - Added code in sql_select.cc to intercept GROUP BY queries.
        Creation of group_by_handler is done after all optimizations to allow
        storage engine to benefit of an optimized WHERE clause and suggested
        indexes to use.
      - Added group by handler to sequence engine and a group_by test suite as
        a way to test the new interface.
      - Intercept EXPLAIN with a message "Storage engine handles GROUP BY"
      
      libmysqld/CMakeLists.txt:
        Added new group_by_handler files
      sql/CMakeLists.txt:
        Added new group_by_handler files
      sql/group_by_handler.cc:
        Implementation of group_by_handler functions
      sql/group_by_handler.h:
        Definition of group_by_handler class
      sql/handler.h:
        Added handlerton function to create a group_by_handler, if the storage
        engine can intercept the query.
      sql/item_cmpfunc.cc:
        Allow one to evaluate item_equal any time.
      sql/sql_select.cc:
        Added code to intercept GROUP BY queries
        - If all tables are from the same storage engine and the query is
          using sum functions, call create_group_by() to check if the storage
          engine can intercept the query.
          - If yes:
             - create a temporary table to hold a GROUP_BY row or result
             - In do_select() intercept normal query execution by instead
               calling the group_by_handler to get the result
             - Intercept EXPLAIN
      sql/sql_select.h:
        Added handling of group_by_handler
        Added caching of the original join tab (needed for cleanup after
        group_by handler)
      storage/sequence/mysql-test/sequence/group_by.result:
        Test group_by_handler interface
      storage/sequence/mysql-test/sequence/group_by.test:
        Test group_by_handler interface
      storage/sequence/sequence.cc:
        Added simple group_by_engine for handling COUNT(*) and
        SUM(primary_key).  This was done as a test of the group_by_handler
        interface
      cf50e13f
    • Monty's avatar
      Bugs, found by valgrind · d8df2b94
      Monty authored
      d8df2b94
    • Monty's avatar
      fix comments · ae2cdc17
      Monty authored
      ae2cdc17
    • Monty's avatar
    • Monty's avatar
      Simple optimization · 4193fa7a
      Monty authored
      4193fa7a
    • Monty's avatar
      Speed up some innodb tests · 7e312796
      Monty authored
      Fixed compiler warnings
      
      sql/sql_view.cc:
      Ensure that merged_for_insert is properly reset
      (Left of an old patch)
      7e312796
    • Monty's avatar
      Don't write DROP TEMPORARY TABLE to binary log · b2b07b33
      Monty authored
      if we didn't write the CREATE TEMPORARY TABLE statement.
      
      - Enable old code from one of my older changesets that didn't make into 10.0
      - Fix test cased that failed as they expected DROP TEMPORARY TABLE in the log.
      b2b07b33
    • Sergei Petrunia's avatar
      MDEV-8830: Weird output in the error log · d2f6166e
      Sergei Petrunia authored
      Remove debug printout that was accidentally left in place
      d2f6166e
    • Alexander Barkov's avatar
      23d4c95b
    • Jan Lindström's avatar
  2. 04 Oct, 2015 1 commit
    • Alexander Barkov's avatar
      A clean-up for MDEV-7950: · ba0b6685
      Alexander Barkov authored
      - Turning get_mm_tree_for_const() from a static function into
        a protected method in Item.
      - Adding a new class Item_bool_func2_with_rev, for the functions and operators
        that have a reverse function and can use the range optimizer for
        to optimize "value OP field" as "field REV_OP value". Deriving
        Item_bool_rowready_func2 and Item_funt_spatial_rel from the new class.
      - Removing Item_bool_func2::have_rev_func().
      ba0b6685
  3. 02 Oct, 2015 5 commits
  4. 01 Oct, 2015 5 commits
  5. 30 Sep, 2015 3 commits
  6. 29 Sep, 2015 1 commit
  7. 28 Sep, 2015 4 commits
  8. 27 Sep, 2015 1 commit
  9. 25 Sep, 2015 6 commits
  10. 24 Sep, 2015 3 commits