@@ -70,6 +70,10 @@ uint clone_max_io_bandwidth;
70
70
/* * Clone system variable: If network compression is enabled */
71
71
bool clone_enable_compression;
72
72
73
+ ulong clone_compression_algorithm;
74
+
75
+ uint clone_zstd_compression_level;
76
+
73
77
/* * Clone system variable: valid list of donor addresses. */
74
78
static char *clone_valid_donor_list;
75
79
@@ -636,6 +640,27 @@ static MYSQL_SYSVAR_BOOL(enable_compression, clone_enable_compression,
636
640
" If compression is done at network" , nullptr , nullptr ,
637
641
false ); /* Disable compression by default */
638
642
643
+ enum enum_clone_compression_algorithm { ZLIB = 0 , ZSTD };
644
+ const char *clone_compression_algorithms[] = {" ZLIB" , " ZSTD" , NullS};
645
+
646
+ static TYPELIB clone_compression_algorithms_typelib = {
647
+ array_elements (clone_compression_algorithms) - 1 ,
648
+ " clone_compression_algorithms_typelib" ,
649
+ clone_compression_algorithms, nullptr };
650
+
651
+ static MYSQL_SYSVAR_ENUM (compression_algorithm, clone_compression_algorithm,
652
+ PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_MEMALLOC,
653
+ " compression algorithm used in clone" , nullptr ,
654
+ nullptr , enum_clone_compression_algorithm::ZSTD,
655
+ &clone_compression_algorithms_typelib);
656
+
657
+ static MYSQL_SYSVAR_UINT (zstd_compression_level, clone_zstd_compression_level,
658
+ PLUGIN_VAR_NOCMDARG, " zstd compression level" , nullptr ,
659
+ nullptr , 3 , /* Default */
660
+ 1 , /* Minimum */
661
+ 10 , /* Maximum */
662
+ 1 );
663
+
639
664
/* * List of valid donor addresses allowed to clone from. */
640
665
static MYSQL_SYSVAR_STR (valid_donor_list, clone_valid_donor_list,
641
666
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_MEMALLOC,
@@ -705,6 +730,8 @@ static SYS_VAR *clone_system_variables[] = {
705
730
MYSQL_SYSVAR (ssl_cert),
706
731
MYSQL_SYSVAR (ssl_ca),
707
732
MYSQL_SYSVAR (donor_timeout_after_network_failure),
733
+ MYSQL_SYSVAR (compression_algorithm),
734
+ MYSQL_SYSVAR (zstd_compression_level),
708
735
nullptr };
709
736
710
737
/* * Declare clone plugin */
0 commit comments