just in case, current MySQL 5.1 manual says literally the following
"There are some constraints on the use of DELAYED:
* INSERT DELAYED works only with MyISAM, MEMORY, ARCHIVE, and
(as of MySQL 5.1.19) BLACKHOLE tables. For engines that do not support
DELAYED, an error occurs. "
So, that three and a half year old Paul DuBois' comment to the bug
#5777 is a bit outdated. But it seems there is still no point in
"delayed" inserts into transactional storage engines :)
In the hope it helps.
2009/6/10 Zardosht Kasheff <zardosht@stripped>:
> I tried to execute an insert delayed command on an InnoDB table in
> 5.1.35, and received the following error:
> ERROR 1616 (HY000): DELAYED option not supported for table 'foo'
> I know that InnoDB does not support "insert delayed", but the
> following comment in http://bugs.mysql.com/bug.php?id=5777 led me to
> believe that InnoDB would ignore the DELAYED key word and treat it
> like a normal insertion.
> What the manual really should say is that InnoDB no longer
> issues an error for INSERT DELAYED. What happens is that
> InnoDB ignores the DELAYED keyword and processes the
> statement. The row isn't actually delayed.
> I realize that bug 5777 is 5 years old, but it seems that the behavior
> has changed over time.
> As a storage engine developer, we would like to have the intended
> behavior above. We would like for "insert DELAYED" statements to work
> like normal "insert" statements. The reason is so that users currently
> using "insert delayed" will not need to change their scripts to be
> compatible with our storage engine.
> Is there anyway to currently do this?
> MySQL Internals Mailing List
> For list archives: http://lists.mysql.com/internals
> To unsubscribe: http://lists.mysql.com/internals?unsub=1