1. 30 Sep, 2017 8 commits
    • Jacob Mathew's avatar
      Adding direct update/delete to the server and to the partition engine. · cbfc2e93
      Jacob Mathew authored
      Contains Spiral patches:
      - Spiral Patch 006: 006_mariadb-10.2.0.direct_update_rows.diff      MDEV-7704
      - Spiral Patch 008: 008_mariadb-10.2.0.partition_direct_update.diff MDEV-7706
      - Spiral Patch 010: 010_mariadb-10.2.0.direct_update_rows2.diff     MDEV-7708
      - Spiral Patch 011: 011_mariadb-10.2.0.aggregate.diff               MDEV-7709
      - Spiral Patch 027: 027_mariadb-10.2.0.force_bulk_update.diff       MDEV-7724
      - Spiral Patch 061: 061_mariadb-10.2.0.mariadb-10.1.8.diff          MDEV-12870
      
      - Add support for direct update and direct delete requests.  A direct
        update/delete request handles all qualified rows in a single operation,
        rather than one row at a time.
      
      - This patch has the following differences compared to the original patch:
        - 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.
      cbfc2e93
    • Jacob Mathew's avatar
      Adding child partition pruning support to the Vertical Partition Engine. · 6387a4ee
      Jacob Mathew authored
      Contains Spiral patches:
      - Spiral Patch 039: 039_mariadb-10.2.0.child_partition_pruning.diff  MDEV-7735
      - Spiral Patch 047: 047_mariadb-10.2.0.child_partition_pruning2.diff MDEV-7743
      6387a4ee
    • Jacob Mathew's avatar
      Spiral Patch 057: 057_mariadb-10.2.0.partition_index_end.diff MDEV-12999 · 21fb2bdf
      Jacob Mathew authored
      - Fix index scan cleanup in the partition engine.
      21fb2bdf
    • Jacob Mathew's avatar
      Spiral Patch 052: · 8e0716ba
      Jacob Mathew authored
        052_mariadb-10.2.0.add_partition_skip_pk_sort_for_non_clustered_index.diff
        MDEV-7748
      
      - Option to skip primary key sorting if engine doesn't have clustered index.
      
      - This commit has the following difference compared to the original patch:
        - Added test case.
      8e0716ba
    • Jacob Mathew's avatar
      Adding support for auto_increment in the partition engine. · b51ea57e
      Jacob Mathew authored
      Contains Spiral patches:
      - Spiral Patch 022: 022_mariadb-10.2.0.auto_increment.diff          MDEV-7720
      - Spiral Patch 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 ha_spider.h instead of in handler.h
        because these #defines are needed by Spider and are not needed by the server.
      - Added a test case.
      - Added test result changes resulting from a bug that was fixed by these
        patches.
      b51ea57e
    • Jacob Mathew's avatar
      Adding support for the Vertical Partition Engine · ff809568
      Jacob Mathew authored
      Contains Spiral patches:
      - Spiral Patch 021: 021_mariadb-10.2.0.merge_table.diff MDEV-7719
        - Changes for identifying MyISAM Merge child tables that can be merged.
        - This patch has the following differences compared to the original patch:
          - Changed bit positions for handlerton flags to eliminate conflicts
            with flags merged from MySQL.
      - Spiral Patch 048: 048_mariadb-10.2.0.vp_partition.diff MDEV-7744
        - Check and set the partition bitmap.
      - Spiral Patch 054: 054_mariadb-10.2.0.for_vp_pruning.diff MDEV-7750
        - Support for vertical partition pruning.
      - Spiral Patch 055: 055_mariadb-10.2.0.for_vp_same_columns.diff MDEV-13000
        - Support for MERGE tables in the vertical partition engine.
      - Spiral Patch 056: 056_mariadb-10.2.0.partition_top_table_fields.diff
                          MDEV-12970
        - Push down to each partition the table and fields of a vertical partition
          that are mapped to local table fields.
      - Spiral Patch 060: 060_mariadb-10.2.0.partition_reset_top_table_fields.diff
                          MDEV-12971
        - Completion of functionality to push down to each partition the table and
          fields of a vertical partition that are mapped to local table fields.
      ff809568
    • Jacob Mathew's avatar
      Adding Full Text Search support to partitions. · 983fe77c
      Jacob Mathew authored
      Contains Spiral patches:
      - Spiral Patch 007: 007_mariadb-10.2.0.partition_fulltext.diff  MDEV-7705
      - Spiral Patch 038: 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.
      983fe77c
    • Jacob Mathew's avatar
      Spiral Patch 020: 020_mariadb-10.2.0.bulk_access.diff MDEV-7718 · bb0e6753
      Jacob Mathew authored
      - Support for bulk access in the partition engine.
      - This patch has the following differences compared to the original patch:
        - Changed bit position for the HA_CAN_BULK_ACCESS partition handler flag.
        - Omitted the parts of the patch that pertain to direct update and
          direct delete, which are a different feature. The omitted changes will
          be committed as part of the direct update/delete feature.
      bb0e6753
  2. 05 Jul, 2017 2 commits
    • Monty's avatar
      Adding multi_range_read support to partitions · b685dfc6
      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
      
      Contains spider patches:
      014,015,023,033,035,037,040,042,044,045,049,050,051,053,059
      b685dfc6
    • Monty's avatar
      MDEV-7700 Spiral patch 002_mariadb-10.0.15.spider.diff, part 2 · 8e9f1f76
      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
      8e9f1f76
  3. 18 Jan, 2017 13 commits
    • Monty's avatar
      MDEV 7701 Apply Spider patch 003_mariadb-10.0.15.vp.diff · 5ff25c31
      Monty authored
      - 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.
      5ff25c31
    • Monty's avatar
      Updates test results from MDEV-7698 (Kentuko) · a059002a
      Monty authored
      Now all tests spider tests are passing for me
      a059002a
    • Monty's avatar
      MDEV-7700 Spiral patch 002_mariadb-10.0.15.spider.diff · 76ee86d9
      Monty authored
      - Enable HA_EXTRA_WRITE_CAN_REPLACE and HA_EXTRA_WRITE_CANNOT_REPLACE for
        partition engine.
      76ee86d9
    • Monty's avatar
      Applied patch 001_mariadb-10.0.15.partition_cond_push.diff · 577d26c4
      Monty authored
      - Added cond_push() and cond_pop() to ha_partition.cc
      577d26c4
    • Monty's avatar
      Added spider patches for adding HANDLER support for the partition engine · c345e799
      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
      c345e799
    • Sergei Petrunia's avatar
      NOT FIXED: MDEV-10773: ANALYZE FORMAT=JSON query_with_CTE crashes · 25e5ce19
      Sergei Petrunia authored
      Remove the testcase. It turns out, the crash still happens, just not
      on all platforms.
      25e5ce19
    • Oleksandr Byelkin's avatar
    • Marko Mäkelä's avatar
      Remove references to innodb_file_format. · 08413254
      Marko Mäkelä authored
      innodb_file_format=Barracuda is the default in MariaDB 10.2.
      Do not set it, because the option will be removed in MariaDB 10.3.
      
      Also, do not set innodb_file_per_table=1 because it is the default.
      
      Note that MDEV-11828 should fix the test innodb.innodb-64k
      already in 10.1.
      08413254
    • Marko Mäkelä's avatar
      MDEV-11824 Allow ROW_FORMAT=DYNAMIC in the InnoDB system tablespace · 085b292a
      Marko Mäkelä authored
      When MySQL 5.7.9 (and MariaDB Server 10.2) introduced
      innodb_default_row_format and made ROW_FORMAT=DYNAMIC the default,
      it became possible to create any ROW_FORMAT tables in the InnoDB
      system tablespace, except ROW_FORMAT=COMPRESSED.
      
      In MySQL 5.7, it is possible to create ROW_FORMAT=DYNAMIC
      tables when TABLESPACE=innodb_system is explicitly specified.
      Because MariaDB Server 10.2 does not support the MySQL 5.7
      TABLESPACE=innodb_system attribute for tables, we should allow
      ROW_FORMAT=DYNAMIC when innodb_file_per_table=0.
      
      Also, remove the test innodb_zip.innodb-create-options, which was
      an outdated copy of innodb_zip.create_options.
      085b292a
    • Marko Mäkelä's avatar
      MDEV-11816 Disallow CREATE TEMPORARY TABLE…ROW_FORMAT=COMPRESSED · 7cf97ed4
      Marko Mäkelä authored
      MySQL 5.7 allows temporary tables to be created in ROW_FORMAT=COMPRESSED.
      The usefulness of this is questionable. WL#7899 in MySQL 8.0.0
      prevents the creation of such compressed tables, so that all InnoDB
      temporary tables will be located inside the predefined
      InnoDB temporary tablespace.
      
      Pick up and adjust some tests from MySQL 5.7 and 8.0.
      
      dict_tf_to_fsp_flags(): Remove the parameter is_temp.
      fsp_flags_init(): Remove the parameter is_temporary.
      
      row_mysql_drop_temp_tables(): Remove. There cannot be any temporary
      tables in InnoDB. (This never removed #sql* tables in the datadir
      which were created by DDL.)
      
      dict_table_t::dir_path_of_temp_table: Remove.
      
      create_table_info_t::m_temp_path: Remove.
      
      create_table_info_t::create_options_are_invalid(): Do not allow
      ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE for temporary tables.
      
      create_table_info_t::innobase_table_flags(): Do not unnecessarily
      prevent CREATE TEMPORARY TABLE with SPATIAL INDEX.
      (MySQL 5.7 does allow this.)
      
      fil_space_belongs_in_lru(): The only FIL_TYPE_TEMPORARY tablespace
      is never subjected to closing least-recently-used files.
      7cf97ed4
    • Marko Mäkelä's avatar
      Remove MYSQL_TABLESPACES. · 494e4b99
      Marko Mäkelä authored
      MySQL 5.7 introduced partial support for user-created shared tablespaces
      (for example, import and export are not supported).
      
      MariaDB Server does not support tablespaces at this point of time.
      Let us remove most InnoDB code and data structures that is related
      to shared tablespaces.
      494e4b99
    • Marko Mäkelä's avatar
      Remove MYSQL_COMPRESSION. · 1eabad5d
      Marko Mäkelä authored
      The MariaDB 10.1 page_compression is incompatible with the Oracle
      implementation that was introduced in MySQL 5.7 later.
      
      Remove the Oracle implementation. Also remove the remaining traces of
      MYSQL_ENCRYPTION.
      
      This will also remove traces of PUNCH_HOLE until it is implemented
      better. The only effective call to os_file_punch_hole() was in
      fil_node_create_low() to test if the operation is supported for the file.
      
      In other words, it looks like page_compression is not working in
      MariaDB 10.2, because no code equivalent to the 10.1 os_file_trim()
      is enabled.
      1eabad5d
    • Marko Mäkelä's avatar
      Remove MYSQL_ENCRYPTION. · 70c11485
      Marko Mäkelä authored
      MariaDB will likely never support MySQL-style encryption for
      InnoDB, because we cannot link with the Oracle encryption plugin.
      This is preparation for merging MDEV-11623.
      70c11485
  4. 17 Jan, 2017 4 commits
  5. 12 Jan, 2017 3 commits
    • Marko Mäkelä's avatar
      1ba7234b
    • Marko Mäkelä's avatar
      Merge 10.1 into bb-10.2-mdev-11782 · 7c81f15e
      Marko Mäkelä authored
      7c81f15e
    • Marko Mäkelä's avatar
      Improve an MDEV-9011 test of innodb_encrypt_log. · 2dc5d8bb
      Marko Mäkelä authored
      Test crash recovery from an encrypted redo log with innodb_encrypt_log=0.
      Previously, we did a clean shutdown, so only the log checkpoint
      information would have been read from the redo log. With this change,
      we will be reading and applying encrypted redo log records.
      
      include/start_mysqld.inc: Observe $restart_parameters.
      
      encryption.innodb-log-encrypt: Remove some unnecessary statements,
      and instead of restarting the server and concurrently accessing
      the files while the server is running, kill the server, check the
      files, and finally start up the server.
      
      innodb.log_data_file_size: Use start_mysqld.inc with $restart_parameters.
      2dc5d8bb
  6. 11 Jan, 2017 10 commits