1. 08 Aug, 2017 5 commits
    • Alexey Botchkov's avatar
      MDEV-12604 Comparison of JSON_EXTRACT result differs with Mysql. · bb71d9ab
      Alexey Botchkov authored
              Comparison fixed to take the actual type of JSON value into
              account. Bug in escaping handling fixed.
      bb71d9ab
    • Marko Mäkelä's avatar
      Remove wait_innodb_all_purged.inc · 86e0a73e
      Marko Mäkelä authored
      The file wait_innodb_all_purged.inc waited for InnoDB purge in a way
      that only worked in debug builds. The file wait_all_purged.inc
      provides a better mechanism.
      86e0a73e
    • Marko Mäkelä's avatar
    • Marko Mäkelä's avatar
      Backport MDEV-13430 recovery improvement to MariaDB 10.2 · 6f623907
      Marko Mäkelä authored
      If the latest InnoDB redo log checkpoint was stored in the
      first checkpoint slot and not the second one, InnoDB would
      incorrectly set log_sys->log.lsn to the previous checkpoint.
      
      It is possible that this logic error did not exist before
      commit 86927cc7, which
      removed traces of multiple InnoDB redo logs, to prepare for
      MDEV-12548 (Mariabackup for MariaDB 10.2). In the worst case,
      this error could mean that InnoDB unnecessarily fails to
      recover from redo log when the last-but-one checkpoint was
      overwritten, but the last checkpoint is intact.
      
      recv_find_max_checkpoint(), recv_find_max_checkpoint_0():
      Do not overwrite the fields of log_sys->log with the information
      of an older checkpoint.
      
      recv_find_max_checkpoint(): Do not return DB_SUCCESS on an error.
      
      recv_recovery_from_checkpoint_start(): Return early if the log is
      in a version-tagged format but not in the latest format. (In this case,
      the log must be logically empty, and there is nothing to apply.)
      6f623907
    • Jan Lindström's avatar
      MDEV-11939: innochecksum mistakes a file for an encrypted one (page 0 invalid) · 34eef269
      Jan Lindström authored
      Always read full page 0 to determine does tablespace contain
      encryption metadata. Tablespaces that are page compressed or
      page compressed and encrypted do not compare checksum as
      it does not exists. For encrypted tables use checksum
      verification written for encrypted tables and normal tables
      use normal method.
      
      buf_page_is_checksum_valid_crc32
      buf_page_is_checksum_valid_innodb
      buf_page_is_checksum_valid_none
              Modify Innochecksum logging to file to avoid compilation
      	warnings.
      
      fil0crypt.cc fil0crypt.h
              Modify to be able to use in innochecksum compilation and
              move fil_space_verify_crypt_checksum to end of the file.
              Add innochecksum logging to file.
      
      univ.i
              Add innochecksum strict_verify, log_file and cur_page_num
              variables as extern.
      
      page_zip_verify_checksum
              Add innochecksum logging to file and remove unnecessary code.
      
      innochecksum.cc
              Lot of changes most notable able to read encryption
              metadata from page 0 of the tablespace.
      
      Added test case where we corrupt intentionally
      FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION (encryption key version)
      FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION+4 (post encryption checksum)
      FIL_DATA+10 (data)
      34eef269
  2. 07 Aug, 2017 10 commits
  3. 06 Aug, 2017 4 commits
  4. 05 Aug, 2017 1 commit
  5. 04 Aug, 2017 1 commit
  6. 03 Aug, 2017 4 commits
  7. 01 Aug, 2017 3 commits
  8. 31 Jul, 2017 2 commits
  9. 30 Jul, 2017 7 commits
  10. 29 Jul, 2017 3 commits