mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix for BUG#47671 - wrong character-set after upgrade from 5.1.34 to 5.1.39
mysql client displays wrong character-set of server. When a user changes the charset of a server, mysql client 'status' command displays wrong charset but the command "SHOW VARIABLES LIKE "%charset%" displayed correct charset results. The problem is only with the mysql client's 'status' command output. In mysql client, the method mysql_store_lazy_result() returns 0 for success and non-zero for failure. The method com_status() was using this method wrongly. Fixed all such instances according to return value of the method mysql_store_lazy_result(). client/mysql.cc: Fix for BUG#47671 - wrong character-set after upgrade from 5.1.34 to 5.1.39 Fix com_status() method to use mysql_store_lazy_result() properly. mysql-test/r/bug47671.result: Fix for BUG#47671 - wrong character-set after upgrade from 5.1.34 to 5.1.39 Testcase for BUG#47671 mysql-test/t/bug47671-master.opt: Fix for BUG#47671 - wrong character-set after upgrade from 5.1.34 to 5.1.39 Testcase for BUG#47671 mysql-test/t/bug47671.test: Fix for BUG#47671 - wrong character-set after upgrade from 5.1.34 to 5.1.39 Testcase for BUG#47671
This commit is contained in:
@ -4335,7 +4335,7 @@ com_status(String *buffer __attribute__((unused)),
|
||||
Don't remove "limit 1",
|
||||
it is protection againts SQL_SELECT_LIMIT=0
|
||||
*/
|
||||
if (mysql_store_result_for_lazy(&result))
|
||||
if (!mysql_store_result_for_lazy(&result))
|
||||
{
|
||||
MYSQL_ROW cur=mysql_fetch_row(result);
|
||||
if (cur)
|
||||
@ -4379,7 +4379,7 @@ com_status(String *buffer __attribute__((unused)),
|
||||
if (mysql_errno(&mysql) == CR_SERVER_GONE_ERROR)
|
||||
return 0;
|
||||
}
|
||||
if (mysql_store_result_for_lazy(&result))
|
||||
if (!mysql_store_result_for_lazy(&result))
|
||||
{
|
||||
MYSQL_ROW cur=mysql_fetch_row(result);
|
||||
if (cur)
|
||||
|
Reference in New Issue
Block a user