diff options
author | Jan Lindström <jan.lindstrom@mariadb.com> | 2017-04-28 10:07:03 +0300 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2017-05-18 09:29:44 +0300 |
commit | f302a3cf9d9de48cae660641ec9695412f74b80e (patch) | |
tree | 35ae5f34f82508b4159665c0695899b8c9f9d61f /cmake | |
parent | febe88198ebadceef2549c04f3e6afe75b68bac3 (diff) | |
download | mariadb-git-f302a3cf9d9de48cae660641ec9695412f74b80e.tar.gz |
MDEV-12593: InnoDB page compression should use lz4_compress_default if
available
lz4.cmake: Check if shared or static lz4 library has LZ4_compress_default
function and if it has define HAVE_LZ4_COMPRESS_DEFAULT.
fil_compress_page: If HAVE_LZ4_COMPRESS_DEFAULT is defined use
LZ4_compress_default function for compression if not use
LZ4_compress_limitedOutput function.
Introduced a innodb-page-compression.inc file for page compression
tests that will also search .ibd file to verify that pages
are compressed (i.e. used search string is not found). Modified
page compression tests to use this file.
Note that snappy method is not included because of MDEV-12615
InnoDB page compression method snappy mostly does not compress pages
that will be fixed on different commit.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/lz4.cmake | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake index 1607c68c5fb..ec0e2aa85df 100644 --- a/cmake/lz4.cmake +++ b/cmake/lz4.cmake @@ -19,8 +19,11 @@ MACRO (MYSQL_CHECK_LZ4) IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO") CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H) CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_limitedOutput "" HAVE_LZ4_SHARED_LIB) - - IF (HAVE_LZ4_SHARED_LIB AND HAVE_LZ4_H) + CHECK_LIBRARY_EXISTS(lz4 LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT) + IF ((HAVE_LZ4_SHARED_LIB OR HAVE_LZ4_COMPRESS_DEFAULT) AND HAVE_LZ4_H) + IF (HAVE_LZ4_COMPRESS_DEFAULT) + ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1) + ENDIF() ADD_DEFINITIONS(-DHAVE_LZ4=1) LINK_LIBRARIES(lz4) ELSE() @@ -35,14 +38,17 @@ MACRO (MYSQL_CHECK_LZ4_STATIC) IF (WITH_INNODB_LZ4 STREQUAL "ON" OR WITH_INNODB_LZ4 STREQUAL "AUTO") CHECK_INCLUDE_FILES(lz4.h HAVE_LZ4_H) CHECK_LIBRARY_EXISTS(liblz4.a LZ4_compress_limitedOutput "" HAVE_LZ4_LIB) - - IF(HAVE_LZ4_LIB AND HAVE_LZ4_H) - ADD_DEFINITIONS(-DHAVE_LZ4=1) - LINK_LIBRARIES(liblz4.a) - ELSE() + CHECK_LIBRARY_EXISTS(liblz4.a LZ4_compress_default "" HAVE_LZ4_COMPRESS_DEFAULT) + IF ((HAVE_LZ4_LIB OR HAVE_LZ4_COMPRESS_DEFAULT) AND HAVE_LZ4_H) + IF (HAVE_LZ4_COMPRESS_DEFAULT) + ADD_DEFINITIONS(-DHAVE_LZ4_COMPRESS_DEFAULT=1) + ENDIF() + ADD_DEFINITIONS(-DHAVE_LZ4=1) + LINK_LIBRARIES(liblz4.a) + ELSE() IF (WITH_INNODB_LZ4 STREQUAL "ON") MESSAGE(FATAL_ERROR "Required lz4 library is not found") ENDIF() ENDIF() ENDIF() -ENDMACRO()
\ No newline at end of file +ENDMACRO() |