Description:
I can say "SET PASSWORD" in a function. Predictably, this leads to trouble. Soon I get
"Packets out of order".
How to repeat:
mysql> create function pass2 () returns char begin SET PASSWORD FOR
'bob'@'%.loc.gov' = PASSWORD('newpass'); return 'okay'; end;//
Query OK, 0 rows affected (0.01 sec)
mysql> select pass2()//
ERROR 1133 (42000): Can't find any matching row in the user table
mysql> select pass2()//
Packets out of order (Found: 5, expected 1)
ERROR 2013 (HY000): Lost connection to MySQL server during query
Suggested fix:
Don't allow SET PASSWORD in a function.
Description: I can say "SET PASSWORD" in a function. Predictably, this leads to trouble. Soon I get "Packets out of order". How to repeat: mysql> create function pass2 () returns char begin SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass'); return 'okay'; end;// Query OK, 0 rows affected (0.01 sec) mysql> select pass2()// ERROR 1133 (42000): Can't find any matching row in the user table mysql> select pass2()// Packets out of order (Found: 5, expected 1) ERROR 2013 (HY000): Lost connection to MySQL server during query Suggested fix: Don't allow SET PASSWORD in a function.