From: Peter Rabbitson Date: Mon, 2 Mar 2015 06:08:00 +0000 (+0100) Subject: Remove warning introduced in 75a1d824d X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=cff17b977312a6ebe079049603df300397c030d9;p=dbsrgits%2FDBIx-Class.git Remove warning introduced in 75a1d824d --- diff --git a/Changes b/Changes index 13d47c7..d94a1fd 100644 --- a/Changes +++ b/Changes @@ -15,6 +15,7 @@ Revision history for DBIx::Class timeout lock-prone. * Misc + - Remove warning about potential side effects of RT#79576 (scheduled) - Skip tests in a way more intelligent and speedy manner when optional dependencies are missing - Make the Optional::Dependencies error messages cpanm-friendly diff --git a/lib/DBIx/Class/Storage/DBI/SQLite.pm b/lib/DBIx/Class/Storage/DBI/SQLite.pm index 9cb3df5..4311bdf 100644 --- a/lib/DBIx/Class/Storage/DBI/SQLite.pm +++ b/lib/DBIx/Class/Storage/DBI/SQLite.pm @@ -61,14 +61,9 @@ 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 will currently detect when this condition (more than one -stringifiable object in one CRUD call) is encountered and will issue a warning -pointing to this section. This warning will be removed 2 years from now, -around April 2015, You can disable it after you've audited your data by -setting the C environment variable. Note - the warning -is emitted only once per callsite per process and only when the condition in -question is encountered. Thus it is very unlikely that your logsystem will be -flooded as a result of this. +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. =back @@ -317,14 +312,7 @@ sub _dbi_attrs_for_bind { = modver_gt_or_eq('DBD::SQLite', '1.37') ? 1 : 0; } - # an attempt to detect former effects of RT#79576, bug itself present between - # 0.08191 and 0.08209 inclusive (fixed in 0.08210 and higher) - my $stringifiable = 0; - for my $i (0.. $#$bindattrs) { - - $stringifiable++ if ( length ref $bind->[$i][1] and is_plain_value($bind->[$i][1]) ); - if ( defined $bindattrs->[$i] and @@ -367,14 +355,6 @@ sub _dbi_attrs_for_bind { } } - carp_unique( - 'POSSIBLE *PAST* DATA CORRUPTION detected - see ' - . 'DBIx::Class::Storage::DBI::SQLite/RT79576 or ' - . 'http://v.gd/DBIC_SQLite_RT79576 for further details or set ' - . '$ENV{DBIC_RT79576_NOWARN} to disable this warning. Trigger ' - . 'condition encountered' - ) if (!$ENV{DBIC_RT79576_NOWARN} and $stringifiable > 1); - return $bindattrs; } diff --git a/t/100populate.t b/t/100populate.t index 7324bce..5102118 100644 --- a/t/100populate.t +++ b/t/100populate.t @@ -384,8 +384,6 @@ lives_ok { # test all kinds of population with stringified objects # or with empty sets warnings_like { - local $ENV{DBIC_RT79576_NOWARN}; - my $rs = $schema->resultset('Artist')->search({}, { columns => [qw(name rank)], order_by => 'artistid' }); # the stringification has nothing to do with the artist name @@ -506,18 +504,7 @@ warnings_like { ); $rs->delete; -} [ - # warning to be removed around Apr 1st 2015 - # smokers start failing a month before that - ( - ( DBICTest::RunMode->is_author and ( time() > 1427846400 ) ) - or - ( DBICTest::RunMode->is_smoker and ( time() > 1425168000 ) ) - ) - ? () - # one unique for populate() and create() each - : (qr/\QPOSSIBLE *PAST* DATA CORRUPTION detected \E.+\QTrigger condition encountered at @{[ __FILE__ ]} line\E \d/) x 4 -], 'Data integrity warnings as planned'; +} [], 'Data integrity warnings gone as planned'; $schema->is_executed_sql_bind( sub {