void MySQL_Connection::set_names_start() { PROXY_TRACE(); const CHARSET_INFO * c = proxysql_find_charset_nr(options.charset); if (!c) { proxy_error("Not existing charset number %u\n", options.charset); assert(0); } async_exit_status = mysql_set_character_set_start(&interr,mysql, c->csname); }
LUA_API int set_character_set_start(lua_State *L) { conn_data *conn = getconnection(L); const char *charset = luaL_checkstring(L, 2); int ret = 0; int status = mysql_set_character_set_start(&ret, &conn->my_conn, charset); if (status) { REF_CO(conn); wait_for_status(L, conn, &conn->my_conn, status, set_character_set_cont, 0); return lua_yield(L, 0); } else if (ret == 0) { lua_pushboolean(L, 1); return 1; } else { return luamariadb_push_errno(L, conn); } }