NOTE - This section applies to you only if ALL of these are true: * You are or were using DBD::SQLite with a version lesser than 1.38_01 * You are or were using DBIx::Class versions between 0.08191 and 0.08209 (inclusive) or between 0.08240-TRIAL and 0.08242-TRIAL (also inclusive) * You use objects with overloaded stringification and are feeding them to DBIC CRUD methods directly
In order to trigger the bug condition one needs to supply <B>more than oneB> bind value that is an object with overloaded stringification (numification is not relevant, only stringification is). When this is the case the internal DBIx::Class call to $sth->bind_param would be executed in a way that triggers the above-mentioned DBD::SQLite bug. As a result all the logs and tracers will contain the expected values, however SQLite will receive <B>allB> these bind positions being set to the value of the <B>lastB> supplied stringifiable object.
Even if you upgrade DBIx::Class (which works around the bug starting from version 0.08210) you may still have corrupted/incorrect data in your database. DBIx::Class warned about this condition for several years, hoping to give anyone affected sufficient notice of the potential issues. The warning was removed in version 0.082900.
on_connect_call => use_foreign_keys
In connect_info to turn on foreign key (including cascading) support for recent versions of SQLite and DBD::SQLite.
PRAGMA foreign_keys = ON
See <http://www.sqlite.org/foreignkeys.html> for more information.
Check the list of additional DBIC resources.
This module is free software copyright by the DBIx::Class (DBIC) authors. You can redistribute it and/or modify it under the same terms as the DBIx::Class library.
|perl v5.20.3||DBIX::CLASS::STORAGE::DBI::SQLITE (3)||2016-02-11|