@@ -70,6 +70,10 @@ uint clone_max_io_bandwidth;
7070/* * Clone system variable: If network compression is enabled */
7171bool clone_enable_compression;
7272
73+ unsigned long clone_compression_algorithm;
74+
75+ uint clone_zstd_compression_level;
76+
7377/* * Clone system variable: valid list of donor addresses. */
7478static char *clone_valid_donor_list;
7579
@@ -636,6 +640,24 @@ static MYSQL_SYSVAR_BOOL(enable_compression, clone_enable_compression,
636640 " If compression is done at network" , nullptr , nullptr ,
637641 false ); /* Disable compression by default */
638642
643+ static TYPELIB clone_compression_algorithms_typelib = {
644+ array_elements (myclone::clone_compression_algorithms) - 1 ,
645+ " clone_compression_algorithms_typelib" ,
646+ myclone::clone_compression_algorithms, nullptr };
647+
648+ static MYSQL_SYSVAR_ENUM (compression_algorithm, clone_compression_algorithm,
649+ PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_MEMALLOC,
650+ " compression algorithm used in clone" , nullptr ,
651+ nullptr , enum_compression_algorithm::MYSQL_ZSTD,
652+ &clone_compression_algorithms_typelib);
653+
654+ static MYSQL_SYSVAR_UINT (zstd_compression_level, clone_zstd_compression_level,
655+ PLUGIN_VAR_NOCMDARG, " zstd compression level" , nullptr ,
656+ nullptr , 3 , /* Default */
657+ 1 , /* Minimum */
658+ 10 , /* Maximum */
659+ 1 );
660+
639661/* * List of valid donor addresses allowed to clone from. */
640662static MYSQL_SYSVAR_STR (valid_donor_list, clone_valid_donor_list,
641663 PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_MEMALLOC,
@@ -705,6 +727,8 @@ static SYS_VAR *clone_system_variables[] = {
705727 MYSQL_SYSVAR (ssl_cert),
706728 MYSQL_SYSVAR (ssl_ca),
707729 MYSQL_SYSVAR (donor_timeout_after_network_failure),
730+ MYSQL_SYSVAR (compression_algorithm),
731+ MYSQL_SYSVAR (zstd_compression_level),
708732 nullptr };
709733
710734/* * Declare clone plugin */
0 commit comments