Bug #16164 Easter egg
Submitted: 3 Jan 2006 20:01 Modified: 3 May 2006 15:48
Reporter: Peter Gulutzan Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Documentation Severity:S1 (Critical)
Version:5.1.5-alpha-debug OS:Linux (SUSE 10.0)
Assigned to: Stefan Hinz CPU Architecture:Any

[3 Jan 2006 20:01] Peter Gulutzan
Description:
It's easy to cause "Malformed packet" and
"Lost connection to MySQL server" errors with
the undocumented and unapproved SHOW AUTHORS
statement. But even if it were hard (i.e. even
if it had taken me more than 2 minutes to
get these errors): Undocumented Features Are Bugs.

MySQL AB has a process for adding features.
If you think your easter egg has merit, try to
get it through the process, including
worklog, code review, QA, and documentation.

"Easter eggs are a bad idea ...there should be
nothing in a piece of production code that hasn't
been documented, debugged, bulletproofed and approved."
-- Frank Hayes, Computerworld's senior news columnist

"Brian Valentine [Microsoft Vice President] has made it QUITE clear
that you will be IMMEDIATELY terminated for introducing an easter egg
into the OS ... Why are they so bad? Because the people who pay the
bills around here (the corporate customers) made it quite clear to
Microsoft that they considered Easter Eggs to be a major issue -
and we responded to their concerns."
-- Larry Osterman, Microsoft blogger

How to repeat:
mysql> delimiter //
mysql> create function f2() returns int begin declare v int default 0; while v <                                            1000 do show authors; set v = v + 1; end while; return 5; end//
Query OK, 0 rows affected (0.01 sec)

mysql> select f2()//
ERROR 2027 (HY000): Malformed packet
mysql> drop function f2//
Packets out of order (Found: 5, expected 1)
ERROR 2013 (HY000): Lost connection to MySQL server during query
[3 Jan 2006 22:06] MySQL Verification Team
miguel@hegel:~/dbs/5.1> bin/mysql -uroot test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.1.5-alpha-debug

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> delimiter //
mysql> create function f2() returns int begin declare v int default 0; while v <
    ->                                            1000 do show authors; set v = v + 1;
    -> end while; return 5; end//
Query OK, 0 rows affected (0.01 sec)

mysql> select f2()//
ERROR 2027 (HY000): Malformed packet
mysql> drop function f2//
Packets out of order (Found: 5, expected 1)
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
[12 Mar 2006 16:46] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/3752
[16 Mar 2006 8:41] Konstantin Osipov
Prohibited use of SHOW AUTHORS in stored functions, as it returns a result set.
[16 Mar 2006 8:46] Konstantin Osipov
Pushed into 5.1.8
[16 Mar 2006 15:08] Paul DuBois
No changelog entry needed.
[19 May 2006 10:18] Stefan Hinz
The actual bug reported here (that caused "Malformed packet" and "Lost connection to MySQL server" errors with the undocumented and unapproved SHOW AUTHORS statement) has been fixed in the meantime.
[19 May 2006 11:12] Hartmut Holzgraefe
I have created a new bug report (bug #19939) for the documentation status
of SHOW AUTHORS now. As AUTHORS has now become a reserved keyword
it needs to be documented as such at least.
[19 May 2006 13:36] Peter Gulutzan
The "actual bug reported here" was not strictly about packets out of order,
as is clear from reading the description. Since the unwarranted change
has apparently confused some people, I have restored the original
correct bug title, "Easter egg".