1. 18 Oct, 2017 4 commits
    • Marko Mäkelä's avatar
      fts_query_free(): Fix a potential assertion failure · babbf8c6
      Marko Mäkelä authored
      The ownership of the field query->intersection usually transfers
      to query->doc_ids. In some error scenario, it could be possible
      that fts_query_free() would be invoked with query->intersection!=NULL.
      Let us handle that case, instead of intentionally crashing the server.
      babbf8c6
    • Marko Mäkelä's avatar
      30e89acd
    • Marko Mäkelä's avatar
      Add a test of LIMIT with FULLTEXT INDEX · 98174795
      Marko Mäkelä authored
      In MariaDB, InnoDB fulltext search does not currently
      truncate results based on LIMIT. In MySQL 5.7, it does.
      98174795
    • Marko Mäkelä's avatar
      MDEV-14086 Setting innodb_buffer_pool_load_now or innodb_buffer_load_abort... · dfd010ef
      Marko Mäkelä authored
      MDEV-14086 Setting innodb_buffer_pool_load_now or innodb_buffer_load_abort will crash if innodb_read_only
      
      When MySQL 5.6.10 introduced innodb_read_only mode, it skipped the
      creation of the InnoDB buffer pool dump/restore subsystem in that mode.
      Attempts to set the variable innodb_buf_pool_dump_now would have
      no effect in innodb_read_only mode, but the corresponding condition
      was forgotten in from the other two update functions.
      
      MySQL 5.7.20 would fix the innodb_buffer_pool_load_now,
      but not innodb_buffer_pool_load_abort. Let us fix both in MariaDB.
      dfd010ef
  2. 17 Oct, 2017 1 commit
  3. 16 Oct, 2017 2 commits
    • Marko Mäkelä's avatar
      MDEV-12676 MySQL#78423 InnoDB FTS duplicate key error · 9a791c9c
      Marko Mäkelä authored
      fts_get_next_doc_id(): Assign the first and subsequent FTS_DOC_ID
      in the same way: by post-incrementing the cached value.
      If there is a user-specified FTS_DOC_ID, do not touch the internal
      sequence.
      9a791c9c
    • Marko Mäkelä's avatar
      MDEV-13051 MySQL#86607 InnoDB crash after failed ADD INDEX and table_definition_cache eviction · 1eee3a3f
      Marko Mäkelä authored
      There are two bugs related to failed ADD INDEX and
      the InnoDB table cache eviction.
      
      dict_table_close(): Try dropping failed ADD INDEX when releasing
      the last table handle, not when releasing the last-but-one.
      
      dict_table_remove_from_cache_low(): Do not invoke
      row_merge_drop_indexes() after freeing all index metadata.
      Instead, directly invoke row_merge_drop_indexes_dict() to
      remove the metadata from the persistent data dictionary
      and to free the index pages.
      1eee3a3f
  4. 11 Oct, 2017 1 commit
    • Vicențiu Ciorbaru's avatar
      MDEV-13676: Field "create Procedure" is NULL, even if the the user has role... · b9418ed3
      Vicențiu Ciorbaru authored
      MDEV-13676: Field "create Procedure" is NULL, even if the the user has role which is the definer. (SHOW CREATE PROCEDURE)
      
      During show create procedure we ommited to check the current role, if it
      is the actual definer of the procedure. In addition, we should support
      indirectly granted roles to the current role. Implemented a recursive
      lookup to search the tree of grants if the rolename is present.
      
      SQL Standard 2016, Part 5 Section 53 View I_S.ROUTINES selects
      ROUTINE_BODY and its WHERE clause says that the GRANTEE must be
      either PUBLIC, or CURRENT_USER or in the ENABLED_ROLES.
      b9418ed3
  5. 10 Oct, 2017 2 commits
    • Jan Lindström's avatar
      MDEV-13838: Wrong result after altering a partitioned table · fc9ff695
      Jan Lindström authored
      Reverted incorrect changes done on MDEV-7367 and MDEV-9469. Fixes properly
      also related bugs:
      
      MDEV-13668: InnoDB unnecessarily rebuilds table when renaming a column and adding index
      MDEV-9469: 'Incorrect key file' on ALTER TABLE
      MDEV-9548: Alter table (renaming and adding index) fails with "Incorrect key file for table"
      MDEV-10535: ALTER TABLE causes standalone/wsrep cluster crash
      MDEV-13640: ALTER TABLE CHANGE and ADD INDEX on auto_increment column fails with "Incorrect key file for table..."
      
      Root cause for all these bugs is the fact that MariaDB .frm file
      can contain virtual columns but InnoDB dictionary does not and
      previous fixes were incorrect or unnecessarily forced table
      rebuilt. In index creation key_part->fieldnr can be bigger than
      number of columns in InnoDB data dictionary. We need to skip not
      stored fields when calculating correct column number for InnoDB
      data dictionary.
      
      dict_table_get_col_name_for_mysql
              Remove
      
      innobase_match_index_columns
              Revert incorrect change done on MDEV-7367
      
      innobase_need_rebuild
              Remove unnecessary rebuild force when column is renamed.
      
      innobase_create_index_field_def
              Calculate InnoDB column number correctly and remove
              unnecessary column name set.
      
      innobase_create_index_def, innobase_create_key_defs
              Remove unneeded fields parameter. Revert unneeded memset.
      
      prepare_inplace_alter_table_dict
              Remove unneeded col_names parameter
      
      index_field_t
              Remove unneeded col_name member.
      
      row_merge_create_index
              Remove unneeded col_names parameter and resolution.
      
      Effected tests:
               innodb-alter-table : Add test case for MDEV-13668
               innodb-alter : Remove MDEV-13668, MDEV-9469 FIXMEs
                              and restore original tests
               innodb-wl5980-alter : Remove MDEV-13668,  MDEV-9469 FIXMEs
                              and restore original tests
      fc9ff695
    • Sergei Golubchik's avatar
      smaller stack size on quantal-x86 and wheezy-x86 · 2db5e4d1
      Sergei Golubchik authored
      fixes failures of func_regexp_pcre
      2db5e4d1
  6. 09 Oct, 2017 4 commits
  7. 08 Oct, 2017 2 commits
  8. 07 Oct, 2017 1 commit
  9. 06 Oct, 2017 1 commit
  10. 03 Oct, 2017 1 commit
  11. 02 Oct, 2017 2 commits
  12. 25 Sep, 2017 1 commit
  13. 24 Sep, 2017 1 commit
    • Marko Mäkelä's avatar
      MDEV-13899 IMPORT TABLESPACE may corrupt ROW_FORMAT=REDUNDANT tables · 78b63425
      Marko Mäkelä authored
      The ALTER TABLE…IMPORT TABLESPACE adjustment code that was introduced by
      WL#5522 in MySQL 5.6 is incorrectly invoking rec_get_status() on a
      ROW_FORMAT=REDUNDANT record to determine if a record is a leaf page record.
      The function rec_get_status(rec) is only to be called on
      ROW_FORMAT=COMPACT, DYNAMIC or COMPRESSED records.
      78b63425
  14. 23 Sep, 2017 1 commit
  15. 22 Sep, 2017 1 commit
    • Marko Mäkelä's avatar
      MDEV-13814 Extra logging when innodb_log_archive=ON · f6cb4f0a
      Marko Mäkelä authored
      log_group_read_log_seg(): Only display the message during recovery,
      not during normal operation. When the XtraDB configuration parameter
      innodb_log_archive is set, this function will be called during
      normal operation.
      f6cb4f0a
  16. 21 Sep, 2017 5 commits
  17. 20 Sep, 2017 5 commits
  18. 19 Sep, 2017 5 commits