1. 24 May, 2018 4 commits
    • Monty's avatar
      Fixed archive to work with record[1] · 72a8d29e
      Monty authored
      ha_archive::max_row_length() and ha_archive::pack_row()
      didn't use record parameter properly. Especially testing
      of null was wrong for record[1]
      72a8d29e
    • Monty's avatar
      MDEV-15243 Crash with virtual fields and row based binary logging · 4cd2a0eb
      Monty authored
      The cause of this was several different bugs:
      
      - When using binary logging with binlog_row_image=FULL
        the all bits in read_set was set, which caused a
        different (wrong) pattern for marking vcol_set.
      - TABLE::mark_virtual_columns_for_write() didn't in all
        cases mark vcol_set with the vcol_field.
      - TABLE::update_virtual_fields() has to update all
        vcol fields on REPLACE if binary logging with FULL
        is used.
      - VCOL_UPDATE_INDEXED should update all vcol fields part
        of an index that was not updated by VCOL_UPDATE_FOR_READ
      - max_row_length() calculated length of NULL and not
        used fields. This didn't cause any crash, but used
        more memory than needed.
      4cd2a0eb
    • Marko Mäkelä's avatar
      MDEV-13779 InnoDB fails to shut down purge, causing hang · 1c8c6bcd
      Marko Mäkelä authored
      thd_destructor_proxy(): Ensure that purge actually exits,
      like the logic should have been ever since MDEV-14080.
      
      srv_purge_shutdown(): A new function to wait for the
      purge coordinator to exit. Before exiting, the
      purge coordinator will ensure that all purge workers have exited.
      1c8c6bcd
    • Marko Mäkelä's avatar
      MDEV-16267 Wrong INFORMATION_SCHEMA.INNODB_BUFFER_PAGE.TABLE_NAME · 52df8040
      Marko Mäkelä authored
      This is the MariaDB 10.2 version of the patch.
      
      field_store_string(): Simplify the code.
      
      field_store_index_name(): Remove, and use field_store_string()
      instead. Starting with MariaDB 10.2.2, there is the predicate
      dict_index_t::is_committed(), and dict_index_t::name never
      contains the magic byte 0xff.
      
      Correct some comments to refer to TEMP_INDEX_PREFIX_STR.
      
      i_s_cmp_per_index_fill_low(): Use the appropriate value NULL to
      identify that an index was not found. Check that storing each
      column value succeeded.
      
      i_s_innodb_buffer_page_fill(), i_s_innodb_buf_page_lru_fill():
      Only invoke Field::set_notnull() if the index was found.
      (This fixes the bug.)
      
      i_s_dict_fill_sys_indexes(): Adjust the index->name that was
      directly loaded from SYS_INDEXES.NAME (which can start with
      the 0xff byte). This was the only function that depended
      on the translation in field_store_index_name().
      52df8040
  2. 23 May, 2018 1 commit
  3. 22 May, 2018 4 commits
    • Monty's avatar
      Suppress warnings from partition_open_files_limit · 6e63db26
      Monty authored
      6e63db26
    • Monty's avatar
      MDEV-15338 Crash in debug build when dropping column that is part of CHECK · 2dff8fec
      Monty authored
      Crash happened when deleting all columns that was part of a check constraint
      
      The bug was that read map for from table was used when
      checking CHECK constraint and was not properly reset
      in copy_data_between_tables()
      2dff8fec
    • Sergei Petrunia's avatar
      MDEV-12439: MariaRocks produces numerous (spurious?) valgrind failures · a107c79f
      Sergei Petrunia authored
      Step#1: RocksDB files require a special #define when they are compiled
      with valgrind. Without that, valgrind fails with an 'unimplemented syscall'
      error for fcntl call.
      a107c79f
    • Jacob Mathew's avatar
      MDEV-12900: spider tests failed in buildbot with valgrind · afe5a51c
      Jacob Mathew authored
      The failures with valgrind occur as a result of Spider sometimes using the
      wrong transaction for operations in background threads that send requests to
      the data nodes.  The use of the wrong transaction caused the networking to the
      data nodes to use the wrong thread in some cases.  Valgrind eventually
      detects this when such a thread is destroyed before it is used to disconnect
      from the data node by that wrong transaction when it is freed.
      
      I have fixed the problem by correcting the transaction used in each of these
      cases.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      
      Merged:
        Commit 4d576d9d on branch bb-10.3-MDEV-12900
      afe5a51c
  4. 21 May, 2018 1 commit
  5. 20 May, 2018 2 commits
  6. 19 May, 2018 6 commits
  7. 18 May, 2018 7 commits
  8. 17 May, 2018 4 commits
  9. 16 May, 2018 11 commits