diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-08 22:00:24 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-08 22:00:24 +0200 |
commit | 89b463ee99c22e69fe4adf686e0d61cd20973c49 (patch) | |
tree | 7af291818189bf11af3c9185b62eb182102c79b5 /extra | |
parent | 6740b2926bb80bee4b9a560acc8d315f2888e0b8 (diff) | |
parent | ab7e2b048d7d0835ae7473873169b7606114348e (diff) | |
download | mariadb-git-89b463ee99c22e69fe4adf686e0d61cd20973c49.tar.gz |
Merge 10.2 into 10.3
Diffstat (limited to 'extra')
-rw-r--r-- | extra/mariabackup/backup_mysql.cc | 15 | ||||
-rw-r--r-- | extra/mariabackup/xtrabackup.cc | 10 |
2 files changed, 22 insertions, 3 deletions
diff --git a/extra/mariabackup/backup_mysql.cc b/extra/mariabackup/backup_mysql.cc index c79828b419c..6c04780b64d 100644 --- a/extra/mariabackup/backup_mysql.cc +++ b/extra/mariabackup/backup_mysql.cc @@ -56,8 +56,7 @@ this program; if not, write to the Free Software Foundation, Inc., #include "encryption_plugin.h" #include <sstream> #include <sql_error.h> -#include <ut0ut.h> - +#include "page0zip.h" char *tool_name; char tool_args[2048]; @@ -353,6 +352,7 @@ get_mysql_vars(MYSQL *connection) char *innodb_undo_directory_var = NULL; char *innodb_page_size_var = NULL; char *innodb_undo_tablespaces_var = NULL; + char *page_zip_level_var = NULL; char *endptr; unsigned long server_version = mysql_get_server_version(connection); @@ -382,6 +382,7 @@ get_mysql_vars(MYSQL *connection) {"innodb_undo_directory", &innodb_undo_directory_var}, {"innodb_page_size", &innodb_page_size_var}, {"innodb_undo_tablespaces", &innodb_undo_tablespaces_var}, + {"innodb_compression_level", &page_zip_level_var}, {NULL, NULL} }; @@ -515,7 +516,13 @@ get_mysql_vars(MYSQL *connection) } if (innodb_undo_tablespaces_var) { - srv_undo_tablespaces = strtoul(innodb_undo_tablespaces_var, &endptr, 10); + srv_undo_tablespaces = strtoul(innodb_undo_tablespaces_var, + &endptr, 10); + ut_ad(*endptr == 0); + } + + if (page_zip_level_var != NULL) { + page_zip_level = strtoul(page_zip_level_var, &endptr, 10); ut_ad(*endptr == 0); } @@ -1663,6 +1670,7 @@ bool write_backup_config_file() "innodb_page_size=%lu\n" "innodb_undo_directory=%s\n" "innodb_undo_tablespaces=%lu\n" + "innodb_compression_level=%u\n" "%s%s\n" "%s\n", innodb_checksum_algorithm_names[srv_checksum_algorithm], @@ -1672,6 +1680,7 @@ bool write_backup_config_file() srv_page_size, srv_undo_dir, srv_undo_tablespaces, + page_zip_level, innobase_buffer_pool_filename ? "innodb_buffer_pool_filename=" : "", innobase_buffer_pool_filename ? diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index fb045f1e3d8..41ab48ee53f 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -830,6 +830,7 @@ enum options_xtrabackup OPT_XTRA_TABLES_EXCLUDE, OPT_XTRA_DATABASES_EXCLUDE, OPT_PROTOCOL, + OPT_INNODB_COMPRESSION_LEVEL, OPT_LOCK_DDL_PER_TABLE, OPT_ROCKSDB_DATADIR, OPT_BACKUP_ROCKSDB, @@ -1358,6 +1359,11 @@ struct my_option xb_server_options[] = (G_PTR*)&srv_undo_tablespaces, (G_PTR*)&srv_undo_tablespaces, 0, GET_ULONG, REQUIRED_ARG, 0, 0, 126, 0, 1, 0}, + {"innodb_compression_level", OPT_INNODB_COMPRESSION_LEVEL, + "Compression level used for zlib compression.", + (G_PTR*)&page_zip_level, (G_PTR*)&page_zip_level, + 0, GET_UINT, REQUIRED_ARG, 6, 0, 9, 0, 0, 0}, + {"defaults_group", OPT_DEFAULTS_GROUP, "defaults group in config file (default \"mysqld\").", (G_PTR*) &defaults_group, (G_PTR*) &defaults_group, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -1695,6 +1701,10 @@ xb_get_one_option(int optid, ADD_PRINT_PARAM_OPT(innodb_checksum_algorithm_names[srv_checksum_algorithm]); break; + case OPT_INNODB_COMPRESSION_LEVEL: + ADD_PRINT_PARAM_OPT(page_zip_level); + break; + case OPT_INNODB_BUFFER_POOL_FILENAME: ADD_PRINT_PARAM_OPT(innobase_buffer_pool_filename); |