1. 04 Dec, 2017 4 commits
  2. 03 Dec, 2017 21 commits
    • Monty's avatar
      Remove compiler warnings · 60df17e9
      Monty authored
      60df17e9
    • Monty's avatar
      Add direct join support for Spider · 52ca07c2
      Monty authored
      Includes Spider patches
      - 062_mariadb-10.2.0.direct_join_1and3.diff
      - 063_mariadb-10.2.0.direct_join_for_single_partition.diff
      - Test cases from Kentoku
      
      Allows Spider to push full joins to the Spider engine trough the
      create_group_by interface.
      
      Other things:
      - Increased MYSQL_VERSION_ID to check for 10211 (latest 10.2 version)
      - Fix for const_table at calling create_group_by().
      
      Original author: Kentoku SHIBA
      52ca07c2
    • Jacob Mathew's avatar
      bfaf2d6e
    • Kentoku SHIBA's avatar
      merge Spider 3.3.13 · 207594af
      Kentoku SHIBA authored
      New features in 3.3.13 are:
      - Join Push Down for 1 by 1 table and single partition.
      207594af
    • Kentoku SHIBA's avatar
      Adding direct update/delete to the server and to the partition engine. · e53ef202
      Kentoku SHIBA authored
      Add support for direct update and direct delete requests for spider.
      A direct update/delete request handles all qualified rows in a single
      operation rather than one row at a time.
      
      Contains Spiral patches:
      006_mariadb-10.2.0.direct_update_rows.diff      MDEV-7704
      008_mariadb-10.2.0.partition_direct_update.diff MDEV-7706
      010_mariadb-10.2.0.direct_update_rows2.diff     MDEV-7708
      011_mariadb-10.2.0.aggregate.diff               MDEV-7709
      027_mariadb-10.2.0.force_bulk_update.diff       MDEV-7724
      061_mariadb-10.2.0.mariadb-10.1.8.diff          MDEV-12870
      
      - The differences compared to the original patches:
        - Most of the parameters of the new functions are unnecessary.  The
          unnecessary parameters have been removed.
        - Changed bit positions for new handler flags upon consideration of
          handler flags not needed by other Spiral patches and handler flags
          merged from MySQL.
        - Added info_push() (Was originally part of bulk access patch)
        - Didn't include code related to handler socket
        - Added HA_CAN_DIRECT_UPDATE_AND_DELETE
      
      Original author: Kentoku SHIBA
      First reviewer:  Jacob Mathew
      Second reviewer: Michael Widenius
      e53ef202
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Cleanups for ha_partition.cc · 352feb49
      Michael Widenius authored
      - Ensure that var= doesn't have a space before =
      - Fixed DBUG_PRINT to use %u for unsigned types
      - Use "enter" when printing function arguments
      - Fixed typos
      - Added some extra DBUG_PRINT
      - Removed not needed assignment
      352feb49
    • Monty's avatar
      MDEV-7702 Spiral patch 004_mariadb-10.0.15.slave-trx-retry.diff · b016e1ba
      Monty authored
      This is about adding more options to force slave retries
      
      Two new variables has been added:
      slave_transaction_retry_errors
      - Tells the slave thread to retry transaction for replication when a
        query event returns an error from the provided list. Deadlock and
        elapsed lock wait timeout errors are automatically added to this list
      slave-transaction-retry-interval
      - Interval of the slave SQL thread will retry a transaction
        in case it failed with a deadlock or elapsed lock wait
        timeout or listed in slave_transaction_retry_errors
      
      Other changes:
      - Simplifed code for slave_skip_errors (to be aligned with
        slave_transaction_retry_errors)
      - Renamed print_slave_skip_errors() to make_slave_skip_errors_printable()
      - Remove printing error from init_slave_skip_errors as my_bitmap_init()
        will do that if needed.
      - Generalize has_temporary_error()
      b016e1ba
    • Monty's avatar
      Fix index scan cleanup in the partition engine. · 3907ff2d
      Monty authored
      Spiral Patch 057: 057_mariadb-10.2.0.partition_index_end.diff MDEV-12999
      
      Original author: Kentoku SHIBA
      First reviewer:  Jacob Mathew
      Second reviewer: Michael Widenius
      3907ff2d
    • Monty's avatar
      Adding option to tell that cmp_ref handler call is expensive · f26e14e2
      Monty authored
      - In Spider, calling cmp_ref() can be very expensive. In ha_partition.cc
        we don't anymore sort rows according to position for the Spider
        engine.
      - Removed Spider specific call info(HA_EXTRA_STARTING_ORDERED_INDEX_SCAN)
        from handle_ordered_index_scan(). It's caused performance issues and
        does not change results for queries with ORDER BY.
      - The visible effect of this patch is that for some storage engines,
        rows may be returned in a different order if there is no ORDER BY clause.
      
      - Based in Spiral Patch 052:
        052_mariadb-10.2.0.add_partition_skip_pk_sort_for_non_clustered_index
        MDEV-7748
      - The major difference from original patch is that there is no variable to
        get the old behaviour.
      
      Other things:
      - Optimized ha_partition::cmp_ref() and cmp_part_ids() to make them
        simpler and faster.
      - Changed arguments to cmp_key_part_id() to be same as
        cmp_key_rowid_part_id to simplify code.
      
      Original author: Kentoku SHIBA
      First reviewer:  Jacob Mathew
      Second reviewer: Michael Widenius
      f26e14e2
    • Monty's avatar
      Adding support for auto_increment in the partition engine. · dc17ac16
      Monty authored
      Contains Spiral patches:
      022_mariadb-10.2.0.auto_increment.diff               MDEV-7720
      030: 030_mariadb-10.2.0.partition_auto_inc_init.diff MDEV-7726
      
      These patches have the following differences compared to the original
      patches:
      - Added the new #defines for the feature in spd_environ.h instead of in
        handler.h because these #defines are needed by Spider and are not needed
        by the server.
      - Cleaned up code related to the removed variable m_need_info_for_auto_inc
      . Changed variable assignment in lock_auto_increment() and
        unlock_auto_increment() so that the assignments are done under locks.
      - Added a test case.
      - Added test result changes resulting from a bug that was fixed by these
        patches.
      
      Original author: Kentoku SHIBA
      First reviewer:  Jacob Mathew
      Second reviewer: Michael Widenius
      dc17ac16
    • Monty's avatar
      Adding Full Text Search support to partitions · 2f09b28e
      Monty authored
      Contains Spiral patches:
      007_mariadb-10.2.0.partition_fulltext.diff  MDEV-7705
      038_mariadb-10.2.0.partition_fulltext2.diff MDEV-7734
      
      This commit has the following differences compared to the original
      patches:
      
      - Added necessary full text search cleanup at the storage engine layer
        that was omitted in the original patch.
      - Added test case.
      - A lot of code cleanups to make the code notable smaller.
      - Changed SQL code to use ha_ft_end() instead of ft_end()
      
      Original author: Kentoku SHIBA
      First reviewer:  Jacob Mathew
      Second reviewer: Michael Widenius
      2f09b28e
    • Monty's avatar
      5b409843
    • Monty's avatar
      Add direct aggregates · da26d16d
      Monty authored
      Spider patches 026 (MDEV-7723), 031 (MDEV-7727) and 058 (MDEV-12532)
      
      This allows the storage engine to internally compute sum and count
      operations.
      
      - Enhance sum items to be able to store the sum value directly.
      - return_record_by_parent() is enabled in spider as
        HANDLER_HAS_DIRECT_AGGREGATE is defined
      - Added spd_environ.h to spider. This is loaded first to ensure that all
        MariaDB specific defines that are used by include files are properly
        defined.
      - This code is tested by the existing spider tests direct_aggregate.test
        and direct_aggregate_part.test and also partition.test
      da26d16d
    • Monty's avatar
      Added more DBUG information · 6f5a7e92
      Monty authored
      Done to simplify spider patch for direct aggregates
      6f5a7e92
    • Monty's avatar
      Adding multi_range_read support to partitions · 8eeb689e
      Monty authored
      Other things:
      - Cleanup of allocated bitmaps done in open(), which
        simplifies init_partition_bitmaps()
      - Add needed defines in ha_spider.cc to enable new spider code
      - Fixed some DBUG_PRINT() to be consistent with normal code
      - Removed end space
      - The changes in test cases partition_innodb, partition_range,
        partition_pruning etc are becasue partitions can now more exactly
        calculate the number of rows in a range.
      
      Contains spider patches:
      014,015,023,033,035,037,040,042,044,045,049,050,051,053,059
      8eeb689e
    • Monty's avatar
      MDEV-7700 Spiral patch 002_mariadb-10.0.15.spider.diff, part 2 · d5268a61
      Monty authored
      Allow partition engines to access table->s->connect_string for engines
      that uses HTON_CAN_READ_CONNECT_STRING_IN_PARTITION
      Don't reset table->s->connect_string in ha_partition::open
      d5268a61
    • Monty's avatar
      MDEV 7701 extra() calls for VP engine · 7abe1149
      Monty authored
      Added Spider patches:
      003_mariadb-10.0.15.vp.diff
      060_mariadb-10.2.0.partition_reset_top_table_fields.diff
      
      - Support HA_EXTRA_ADD_CHILDREN_LIST,HA_EXTRA_ATTACH_CHILDREN,
        HA_EXTRA_IS_ATTACHED_CHILDREN and HA_EXTRA_DETACH_CHILDREN
        in partition handler for handlers that has HA_CAN_MULTISTEPL_MERGE flag
      - Added HA_CAN_MULTISTEPL_MERGE to MERGE handler.
      - Added handler::get_child_handlers()
      - Change m_num_lock to contain total number of locks. This was needed as
        we now adjust number of locks when extra(HA_EXTRA_ATTACH_CHILDREN) is
        called.
      7abe1149
    • Monty's avatar
      MDEV-7700 Spiral patch 002_mariadb-10.0.15.spider.diff · 3d1d4b87
      Monty authored
      - Enable HA_EXTRA_WRITE_CAN_REPLACE and HA_EXTRA_WRITE_CANNOT_REPLACE for
        partition engine.
      3d1d4b87
    • Monty's avatar
      Applied patch 001_mariadb-10.0.15.partition_cond_push.diff · 25a1fdd1
      Monty authored
      - Added cond_push() and cond_pop() to ha_partition.cc
      25a1fdd1
    • Monty's avatar
      Added spider patches for adding HANDLER support for the partition engine · c57e1bf5
      Monty authored
      013_mariadb-10.0.15.vp_handler.diff
      034_mariadb-10.0.15.vp_handler2.diff
      005_mariadb-10.0.15.hs.diff
      041_mariadb-10.0.15.vp_handler2.diff
      + Fixes from Kentoku
      + Added handler/suite.pm and handler/suite.opt to be able to run test cases
        in spider/handler
      c57e1bf5
  3. 02 Dec, 2017 4 commits
    • Monty's avatar
      Changed "const row not found" to "Const row not found" · 66607085
      Monty authored
      Also changed Unique row not found to use uppercase first.
      This was done to make these messages consistent with the rest
      66607085
    • Monty's avatar
      Improve error messages · c24d1d66
      Monty authored
      - mysql_install_db now prints position to error file, if log-error is used
      - Warning about compatibility now mentions MySQL 5.6 and 5.7
      - Give warning if --show_compatibility_56 is used
      c24d1d66
    • Monty's avatar
      cfaaace6
    • Monty's avatar
      Mark constant 'null_tables' with table->const_table=1 · c65911ac
      Monty authored
      This was done to make thing consistent. It gives the additional benefit
      that EXPLAIN EXTENDED now treat null_tables like constant's and replaces
      columns with NULL, in a similar way that it replaces columns with constants
      for constant tables.
      
      - Null tables are tables where all columns are always NULL. The most common
        NULL TABLE is a table used in a LEFT_JOIN that is never true.
      - All result changes comes from replacing columns with NULL for null_tables.
      - "Impossible where" is now also shows constants for const columns.
      - Removed duplicated s->type= JT_CONST
      - Reset found_const_table_map when JOIN is created (safety fix)
      c65911ac
  4. 01 Dec, 2017 4 commits
  5. 30 Nov, 2017 3 commits
  6. 29 Nov, 2017 4 commits