github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/apecloud-mysql/config/mysql-reload.tpl (about)

     1  {{- /* mysql global variable update */}}
     2  {{- /* mysql using system variables reference docs: https://dev.mysql.com/doc/refman/8.0/en/using-system-variables.html */}}
     3  {{- /*  1. system variable names must be written using underscores, not dashes. */}}
     4  {{- /*  2. string variable 'xxx' */}}
     5  {{- /*  3. type convert to number */}}
     6  {{- range $pk, $pv := $.arg0 }}
     7  	{{- $pk = trimPrefix "loose_" $pk }}
     8  	{{- $pk = replace "-" "_" $pk }}
     9  	{{- $var_int := -1 }}
    10      {{- if $pv | regexMatch "^\\d+$" }}
    11  		{{- $var_int = atoi $pv }}
    12  	{{- end}}
    13  	{{- if lt $var_int 0 }}
    14  		{{- $tmp := $pv | regexStringSubmatch "^(\\d+)K$" }}
    15  		{{- if $tmp }}
    16  		{{- $var_int = last $tmp | atoi | mul 1024 }}
    17  		{{- end }}
    18  	{{- end }}
    19  	{{- if lt $var_int 0 }}
    20  		{{- $tmp := $pv | regexStringSubmatch "^(\\d+)M$" }}
    21  		{{- if $tmp }}
    22  		{{- $var_int =  last $tmp | atoi | mul 1024 1024 }}
    23  		{{- end }}
    24  	{{- end }}
    25  	{{- if lt $var_int 0 }}
    26  		{{- $tmp := $pv | regexStringSubmatch "^(\\d+)G$" }}
    27  		{{- if $tmp }}
    28  		{{- $var_int = last $tmp | atoi | mul 1024 1024 1024 }}
    29  		{{- end }}
    30  	{{- end }}
    31  	{{- if ge $var_int 0 }}
    32  		{{- execSql ( printf "SET GLOBAL %s = %d" $pk $var_int ) }}
    33  	{{- else }}
    34  		{{- execSql ( printf "SET GLOBAL %s = '%s'" $pk $pv ) }}
    35  	{{- end }}
    36  {{- end }}