1. 07 Jan, 2020 4 commits
    • Marko Mäkelä's avatar
      Fixup MDEV-21429: Correct a definition · 0b4ae672
      Marko Mäkelä authored
      INNOBASE_ALTER_NOVALIDATE: Remove the set of operations
      INNOBASE_ONLINE_CREATE that was accidentally included in the
      definition.
      
      In the merge of 82187a12 to 10.3
      (in commit eda71979) the flags
      were defined correctly.
      
      This bug was caught by the test innodb_zip.index_large_prefix.
      0b4ae672
    • Marko Mäkelä's avatar
      MDEV-21429 TRUNCATE and OPTIMIZE are being refused due to "row size too large" · 82187a12
      Marko Mäkelä authored
      By default (innodb_strict_mode=ON), InnoDB attempts to guarantee
      at DDL time that any INSERT to the table can succeed.
      MDEV-19292 recently revised the "row size too large" check in InnoDB.
      The check still is somewhat inaccurate;
      that should be addressed in MDEV-20194.
      
      Note: If a table contains multiple long string columns so that each column
      is part of a column prefix index, then an UPDATE that attempts to modify
      all those columns at once may fail, because the undo log record might
      not fit in a single undo log page (of innodb_page_size). In the worst case,
      the undo log record would grow by about 3KiB of for each updated column.
      
      The DDL-time check (since the InnoDB Plugin for MySQL 5.1) is optional
      in the sense that when the maximum B-tree record size or undo log
      record size would be exceeded, the DML operation will fail and the
      transaction will be properly rolled back.
      
      create_table_info_t::row_size_is_acceptable(): Add the parameter
      'bool strict' so that innodb_strict_mode=ON can be overridden during
      TRUNCATE, OPTIMIZE and ALTER TABLE...FORCE (when the storage format
      is not changing).
      
      create_table_info_t::create_table(): Perform a sloppy check for
      TRUNCATE TABLE (create_fk=false).
      
      prepare_inplace_alter_table_dict(): Perform a sloppy check for
      simple operations.
      
      trx_is_strict(): Remove. The function became unused in
      commit 98694ab0 (MDEV-20949).
      82187a12
    • Jan Lindström's avatar
      MDEV-13569: wsrep_info.plugin failed in buildbot with "no nodes coming from prim view · 5824e9f8
      Jan Lindström authored
      Modify configuration so that all nodes are part of galera cluster
      i.e. wsrep_on=ON. Add missing wait conditions.
      
      test changes only.
      5824e9f8
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · e99ba4ba
      Marko Mäkelä authored
      e99ba4ba
  2. 04 Jan, 2020 1 commit
    • Eugene Kosov's avatar
      Lets add another intrusive double linked list! · fd899b3b
      Eugene Kosov authored
      Features:
      * STL-like interface
      * Fast modification: no branches on insertion or deletion
      * Fast iteration: one pointer dereference and one pointer comparison
      * Your class can be a part of several lists
      
      Modeled after std::list<T> but currently has fewer methods (not complete yet)
      
      For even more performance it's possible to customize list with templates so
      it won't have size counter variable or won't NULLify unlinked node.
      
      How existing lists differ?
      
      No existing lists support STL-like interface.
      
      I_List:
      * slower iteration (one more branch on iteration)
      * element can't be a part of two lists simultaneously
      
      I_P_List:
      * slower modification (branches, except for the fastest push_back() case)
      * slower iteration (one more branch on iteration)
      
      UT_LIST_BASE_NODE_T:
      * slower modification (branches)
      
      Three UT_LISTs were replaced: two in fil_system_t and one in dyn_buf_t.
      fd899b3b
  3. 03 Jan, 2020 4 commits
  4. 02 Jan, 2020 2 commits
  5. 30 Dec, 2019 1 commit
    • Marko Mäkelä's avatar
      Post-fix for MDEV-12253: Remove redundant log writes · 4a012ce2
      Marko Mäkelä authored
      The 8 bytes at FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION
      will be overwritten at page flush, in buf_page_encrypt_before_write(),
      ever since commit 765a4360
      (MariaDB 10.1.23, 10.2.6, 10.3.1).
      
      btr_store_big_rec_extern_fields(): Remove useless writes to the
      page header (and to the redo log) for ROW_FORMAT=COMPRESSED BLOB pages.
      4a012ce2
  6. 27 Dec, 2019 1 commit
  7. 26 Dec, 2019 2 commits
    • Varun Gupta's avatar
      MDEV-19680:: Assertion `!table || (!table->read_set ||... · 359d91aa
      Varun Gupta authored
      MDEV-19680:: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index) || (!(ptr >= table->record[0] && ptr < table->record[0] + table->s->reclength)))' or alike failed upon SELECT with mix of functions from simple view
      
      Set read_set bitmap for view from the JOIN::all_fields list instead of JOIN::fields_list
      as split_sum_func would have added items to the all_fields list.
      359d91aa
    • Varun Gupta's avatar
      MDEV-21318: Wrong results with window functions and implicit grouping · 891609b5
      Varun Gupta authored
      The issue here is for degenerate joins we should execute the window
      function but it is not getting executed in all the cases.
      
      To get the window function values window function needs to be executed
      always. This currently does not happen in few cases
      where the join would return 0 or 1 row like
        1) IMPOSSIBLE WHERE
        2) MIN/MAX optimization
        3) EMPTY CONST TABLE
      
      The fix is to make sure that window functions get executed
      and the temporary table is setup for the execution of window functions
      891609b5
  8. 24 Dec, 2019 2 commits
  9. 23 Dec, 2019 6 commits
  10. 21 Dec, 2019 2 commits
  11. 20 Dec, 2019 3 commits
  12. 19 Dec, 2019 1 commit
  13. 18 Dec, 2019 7 commits
  14. 17 Dec, 2019 4 commits