An error occurred fetching the project authors.
  1. 23 Nov, 2020 1 commit
  2. 25 Aug, 2020 1 commit
  3. 22 Jul, 2020 1 commit
  4. 25 Feb, 2020 1 commit
  5. 04 Feb, 2020 1 commit
  6. 01 Nov, 2019 1 commit
    • Alexey Botchkov's avatar
      MDEV-18244 Server crashes in ha_innobase::update_thd / ... /... · 6dce6aec
      Alexey Botchkov authored
      MDEV-18244 Server crashes in ha_innobase::update_thd / ... / ha_partition::update_next_auto_inc_val.
      
      Partition table with the AUTO_INCREMENT column we ahve to check if the
      max value is properly loaded. So we need to open all tables in INSERT
      PARTITION statement if necessary. Also we need to check if some
      tables are pruned away and not count the max autoincrement in this case.
      6dce6aec
  7. 10 Oct, 2019 1 commit
  8. 09 Oct, 2019 1 commit
  9. 11 May, 2019 1 commit
  10. 07 May, 2019 2 commits
  11. 29 Mar, 2019 1 commit
    • Nikita Malyavin's avatar
      MDEV-15951 system versioning by trx id doesn't work with partitioning · e6230e84
      Nikita Malyavin authored
      Fix partitioning for trx_id-versioned tables.
      `partition by hash`, `range` and others now work.
      `partition by system_time` is forbidden.
      Currently we cannot use row_start and row_end in `partition by`, because
      insertion of versioned field is done by engine's handler, as well as
      row_start/row_end's value set up, which is a transaction id -- so it's
      also forbidden.
      
      The drawback is that it's now impossible to use `partition by key()`
      without parameters for such tables, because it references row_start and
      row_end implicitly.
      
      * add handler::vers_can_native()
      * drop Table_scope_and_contents_source_st::vers_native()
      * drop partition_element::find_engine_flag as unused
      * forbid versioning partitioning for trx_id as not supported
      * adopt vers tests for trx_id partitioning
      * forbid any row_end referencing in `partition by` clauses,
        including implicit `by key()`
      e6230e84
  12. 20 Dec, 2018 1 commit
    • Nikita Malyavin's avatar
      MDEV-16429: Assertion `!table || (!table->read_set ||... · 6a73569f
      Nikita Malyavin authored
      MDEV-16429: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' fails upon attempt to update virtual column on partitioned versioned table
      
      When using buffered sort in `UPDATE`, keyread is used. In this case,
      `TABLE::update_virtual_field` should be aborted, but it actually isn't,
      because it is called not with a top-level handler, but with the one that
      is actually going to access the disk. Here the problemm is issued with
      partitioning, so the solution is to recursively mark for keyread all the
      underlying partition handlers.
      
      * ha_partition: update keyread state for child partitions
      
      Closes #800
      6a73569f
  13. 29 Oct, 2018 1 commit
    • Monty's avatar
      MDEV-17503 CREATE SEQUENCE failed with innodb_force_primary_key =1 · d30124e8
      Monty authored
      Fixed by adding table flag HA_WANTS_PRIMARY_KEY, which is like
      HA_REQUIRE_PRIMARY_KEY but tells SQL upper layer that the storage engine
      internally can handle tables without primary keys (for example for
      sequences or trough user variables)
      d30124e8
  14. 19 Oct, 2018 1 commit
  15. 21 Sep, 2018 1 commit
    • Nikita Malyavin's avatar
      MDEV-16429: Assertion `!table || (!table->read_set ||... · c16a54c0
      Nikita Malyavin authored
      MDEV-16429: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' fails upon attempt to update virtual column on partitioned versioned table
      
      When using buffered sort in `UPDATE`, keyread is used. In this case,
      `TABLE::update_virtual_field` should be aborted, but it actually isn't,
      because it is called not with a top-level handler, but with the one that
      is actually going to access the disk. Here the problemm is issued with
      partitioning, so the solution is to recursively mark for keyread all the
      underlying partition handlers.
      
      * ha_partition: update keyread state for child partitions
      
      Closes #800
      c16a54c0
  16. 13 Sep, 2018 1 commit
    • Jacob Mathew's avatar
      MDEV-16912: Spider Order By column[datatime] limit 5 returns 3 rows · 6c47c1c4
      Jacob Mathew authored
      The problem occurs in 10.2 and earlier releases of MariaDB Server because the
      Partition Engine was not pushing the engine conditions to the underlying
      storage engine of each partition.  This caused Spider to return the first 5
      rows in the table with the data provided by the customer.  2 of the 5 rows
      did not qualify the WHERE clause, so they were removed from the result set by
      the server.
      
      To fix the problem, I have back-ported support for engine condition pushdown
      in the Partition Engine from MariaDB Server 10.3.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      
      Cherry-Picked:
        Commit eb2ca3d4 on branch bb-10.2-MDEV-16912
      6c47c1c4
  17. 11 Sep, 2018 1 commit
    • Jacob Mathew's avatar
      MDEV-16912: Spider Order By column[datatime] limit 5 returns 3 rows · eb2ca3d4
      Jacob Mathew authored
      The problem occurs in 10.2 and earlier releases of MariaDB Server because the
      Partition Engine was not pushing the engine conditions to the underlying
      storage engine of each partition.  This caused Spider to return the first 5
      rows in the table with the data provided by the customer.  2 of the 5 rows
      did not qualify the WHERE clause, so they were removed from the result set by
      the server.
      
      To fix the problem, I have back-ported support for engine condition pushdown
      in the Partition Engine from MariaDB Server 10.3.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      eb2ca3d4
  18. 09 Jul, 2018 1 commit
    • Jacob Mathew's avatar
      MDEV-16246: insert timestamp into spider table from mysqldump gets wrong time zone. · 813b7398
      Jacob Mathew authored
      The problem occurred because the Spider node was incorrectly handling
      timestamp values sent to and received from the data nodes.
      
      The problem has been corrected as follows:
      - Added logic to set and maintain the UTC time zone on the data nodes.
        To prevent timestamp ambiguity, it is necessary for the data nodes to use
        a time zone such as UTC which does not have daylight savings time.
      - Removed the spider_sync_time_zone configuration variable, which did not
        solve the problem and which interfered with the solution.
      - Added logic to convert to the UTC time zone all timestamp values sent to
        and received from the data nodes.  This is done for both unique and
        non-unique timestamp columns.  It is done for WHERE clauses, applying to
        SELECT, UPDATE and DELETE statements, and for UPDATE columns.
      - Disabled Spider's use of direct update when any of the columns to update is
        a timestamp column.  This is necessary to prevent false duplicate key value
        errors.
      - Added a new test spider.timestamp to thoroughly test Spider's handling of
        timestamp values.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      
      Cherry-Picked:
        Commit 97cc9d34 on branch bb-10.3-MDEV-16246
      813b7398
  19. 29 Mar, 2018 1 commit
    • Monty's avatar
      Changed static const in Alter_info and Alter_online_info to defines · 2dbeebdb
      Monty authored
      Main reason was to make it easier to print the above structures in
      a debugger. Additional benefits is that I was able to use same
      defines for both structures, which simplifes some code.
      
      Most of the code is just removing Alter_info:: and Alter_inplace_info::
      from alter table flags.
      
      Following renames was done:
      HA_ALTER_FLAGS        -> alter_table_operations
      CHANGE_CREATE_OPTION  -> ALTER_CHANGE_CREATE_OPTION
      Alter_info::ADD_INDEX -> ALTER_ADD_INDEX
      DROP_INDEX            -> ALTER_DROP_INDEX
      ADD_UNIQUE_INDEX      -> ALTER_ADD_UNIQUE_INDEX
      DROP_UNIQUE_INDEx     -> ALTER_DROP_UNIQUE_INDEX
      ADD_PK_INDEX          -> ALTER_ADD_PK_INDEX
      DROP_PK_INDEX         -> ALTER_DROP_PK_INDEX
      Alter_info:ALTER_ADD_COLUMN    -> ALTER_PARSE_ADD_COLUMN
      Alter_info:ALTER_DROP_COLUMN   -> ALTER_PARSE_DROP_COLUMN
      Alter_inplace_info::ADD_INDEX  -> ALTER_ADD_NON_UNIQUE_NON_PRIM_INDEX
      Alter_inplace_info::DROP_INDEX -> ALTER_DROP_NON_UNIQUE_NON_PRIM_INDEX
      
      Other things:
      - Added typedef alter_table_operatons for alter table flags
      - DROP CHECK CONSTRAINT can now be done online
      - Added checks for Aria tables in alter_table_online.test
      - alter_table_flags now takes an ulonglong as argument.
      - Don't support online operations if checksum option is used.
      - sql_lex.cc doesn't add ALTER_ADD_INDEX if index is not created
      2dbeebdb
  20. 23 Feb, 2018 2 commits
  21. 13 Feb, 2018 1 commit
  22. 06 Feb, 2018 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-15091 : Windows, 64bit: reenable and fix warning C4267 (conversion from... · 6c279ad6
      Vladislav Vaintroub authored
      MDEV-15091 : Windows, 64bit: reenable and fix warning C4267 (conversion from 'size_t' to 'type', possible loss of data)
      
      Handle string length as size_t, consistently (almost always:))
      Change function prototypes to accept size_t, where in the past
      ulong or uint were used. change local/member variables to size_t
      when appropriate.
      
      This fix excludes rocksdb, spider,spider, sphinx and connect for now.
      6c279ad6
  23. 29 Jan, 2018 1 commit
  24. 09 Jan, 2018 1 commit
  25. 18 Dec, 2017 1 commit
    • Aleksey Midenkov's avatar
      Timestamp-based versioning for InnoDB [closes #209] · b55a1491
      Aleksey Midenkov authored
      * Removed integer_fields check
      * Reworked Vers_parse_info::check_sys_fields()
      * Misc renames
      * versioned as vers_sys_type_t
      
      * Removed versioned_by_sql(), versioned_by_engine()
      
      versioned() works as before;
      versioned(VERS_TIMESTAMP) is versioned_by_sql();
      versioned(VERS_TRX_ID) is versioned_by_engine().
      
      * create_tmp_table() fix
      * Foreign constraints for timestamp-based
      * Range auto-specifier fix
      * SQL: 1-row partition rotation fix [fixes #260]
      * Fix 'drop system versioning, algorithm=inplace'
      b55a1491
  26. 03 Dec, 2017 10 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
    • 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
    • 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
      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 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
      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
  27. 17 Nov, 2017 1 commit
  28. 18 Sep, 2017 1 commit
  29. 14 Sep, 2017 1 commit