Bug #7807 wrongful documentation (INSERT DELAYED)
Submitted: 11 Jan 2005 15:46 Modified: 11 Jan 2005 18:20
Reporter: d di (Basic Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:4.0.22 OS:Windows (Windows 2000)
Assigned to: CPU Architecture:Any

[11 Jan 2005 15:46] d di
Description:
The MySQL manual mentions the following in section 13.1.4.2 - "INSERT DELAYED Syntax":

=====
# The DELAYED keyword is silently ignored for InnoDB tables as of MySQL 4.0.14. (For older versions, it caused an error).
=====

This is clearly not true, as at least 4.0.22 does fault with an error instead of silently ignoring the 'DELAYED' keyword. (Sadly, I might add ;-)).

The error received is:
Table handler for '<tablename>' doesn't have this option

How to repeat:
Create an InnoDB table, execute a delayed insert into the table.

Suggested fix:
Correct the MySQL server to have the intended behaviour or correct the manual to reflect the actual behaviour.

Personally, I'd very much like to see the server ignore the keyword for InnoDB tables, as it eases transition from MyISAM to InnoDB in cases where that is needed.

("DELAYED" is probably mostly needed in cases where the server returns slowly from a query because of high insert/select load, in which case one should be using InnoDB instead anyway?  Which means that the above would often be the case.  But this is just speculation of course.)
[11 Jan 2005 18:20] Paul DuBois
Thank you for your bug report. This issue has been addressed in the
documentation. The updated documentation will appear on our website
shortly, and will be included in the next release of the relevant
product(s).

Additional info:

The manual was incorrect. I've removed the statement
that InnoDB ignores DELAYED.