mariadb/cmake
Marko Mäkelä ec4cf111c0 MDEV-11520 after-merge fix for 10.1: Use sparse files.
If page_compression (introduced in MariaDB Server 10.1) is enabled,
the logical action is to not preallocate space to the data files,
but to only logically extend the files with zeroes.

fil_create_new_single_table_tablespace(): Create smaller files for
ROW_FORMAT=COMPRESSED tables, but adhere to the minimum file size of
4*innodb_page_size.

fil_space_extend_must_retry(), os_file_set_size(): On Windows,
use SetFileInformationByHandle() and FILE_END_OF_FILE_INFO,
which depends on bumping _WIN32_WINNT to 0x0600.
FIXME: The files are not yet set up as sparse, so
this will currently end up physically extending (preallocating)
the files, wasting storage for unused pages.

os_file_set_size(): Add the parameter "bool sparse=false" to declare
that the file is to be extended logically, instead of being preallocated.
The only caller with sparse=true is
fil_create_new_single_table_tablespace().
(The system tablespace cannot be created with page_compression.)

fil_space_extend_must_retry(), os_file_set_size(): Outside Windows,
use ftruncate() to extend files that are supposed to be sparse.
On systems where ftruncate() is limited to files less than 4GiB
(if there are any), fil_space_extend_must_retry() retains the
old logic of physically extending the file.
2017-02-22 22:29:56 +02:00
..
build_configurations
os
abi_check.cmake
bison.cmake
bzip2.cmake
cat.cmake
character_sets.cmake
check_compiler_flag.cmake
check_minimal_version.cmake
cmake_parse_arguments.cmake
compile_flags.cmake
configurable_file_content.in
configure.pl
cpack_deb.cmake
cpack_rpm.cmake
cpack_source_ignore_files.cmake
CPackRPM.cmake
cpu_info.cmake
create_initial_db.cmake.in
ctest.cmake
do_abi_check.cmake
dtrace.cmake
dtrace_prelink.cmake
for_clients.cmake
info_bin.cmake
info_macros.cmake.in
info_src.cmake
install_layout.cmake
install_macros.cmake
jemalloc.cmake
libutils.cmake
lz4.cmake
lzma.cmake
lzo.cmake
maintainer.cmake
make_dist.cmake.in
merge_archives_unix.cmake.in
mysql_add_executable.cmake
mysql_version.cmake
package_name.cmake
pcre.cmake
plugin.cmake
readline.cmake
snappy.cmake
ssl.cmake
stack_direction.c
systemd.cmake
tags.cmake
versioninfo.rc.in
wsrep.cmake
zlib.cmake