[Dbix-class] any factual comparisons of Oracle, PostgreSQL, MySQL ?

Robert Kinyon rob.kinyon at gmail.com
Thu Apr 14 18:10:13 GMT 2011


On Thu, Apr 14, 2011 at 13:39, Brian E. Lozier <brian at massassi.com> wrote:
>    If strict mode is enabled, an error occurs for transactional
> tables and the statement is rolled back. For nontransactional tables,
> an error occurs, but if this happens for the second or subsequent row
> of a multiple-row statement, the preceding rows will have been
> inserted.
[snip]
> So, it works as expected if you're in strict mode, which I believe was
> only added in version 5.x but please don't quote me on that.  Also, it
> was off by default for a really long time (and may still be).

strict mode is off by default and will remain off by default until at least 6.0

That said, you can always turn it off on a per-session basis. And,
since the database doesn't verify itself when you turn strict mode
back on, the bad data remains, EVEN THOUGH YOU ARE BEING STRICT.

So, strict mode doesn't actually ensure anything other than you cannot
violate it if you choose to be in strict mode at the time you do
something potentially bad. I cannot make any assumptions about the
values returned by my SELECT statement regardless of the mode I'm in
when I execute it.

This is "Bad"™.

Rob



More information about the DBIx-Class mailing list