* Rick James <rjames@stripped> [09/06/10 22:33]:
> 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.
DELAYED is not a hint that can be safely ignored.
It has semantical consequences.
I.e. if you violate a primary key or SQL mode rules, you will
never know, the row will be silently skipped.
Your insert is no longer part of your transaction.
--