mariadb/storage/innobase/handler
Jan Lindström f7002c05ae MDEV-8250: InnoDB: Page compressed tables are not compressed and compressed+encrypted tables cause crash
Analysis: Problem is that both encrypted tables and compressed tables use
FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION to store
required metadata. Furhermore, for only compressed tables currently
code skips compression.

Fixes:
- Only encrypted pages store key_version to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION,
  no need to fix
- Only compressed pages store compression algorithm to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION,
  no need to fix as they have different page type FIL_PAGE_PAGE_COMPRESSED
- Compressed and encrypted pages now use a new page type FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED and
  key_version is stored on FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION and compression
  method is stored after FIL header similar way as compressed size, so that first
  FIL_PAGE_COMPRESSED_SIZE is stored followed by FIL_PAGE_COMPRESSION_METHOD
- Fix buf_page_encrypt_before_write function to really compress pages if compression is enabled
- Fix buf_page_decrypt_after_read function to really decompress pages if compression is used
- Small style fixes
2015-06-04 09:47:06 +03:00
..
ha_innodb.cc MDEV-8250: InnoDB: Page compressed tables are not compressed and compressed+encrypted tables cause crash 2015-06-04 09:47:06 +03:00
ha_innodb.h move to storage/innobase 2015-05-04 19:17:21 +02:00
handler0alter.cc MDEV-8130 Wrong error code/message while encrypting a partitioned InnoDB table 2015-05-13 14:27:18 +02:00
i_s.cc Merge tag 'mariadb-10.0.19' into 10.1 2015-06-01 15:51:25 +02:00
i_s.h Fix compiler error if compiler does not support c99 style 2015-05-07 18:30:42 +03:00