|
|
|
|
@ -48,8 +48,9 @@ void Variable::fill_server_internal_session(json &j, int conn_num, int idx) {
|
|
|
|
|
j["backends"][conn_num]["conn"][mysql_tracked_variables[idx].internal_variable_name] = std::string((ci && ci->name)?ci->name:"");
|
|
|
|
|
} else if (idx == SQL_LOG_BIN) {
|
|
|
|
|
if (!value)
|
|
|
|
|
value = mysql_tracked_variables[idx].default_value;
|
|
|
|
|
j["backends"][conn_num]["conn"][mysql_tracked_variables[idx].internal_variable_name] = std::string(!strcmp("1",value)?"ON":"OFF");
|
|
|
|
|
j["backends"][conn_num]["conn"][mysql_tracked_variables[idx].internal_variable_name] = mysql_tracked_variables[idx].default_value;
|
|
|
|
|
else
|
|
|
|
|
j["backends"][conn_num]["conn"][mysql_tracked_variables[idx].internal_variable_name] = std::string(!strcmp("1",value)?"ON":"OFF");
|
|
|
|
|
} else {
|
|
|
|
|
j["backends"][conn_num]["conn"][mysql_tracked_variables[idx].internal_variable_name] = std::string(value?value:"");
|
|
|
|
|
}
|
|
|
|
|
@ -58,7 +59,10 @@ void Variable::fill_server_internal_session(json &j, int conn_num, int idx) {
|
|
|
|
|
void Variable::fill_client_internal_session(json &j, int idx) {
|
|
|
|
|
if (idx == SQL_CHARACTER_SET_RESULTS || idx == SQL_CHARACTER_SET_CLIENT || idx == SQL_CHARACTER_SET_DATABASE) {
|
|
|
|
|
const MARIADB_CHARSET_INFO *ci = NULL;
|
|
|
|
|
ci = proxysql_find_charset_nr(atoi(value));
|
|
|
|
|
if (!value)
|
|
|
|
|
ci = proxysql_find_charset_name(mysql_tracked_variables[idx].default_value);
|
|
|
|
|
else
|
|
|
|
|
ci = proxysql_find_charset_nr(atoi(value));
|
|
|
|
|
if (!ci) {
|
|
|
|
|
if (idx == SQL_CHARACTER_SET_RESULTS && (!strcasecmp("NULL", value) || !strcasecmp("binary", value))) {
|
|
|
|
|
j["conn"][mysql_tracked_variables[idx].internal_variable_name] = (ci && ci->csname)?ci->csname:"";
|
|
|
|
|
@ -77,10 +81,16 @@ void Variable::fill_client_internal_session(json &j, int idx) {
|
|
|
|
|
j["conn"][mysql_tracked_variables[idx].internal_variable_name] = (ci && ci->csname)?ci->csname:"";
|
|
|
|
|
} else if (idx == SQL_COLLATION_CONNECTION) {
|
|
|
|
|
const MARIADB_CHARSET_INFO *ci = NULL;
|
|
|
|
|
ci = proxysql_find_charset_nr(atoi(value));
|
|
|
|
|
if (!value)
|
|
|
|
|
ci = proxysql_find_charset_collate(mysql_tracked_variables[idx].default_value);
|
|
|
|
|
else
|
|
|
|
|
ci = proxysql_find_charset_nr(atoi(value));
|
|
|
|
|
j["conn"][mysql_tracked_variables[idx].internal_variable_name] = (ci && ci->name)?ci->name:"";
|
|
|
|
|
} else if (idx == SQL_LOG_BIN) {
|
|
|
|
|
j["conn"][mysql_tracked_variables[idx].internal_variable_name] = !strcmp("1", value)?"ON":"OFF";
|
|
|
|
|
if (!value)
|
|
|
|
|
j["conn"][mysql_tracked_variables[idx].internal_variable_name] = mysql_tracked_variables[idx].default_value;
|
|
|
|
|
else
|
|
|
|
|
j["conn"][mysql_tracked_variables[idx].internal_variable_name] = !strcmp("1", value)?"ON":"OFF";
|
|
|
|
|
} else {
|
|
|
|
|
j["conn"][mysql_tracked_variables[idx].internal_variable_name] = value?value:"";
|
|
|
|
|
}
|
|
|
|
|
|