Bug #10381 'INSERT DELAYED' option supports for Memory engine.
Submitted: 5 May 2005 11:50 Modified: 19 May 2005 5:03
Reporter: Disha Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.0.4-beta-standard OS:Any (*)
Assigned to: Jon Stephens CPU Architecture:Any

[5 May 2005 11:50] Disha
Description:
IF we create a table using Memory engine and insert the data into table using the option 'INSERT DELAYED', it works. In manual mentioned that this option works only with MyISAM engine. 

How to repeat:
1. delimiter //
2. create database test//
3. use test
4. drop table if exists t1// 
5. create table t1 (f1 int)engine=memory//
6. insert delayed into t1 values (300)//
7. Observe that step (06) inserts the record in the table of Memory engine also.

Expected Results: As mentioned in the manual that 'INSERT DELAYED' option works 
     only with MyISAM then it should failed with an appropriate error message for 
     the table of Memory engine.

Actual Results  : 'INSERT DELAYED' inserts the record in the table of Memory
     engine.

Additional Info (if any) : 'INSERT DELAYED' does not work with InnoDB engine. If 
     tried to insert the records it fails with an error message. Execute the following,
     1. drop table if exists innodb_t1// 
     2. create table innodb_t1 (f1 int)engine=innodb//
     3. insert delayed into innodb_t1 values (300)//

     The execution of step (03) displays following error message, 
ERROR 1031 (HY000): Table storage engine for 'innodb_t1' doesn't have this option
[5 May 2005 21:38] Geert Vanderkelen
Hi Disha,

Thanks for the report!
It is indeed not documented, and since 4.1 in de source.

mysql-4.1/sql/ha_heap.h:
Line 46: HA_CAN_INSERT_DELAYED);

Regards,

Geert
[19 May 2005 5:03] Jon Stephens
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).