1. 07 Nov, 2019 1 commit
  2. 05 Nov, 2019 3 commits
  3. 04 Nov, 2019 5 commits
    • Marko Mäkelä's avatar
      MDEV-19586: Restore pointer indirection for recv_t::data · 51fb39bf
      Marko Mäkelä authored
      Something was wrong with the removal of pointer indirection,
      because on 32-bit Windows we got crash recovery failures.
      Curiously, WITH_ASAN of a 32-bit debug build did not notice anything.
      
      This reverts a part of commit b7fc2c89.
      
      We have a 2MiB recv_sys.buf for the initial buffering. The minimum size
      of log_sys.buf would be 16MiB, and that buffer should be practically
      unused during recovery. If the buffer pool size is measured in gigabytes,
      it would indeed make sense to use the buffer pool for the recovered log
      records, perhaps after we have run out of log_sys.buf.
      
      FIXME: allow the entire buf_block_t::frame to be used for buffered
      log records, and remove MEM_HEAP_FOR_RECV_SYS. For example, use
      buf_page_t::list or buf_page_t::LRU for keeping track of memory that
      was allocated for recovery? Most members of buf_block_t
      (except buf_block_t::frame) are unused when
      block->page.state == BUF_BLOCK_MEMORY.
      51fb39bf
    • Marko Mäkelä's avatar
      MDEV-18115: Remove a unused variable · f89436b5
      Marko Mäkelä authored
      f89436b5
    • Marko Mäkelä's avatar
      Fix -Wmaybe-uninitialized · 8f40c029
      Marko Mäkelä authored
      Follow-up to commit 8965ae27:
      always initialize found_group.
      8f40c029
    • Marko Mäkelä's avatar
      MDEV-19586: Clean up recv_t a little · 541b00a3
      Marko Mäkelä authored
      recv_t, recv_t::data_t: Define constructors that copy the log records
      
      Ideally, we should remove recv_sys.buf, RECV_DATA_BLOCK_SIZE,
      and recv_sys_justify_left_parsing_buf(), and let the
      recv_sys.pages point directly to a buffer of parsed redo log
      records.
      
      The RECV_PARSING_BUF_SIZE (size of recv_sys.buf) is only 2MiB,
      while the minimum innodb_log_buffer_size (size of log_sys.buf) is 16MiB,
      and log_sys.buf is unused during redo log apply!
      541b00a3
    • Marko Mäkelä's avatar
      MDEV-19586: Add const qualifiers · 64a02e4f
      Marko Mäkelä authored
      Except for fil_name_process(), which invokes os_normalize_path(),
      the redo log record parser will not modify the redo log records.
      Add const qualifiers accordingly.
      64a02e4f
  4. 03 Nov, 2019 3 commits
  5. 02 Nov, 2019 3 commits
  6. 01 Nov, 2019 11 commits
  7. 31 Oct, 2019 9 commits
  8. 30 Oct, 2019 5 commits
    • Sergei Golubchik's avatar
      Merge branch 'github/10.1' into 10.2 · fd6dfb3b
      Sergei Golubchik authored
      fd6dfb3b
    • Sergei Golubchik's avatar
      cleanup · 31385576
      Sergei Golubchik authored
      * use compile_time_assert instead of DBUG_ASSERT
      
      * don't use thd->clear_error(), because
        * the error was already consumed by the error handler, so there is
           nothing to clear
        * it's dangerous to clear errors indiscriminately, if the error came
          from outside of read_statistics_for_tables() it must not be cleared
      31385576
    • Sergei Golubchik's avatar
      MDEV-20354 All but last insert ignored in InnoDB tables when table locked · 5392b4a3
      Sergei Golubchik authored
      mysql_insert() first opens all affected tables (which implicitly
      starts a transaction in InnoDB), then stat tables.
      A failure to open a stat table caused open_tables() to abort
      the current stmt transaction (trans_rollback_stmt()). So, from the
      server point of view the following ha_write_row()-s happened outside
      of a transactions, and the server didn't bother to commit them.
      
      The server has a mechanism to prevent a transaction being
      unexpectedly committed or rolled back in the middle of a statement -
      if an operation takes place _in a sub-statement_ it cannot change
      the transaction state. Operations on stat tables are exactly that -
      they are not allowed to change a transaction state. Put them in
      a sub-statement to make sure they don't.
      5392b4a3
    • Oleksandr Byelkin's avatar
    • Oleksandr Byelkin's avatar
      new CC 3.1 · baaf02a4
      Oleksandr Byelkin authored
      baaf02a4