1. 03 Nov, 2019 2 commits
  2. 01 Nov, 2019 3 commits
    • Marko Mäkelä's avatar
      MDEV-19586: Avoid std::map::emplace() · e5fed3b9
      Marko Mäkelä authored
      GCC 4.7 only knows about std::map::insert(), not emplace().
      
      Also, reformat the function in the common style.
      e5fed3b9
    • Marko Mäkelä's avatar
      Refactor recv_sys_t::recs_t into page_recv_t · b7fc2c89
      Marko Mäkelä authored
      page_recv_t: Replaces recv_sys_t::recs_t.
      page_recv_t::state is not private, even though some accessors exist.
      
      page_recv_t::log: A singly-linked list of log_rec_t* with STL decoration
      and the custom operations trim() and append(). The list members are private.
      
      recv_t::data_t: Replaces recv_data_t.
      
      recv_t::data: Remove the pointer indirection for the first log chunk,
      and copy the first chunk directly after the record. Adjust the
      definition of RECV_DATA_BLOCK_SIZE accordingly.
      b7fc2c89
    • Marko Mäkelä's avatar
      MDEV-19586: Rename recv_sys.empty() to recv_sys.clear() · 2aa1f77e
      Marko Mäkelä authored
      In the collections of Standard Template Library,
      empty() is a predicate and clear() empties a collection.
      Let us rename recv_sys.empty() to recv_sys.clear() to avoid confusion.
      2aa1f77e
  3. 31 Oct, 2019 2 commits
  4. 30 Oct, 2019 4 commits
  5. 29 Oct, 2019 5 commits
  6. 28 Oct, 2019 8 commits
  7. 25 Oct, 2019 1 commit
  8. 24 Oct, 2019 2 commits
  9. 23 Oct, 2019 3 commits
    • Marko Mäkelä's avatar
      MDEV-20487 Set innodb_adaptive_hash_index=OFF by default · 88cdfc5c
      Marko Mäkelä authored
      Based on the performance testing that was conducted in MDEV-17492,
      the InnoDB adaptive hash index could only help performance in specific,
      almost-read-only workloads. It could slow down all kinds of workloads
      (especially DROP TABLE, TRUNCATE TABLE, ALTER TABLE, or DROP INDEX
      operations), and it can become corrupted, causing crashes (such as
      MDEV-18815, MDEV-20203) and possibly data corruption. Furthermore,
      the adaptive hash index consumes space from the InnoDB buffer pool,
      which could hurt performance when the working set would almost fit
      in the buffer pool.
      
      Given all this, it is best to disable the adaptive hash index by default.
      88cdfc5c
    • Jan Lindström's avatar
    • Jan Lindström's avatar
      Stabilize tests. · 1036886b
      Jan Lindström authored
      Changes to be committed:
      	modified:   mysql-test/suite/galera_sr/disabled.def
      	modified:   mysql-test/suite/galera_sr/r/GCF-561.result
      	modified:   mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result
      	modified:   mysql-test/suite/galera_sr/r/galera_sr_kill_query.result
      	modified:   mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result
      	new file:   mysql-test/suite/galera_sr/suite.pm
      	modified:   mysql-test/suite/galera_sr/t/GCF-561.test
      	modified:   mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test
      	modified:   mysql-test/suite/galera_sr/t/galera_sr_kill_query.test
      	modified:   mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
      1036886b
  10. 20 Oct, 2019 4 commits
  11. 18 Oct, 2019 2 commits
    • Alexander Barkov's avatar
      MDEV-20844 RBR from binary(16) to inet6 fails with error 171: The event was... · ec171a94
      Alexander Barkov authored
      MDEV-20844 RBR from binary(16) to inet6 fails with error 171: The event was corrupt, leading to illegal data being read
      
      This patch changes the way how INET6 is packed to the RBR binary log:
      - from fixed length 16 bytes
      - to BINARY(16) compatible variable length style
        with trailing 0x00 byte compression.
      
      This is to make INET6 fully compatible with BINARY(16) in RBR binary logs,
      so RBR replication works in this scenarios:
      
      - Old master BINARY(16) -> New slave INET6
      - New master INET6      -> Old slave BINARY(16)
      
      A new class StringPack was added to share the code between
      Field_string and Field_inet6.
      ec171a94
    • Alexander Barkov's avatar
      MDEV-20856 Bad values in metadata views for partitions on VARBINARY · 9a833dc6
      Alexander Barkov authored
      The old code to print partition values was too complicated:
      - it created new Items for character set conversion purposes.
      - it mixed string conversion and partition error reporting
        in the same code blocks.
      
      Simplifying the code as follows:
      
      - Adding helper methods String::can_be_safely_convert_to() and
        String::append_introducer_and_hex().
      
      - Adding DBUG_EXECUTE_IF("generate_partition_syntax_for_frm",  push_warning...)
        into generate_partition_syntax_for_frm(), to test the PARTITON
        clause written to FRM. Adding test partition_utf8-debug.test for this.
      
      - Removing functions get_cs_converted_part_value_from_string() and
        get_cs_converted_string_value. Changing get_partition_column_description()
        to use Type_handler::partition_field_append_value() instead.
        This makes SHOW CREATE TABLE and SELECT FROM I_S.PARTITIONS
        use the same code path.
      
      - Changing Type_handler::partition_field_append_value() not to
        call convert_charset_partition_constant(), to avoid creating a new Item
        for string conversion pursposes.
        Rewritting the code to use only String methods.
      
      - Removing error reporting code (ER_PARTITION_FUNCTION_IS_NOT_ALLOWED)
        from Type_handler::partition_field_append_value().
        The error is correctly detected and reported on the caller level.
        So error reporting was redundant here.
      
      Also:
      
      - Moving methods Type_handler::partition_field_*() from sql_partition.cc
        to sql_type.cc. This fixes compilation problem with -DPLUGIN_PARTITION=NO,
        earlier introduced by the patch for MDEV-20831.
      9a833dc6
  12. 17 Oct, 2019 1 commit
  13. 16 Oct, 2019 3 commits