List:Internals« Previous MessageNext Message »
From:Rick James Date:June 10 2009 6:24pm
Subject:RE: making "insert delayed" like normal "insert"
View as plain text  
I'll vote for the philosophy that "Hints that don't apply, or that are
deliberately ignored, should be silently ignored."  Perhaps "silent"
could be interpreted as "not an ERROR, but optionally a WARNING".  Some
examples:

USE INDEX might be totally silent, but
FORCE INDEX, when it cannot use that index, might give a WARNING.
(Etc, for FOR GROUP BY)

SQL_CACHE could be totally silent if query_cache_type=OFF.

LEFT JOIN is turned into JOIN is some situation.  There is no ERROR or
WARNING that 'LEFT' is irrelevant.  (Ok, maybe this can't be considered
a 'hint'.)

INT(5) -- I wish this would elicit a WARNING.  Usually that syntax comes
from a novice who has not learned about SMALLINT.

 
Rick James
MySQL Geeks - Consulting & Review

 

> -----Original Message-----
> From: Zardosht Kasheff [mailto:zardosht@stripped] 
> Sent: Wednesday, June 10, 2009 7:22 AM
> To: internals@stripped
> Subject: making "insert delayed" like normal "insert"
> 
> Hello,
> 
> 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?
> 
> Thanks
> -Zardosht
> 
> -- 
> MySQL Internals Mailing List
> For list archives: http://lists.mysql.com/internals
> To unsubscribe:    
> http://lists.mysql.com/internals?unsub=1
> 
> 
Thread
making "insert delayed" like normal "insert"Zardosht Kasheff10 Jun
  • RE: making "insert delayed" like normal "insert"Rick James10 Jun
  • Re: making "insert delayed" like normal "insert"Vladimir Shebordaev10 Jun
    • Re: making "insert delayed" like normal "insert"Zardosht Kasheff10 Jun
  • Re: making "insert delayed" like normal "insert"Konstantin Osipov10 Jun