proxy_warning("TRACE : tid [%lu] variable name %24s\tclient value [%5s]\tserver value [%5s]\n",thread_session_id,mysql_tracked_variables[i].set_variable_name,mysql_variables->client_get_value(i),mysql_variables->server_get_value(i));
proxy_error("Client trying to set a charset/collation (%u) not supported by backend (%s:%d). Changing it to %u\n",client_myds->myconn->options.charset,myconn->parent->address,myconn->parent->port,mysql_thread___default_charset);
proxy_error("Detected a broken connection during SET NAMES on %s , %d : %d, %s\n",myconn->parent->address,myconn->parent->port,myerr,mysql_error(myconn->mysql));
proxy_error("Client trying to set a charset/collation (%u) not supported by backend (%s:%d). Changing it to %u\n",mysql_variables->client_get_value(SQL_CHARACTER_SET),myconn->parent->address,myconn->parent->port,replace_collation_nr);
proxy_error("Detected a broken connection during SET NAMES on %s , %d : %d, %s\n",myconn->parent->address,myconn->parent->port,myerr,mysql_error(myconn->mysql));
proxy_warning("TRACE : tid [%lu], variable name %24s\tclient value [%5s]\tserver value [%5s]\n",thread_session_id,mysql_tracked_variables[i].set_variable_name,mysql_variables->client_get_value(i),mysql_variables->server_get_value(i));
}
if(session_fast_forward==true){
status=FAST_FORWARD;
mybe->server_myds->myconn->reusable=false;// the connection cannot be usable anymore
proxy_warning("TRACE: tid [%lu] setting SERVER variable %d, value %s\n",session->thread_session_id,idx,session->mysql_variables->client_get_value(idx));
proxy_warning("The %s set to invalid value in the configuration file. Changing to default utf8\n",r->fields[0]);
sprintf(q,"INSERT OR REPLACE INTO global_variables VALUES(\"mysql-%s\",\"%s\")",r->fields[0],"utf8");
db->execute(q);
value="utf8";
GloMTH->set_variable(r->fields[0],"utf8");
}else{
GloMTH->set_variable(r->fields[0],ci->csname);
}
}else{
boolrc=GloMTH->set_variable(r->fields[0],value);
if(rc==false){
proxy_debug(PROXY_DEBUG_ADMIN,4,"Impossible to set variable %s with value \"%s\"\n",r->fields[0],value);
if(replace){
char*val=GloMTH->get_variable(r->fields[0]);
charq[1000];
if(val){
if(strcmp(val,value)){
proxy_warning("Impossible to set variable %s with value \"%s\". Resetting to current \"%s\".\n",r->fields[0],value,val);
sprintf(q,"INSERT OR REPLACE INTO global_variables VALUES(\"mysql-%s\",\"%s\")",r->fields[0],val);
db->execute(q);
}
free(val);
}else{
proxy_warning("Impossible to set not existing variable %s with value \"%s\". Deleting. If the variable name is correct, this version doesn't support it\n",r->fields[0],r->fields[1]);
sprintf(q,"DELETE FROM disk.global_variables WHERE variable_name=\"mysql-%s\"",r->fields[0]);
db->execute(q);
}else{
proxy_warning("Impossible to set not existing variable %s with value \"%s\". Deleting. If the variable name is correct, this version doesn't support it\n",r->fields[0],r->fields[1]);
}
sprintf(q,"DELETE FROM global_variables WHERE variable_name=\"mysql-%s\"",r->fields[0]);
db->execute(q);
}
sprintf(q,"DELETE FROM global_variables WHERE variable_name=\"mysql-%s\"",r->fields[0]);
db->execute(q);
}
}else{
proxy_debug(PROXY_DEBUG_ADMIN,4,"Set variable %s with value \"%s\"\n",r->fields[0],value);
MYSQL_QUERY(mysqladmin,"update global_variables set variable_value='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' where variable_name='mysql-default_sql_mode'");
MYSQL_QUERY(mysqladmin,"update global_variables set variable_value='OFF' where variable_name='mysql-default_sql_safe_update'");
MYSQL_QUERY(mysqladmin,"update global_variables set variable_value='UTF8' where variable_name='mysql-default_character_set_results'");
MYSQL_QUERY(mysqladmin,"update global_variables set variable_value='REPEATABLE READ' where variable_name='mysql-default_isolation_level'");
MYSQL_QUERY(mysqladmin,"update global_variables set variable_value='REPEATABLE READ' where variable_name='mysql-default_tx_isolation'");
MYSQL_QUERY(mysqladmin,"update global_variables set variable_value='utf8_general_ci' where variable_name='mysql-default_collation_connection'");
MYSQL_QUERY(mysqladmin,"update global_variables set variable_value='true' where variable_name='mysql-enforce_autocommit_on_reads'");
MYSQL_QUERY(mysqladmin,"load mysql variables to runtime");
"set character_set_results='utf8'; set names latin7; set character_set_client='utf8mb4';", "{'character_set_results':'latin7', 'collation_connection':'latin7_general_ci', 'character_set_connection':'latin7', 'character_set_client':'utf8mb4'}"
"set character_set_client='utf8mb4'; set charset utf8; set character_set_connection='latin1';", "{'character_set_results':'utf8', 'collation_connection':'latin1_swedish_ci', 'character_set_connection':'latin1', 'character_set_client':'utf8'}"
"set character_set_database='utf8'; set character_set_connection='utf8mb4'; set charset utf8; set character_set_client='latin1';", "{'character_set_database':'utf8', 'character_set_results':'utf8', 'collation_connection':'utf8_general_ci', 'character_set_connection':'utf8', 'character_set_client':'latin1'}"
"set character_set_connection='utf8mb4'; set charset utf8; set character_set_client='latin1'; set collation_connection='latin1_swedish_ci';", "{'character_set_results':'utf8', 'collation_connection':'latin1_swedish_ci', 'character_set_connection':'latin1', 'character_set_client':'latin1'}""set names latin7", "{'character_set_results':'latin7', 'collation_connection':'latin7_general_ci', 'character_set_connection':'latin7', 'character_set_client':'latin7'}"
"set names utf8; set character_set_connection='utf8mb4'; set character_set_database='latin1'; set charset utf8;", "{'character_set_results':'utf8', 'collation_connection':'latin1_swedish_ci', 'character_set_connection':'latin1', 'character_set_client':'utf8', 'character_set_database':'latin1'}"
"set character_set_client='utf8mb4'; set names utf8; set character_set_connection='latin1';", "{'character_set_results':'utf8', 'collation_connection':'latin1_swedish_ci', 'character_set_connection':'latin1', 'character_set_client':'utf8'}"
"set character_set_database='latin1'; set character_set_connection='utf8mb4'; set names utf8; set character_set_client='latin1';", "{'character_set_database':'latin1', 'character_set_results':'utf8', 'collation_connection':'utf8_general_ci', 'character_set_connection':'utf8', 'character_set_client':'latin1'}"
"set character_set_connection='utf8mb4'; set names utf8; set character_set_client='latin1'; set collation_connection='latin1_swedish_ci';", "{'character_set_results':'utf8', 'collation_connection':'latin1_swedish_ci', 'character_set_connection':'latin1', 'character_set_client':'latin1'}""set names latin7", "{'character_set_results':'latin7', 'collation_connection':'latin7_general_ci', 'character_set_connection':'latin7', 'character_set_client':'latin7'}"