[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#780968: unblock: libdbix-class-perl/0.082810-2 [pre-approval]



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

We have been contacted by Peter Rabbitson (ribasushi), the upstream
author of DBIx-Class (libdbix-class-perl, prominent ORM for Perl)
about the possibility to include some changes to DBIx-Class for
jessie which fix regressions or silly oversights which were detected
and reported on the upstream mailing list or on github since the
release of the version currently in jessie and which are fixed in the
new upstream release.

ribasushi went out of his way and prepared two targetted git branches
for Debian:

wip/pkg-picks/debian_base ("got to have"):
https://github.com/dbsrgits/dbix-class/compare/v0.082810...wip/pkg-picks/debian_base?diff=unified&name=wip%2Fpkg-picks%2Fdebian

wip/pkg-picks/debian_extra ("nice to have and innocent")
https://github.com/dbsrgits/dbix-class/compare/v0.082810...wip/pkg-picks/debian_extra?diff=unified&name=wip%2Fpkg-picks%2Fdebian


I've now imported the 5 commits as quilt patches (minus the changes
to AUTHORS and .mailcap to reduce the diff even further), and here's
a quick rundown (commit messages and description in the Changes file):

* 0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch (debian_base):

Subject: [PATCH 1/5] Relax sanity check in _resolve_relationship_condition

This woud be a clear regression for a broad range of downstream Apps
compared to the behavior of 0.08196

+    * Fixes
+        - Relax the 'self_result_object' argument check in the relationship
+          resolution codepath, restoring exotic uses of inflate_result
+          http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011876.html


* 0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch (debian_base):

Subject: [PATCH 2/5] Remove runtime warning not applicable to the slow-moving
 world of debian

While the problem *was* affecting 0.08196, it's not something that would
be of use to many debian production users, and in fact can generate many
misguided bugreports (the warned-about and raher rare condition has been
fixed since 0.08210)

+    * Misc
+        - Remove warning about potential side effects of RT#79576 (scheduled)


* 0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch (debian_extra):

Subject: [PATCH 3/5] Fix updating multiple CLOB/BLOB columns on Oracle

The genric _dbi_attrs_for_bind caches the attribute hashrefs by data
type, so we can't modify them directly with column-specific data.

Instead, copy it and add the ora_field attribute to the copy.

+        - Fix updating multiple CLOB/BLOB columns on Oracle


* 0004-Fix-exception-on-complex-update-delete-under-a-repli.patch (debian_extra):

Subject: [PATCH 4/5] Fix exception on complex update/delete under a replicated
 setup

THIS COMMIT IS A HACK!!! The actual fix is migration of the logic to the
SQLMaker subclass and deal with it there. However the entire class hierarchy
is currently in flux, so go with the least invasive change until the storage
rewrite settles.

+        - Fix exception on complex update/delete under a replicated setup
+          http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011903.html


* 0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch (debian_extra):

Subject: [PATCH 5/5] Fix uninitialized warnings on empty hashes passed to
 join/prefetch

+        - Fix uninitialized warnings on empty hashes passed to join/prefetch
+          https://github.com/vanstyn/RapidApp/commit/6f41f6e48 and
+          http://lists.scsys.co.uk/pipermail/dbix-class/2015-February/011921.html


All the changes to the code amount to:

% git diff lib/ | diffstat 
 ResultSet.pm                  |    2 ++
 ResultSource.pm               |    4 ++--
 Storage/DBI/Oracle/Generic.pm |   16 +++++++++++-----
 Storage/DBI/Replicated.pm     |    3 ++-
 Storage/DBI/SQLite.pm         |   26 +++-----------------------
 5 files changed, 20 insertions(+), 31 deletions(-)

(actually less, since there are comments and POD changes involved)


debian/changelog would be something like

libdbix-class-perl (0.082810-2) UNRELEASED; urgency=medium

  * Add patches cherry-picked by upstream to fix some regressions.

    - 0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch
      Relax sanity check in _resolve_relationship_condition
    - 0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch
      Remove runtime warning not applicable to the slow-moving world of debian
    - 0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch
      Fix updating multiple CLOB/BLOB columns on Oracle
    - 0004-Fix-exception-on-complex-update-delete-under-a-repli.patch
      Fix exception on complex update/delete under a replicated setup
    - 0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch   
      Fix uninitialized warnings on empty hashes passed to join/prefetch

    Thanks to Peter Rabbitson for cherry-picking the changes in git branches
    for Debian.

 -- gregor herrmann <gregoa@debian.org>  Sun, 22 Mar 2015 16:31:14 +0100


My personal evaluation is that 0001 and 0002 (the two commits in the
debian_base branch) should definitly go into wheezy; 0003 might not
be necessary since we don't ship DBD::Oracle in jessie but people
might use there own packages, so I'd take it; and 0004/0005 are
trivial, so I'd take them as well.


Complete proposed debdiff attached.


ribasushi, feel free to add anything important I might have missed :)



Cheers,
gregor

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQJ8BAEBCgBmBQJVDuOpXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREMUUxMzE2RTkzQTc2MEE4MTA0RDg1RkFC
QjNBNjgwMTg2NDlBQTA2AAoJELs6aAGGSaoGlukP/j6a6PP+8Gxx1uw/WuVkT1nn
OI7BU8VndGhd5oPOIBw48yUJh8MolXZa6QlRBn6QhmC1STEj4ZBihYP3uma5Nw5y
LELjcOvh5DzBRtV38CUWo3Llu1g5aUfInNdx77rYfb0kNyXW6xRQ9o24FM7fEl8K
yKgCyX6wHvS3d6RtL6LeIa5efehx+/8vI5q1xUocnGlkgaDnEC0gx4Q1D9z8wEtv
T81hn6/eWXLJejH4I3A72Ad1Bbp7Di6azdHUaZs89af51moYsoa+97E8KPO+HTey
YjNae5zKfhyZxEz0jW/mOt7vHEpatgTyCiZjtHmK63r5x8VyZYJfgL4N97BpI17u
MpbMO36Y3yOroqKdhXNXJhPjALz27Y0CgPAlOhG1HvHVVjEsSDt9zibwEFjqF3M/
72AO2uCWCLBXlkXMdDM1zWO7XzlwAVfP6Rhjw/GjofCw0v69vuHrO0eSvq7nIR7Z
xqQTnJ7JTGkqtGnfU/CE7jRxAgedvg0IsJLSu+wJGiXg9ffwVJyiLJSekW37cpFP
xDrXSi/8q68nf4VOhO14tDxmyqxXAnV4fzxcPxTtPniZp9hnnF3MmKvzIKlnpfPB
SvzSX4rOA4ZVJvhDNeCAlDXz2XIOxRuhQRGUpmafxF+eWgRkdIoG/chbZ+QQuUap
ImnIwCAPe5KpVZrfnq3m
=pAhp
-----END PGP SIGNATURE-----
diff -Nru libdbix-class-perl-0.082810/debian/changelog libdbix-class-perl-0.082810/debian/changelog
--- libdbix-class-perl-0.082810/debian/changelog	2014-10-25 18:36:07.000000000 +0200
+++ libdbix-class-perl-0.082810/debian/changelog	2015-03-22 16:39:55.000000000 +0100
@@ -1,3 +1,23 @@
+libdbix-class-perl (0.082810-2) UNRELEASED; urgency=medium
+
+  * Add patches cherry-picked by upstream to fix some regressions.
+
+    - 0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch
+      Relax sanity check in _resolve_relationship_condition
+    - 0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch
+      Remove runtime warning not applicable to the slow-moving world of debian
+    - 0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch
+      Fix updating multiple CLOB/BLOB columns on Oracle
+    - 0004-Fix-exception-on-complex-update-delete-under-a-repli.patch
+      Fix exception on complex update/delete under a replicated setup
+    - 0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch
+      Fix uninitialized warnings on empty hashes passed to join/prefetch
+
+    Thanks to Peter Rabbitson for cherry-picking the changes in git branches
+    for Debian.
+
+ -- gregor herrmann <gregoa@debian.org>  Sun, 22 Mar 2015 16:31:14 +0100
+
 libdbix-class-perl (0.082810-1) unstable; urgency=medium
 
   * Import upstream version 0.082810-1.
diff -Nru libdbix-class-perl-0.082810/debian/patches/0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch libdbix-class-perl-0.082810/debian/patches/0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch
--- libdbix-class-perl-0.082810/debian/patches/0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch	1970-01-01 01:00:00.000000000 +0100
+++ libdbix-class-perl-0.082810/debian/patches/0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch	2015-03-22 16:39:55.000000000 +0100
@@ -0,0 +1,46 @@
+From 5ea3b0ea916b1c1d37b94be3e0522938ccc4dae6 Mon Sep 17 00:00:00 2001
+From: Peter Rabbitson <ribasushi@cpan.org>
+Date: Fri, 13 Mar 2015 13:43:08 +0100
+Subject: [PATCH 1/5] Relax sanity check in _resolve_relationship_condition
+
+This woud be a clear regression for a broad range of downstream Apps
+compared to the behavior of 0.08196
+
+It doesn't buy much and breaks legitimate class redirection techniques
+(some of them even documented in the cookbook)
+
+(cherry pick of 7411a51d)
+---
+ Changes                        | 5 +++++
+ lib/DBIx/Class/ResultSource.pm | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+--- a/Changes
++++ b/Changes
+@@ -1,5 +1,10 @@
+ Revision history for DBIx::Class
+ 
++    * Fixes
++        - Relax the 'self_result_object' argument check in the relationship
++          resolution codepath, restoring exotic uses of inflate_result
++          http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011876.html
++
+ 0.082810 2014-10-25 13:58 (UTC)
+     * Fixes
+         - Fix incorrect collapsing-parser source being generated in the
+--- a/lib/DBIx/Class/ResultSource.pm
++++ b/lib/DBIx/Class/ResultSource.pm
+@@ -1904,11 +1904,11 @@
+ 
+   $args->{condition} ||= $rel_info->{cond};
+ 
+-  $self->throw_exception( "Argument 'self_result_object' must be an object of class '@{[ $self->result_class ]}'" )
++  $self->throw_exception( "Argument 'self_result_object' must be an object inheriting from DBIx::Class::Row" )
+     if (
+       exists $args->{self_result_object}
+         and
+-      ( ! defined blessed $args->{self_result_object} or ! $args->{self_result_object}->isa($self->result_class) )
++      ( ! defined blessed $args->{self_result_object} or ! $args->{self_result_object}->isa('DBIx::Class::Row') )
+     )
+   ;
+ 
diff -Nru libdbix-class-perl-0.082810/debian/patches/0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch libdbix-class-perl-0.082810/debian/patches/0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch
--- libdbix-class-perl-0.082810/debian/patches/0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch	1970-01-01 01:00:00.000000000 +0100
+++ libdbix-class-perl-0.082810/debian/patches/0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch	2015-03-22 16:39:55.000000000 +0100
@@ -0,0 +1,111 @@
+From 800161301a3ad18f1ebb9b377a275c73ea8aaa93 Mon Sep 17 00:00:00 2001
+From: Peter Rabbitson <ribasushi@cpan.org>
+Date: Mon, 2 Mar 2015 07:08:00 +0100
+Subject: [PATCH 2/5] Remove runtime warning not applicable to the slow-moving
+ world of debian
+
+While the problem *was* affecting 0.08196, it's not something that would
+be of use to many debian production users, and in fact can generate many
+misguided bugreports (the warned-about and raher rare condition has been
+fixed since 0.08210)
+
+(cherry pick of 93cef6c0)
+---
+ Changes                              |  3 +++
+ lib/DBIx/Class/Storage/DBI/SQLite.pm | 26 +++-----------------------
+ t/100populate.t                      | 15 +--------------
+ 3 files changed, 7 insertions(+), 37 deletions(-)
+
+--- a/Changes
++++ b/Changes
+@@ -5,6 +5,9 @@
+           resolution codepath, restoring exotic uses of inflate_result
+           http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011876.html
+ 
++    * Misc
++        - Remove warning about potential side effects of RT#79576 (scheduled)
++
+ 0.082810 2014-10-25 13:58 (UTC)
+     * Fixes
+         - Fix incorrect collapsing-parser source being generated in the
+--- a/lib/DBIx/Class/Storage/DBI/SQLite.pm
++++ b/lib/DBIx/Class/Storage/DBI/SQLite.pm
+@@ -61,14 +61,9 @@
+ 
+ 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<DBIC_RT79576_NOWARN> 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 @@
+       = 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 @@
+     }
+   }
+ 
+-  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;
+ }
+ 
+--- a/t/100populate.t
++++ b/t/100populate.t
+@@ -385,8 +385,6 @@
+ # 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
+@@ -507,18 +505,7 @@
+   );
+ 
+   $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 {
diff -Nru libdbix-class-perl-0.082810/debian/patches/0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch libdbix-class-perl-0.082810/debian/patches/0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch
--- libdbix-class-perl-0.082810/debian/patches/0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch	1970-01-01 01:00:00.000000000 +0100
+++ libdbix-class-perl-0.082810/debian/patches/0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch	2015-03-22 16:39:55.000000000 +0100
@@ -0,0 +1,52 @@
+From 5713726d6eda6797caf886ba9c29ee0a423f75ac Mon Sep 17 00:00:00 2001
+From: "Kevin L. Kane" <kevin.kane@gmail.com>
+Date: Tue, 18 Nov 2014 08:02:33 -0500
+Subject: [PATCH 3/5] Fix updating multiple CLOB/BLOB columns on Oracle
+
+The genric _dbi_attrs_for_bind caches the attribute hashrefs by data
+type, so we can't modify them directly with column-specific data.
+
+Instead, copy it and add the ora_field attribute to the copy.
+
+(cherry pick of 3d02b69a)
+---
+ AUTHORS                                      |  1 +
+ Changes                                      |  1 +
+ lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm | 16 +++++++++++-----
+ 3 files changed, 13 insertions(+), 5 deletions(-)
+
+--- a/Changes
++++ b/Changes
+@@ -4,6 +4,7 @@
+         - Relax the 'self_result_object' argument check in the relationship
+           resolution codepath, restoring exotic uses of inflate_result
+           http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011876.html
++        - Fix updating multiple CLOB/BLOB columns on Oracle
+ 
+     * Misc
+         - Remove warning about potential side effects of RT#79576 (scheduled)
+--- a/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
++++ b/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
+@@ -419,11 +419,17 @@
+ 
+   my $attrs = $self->next::method($ident, $bind);
+ 
+-  for my $i (0 .. $#$attrs) {
+-    if (keys %{$attrs->[$i]||{}} and my $col = $bind->[$i][0]{dbic_colname}) {
+-      $attrs->[$i]{ora_field} = $col;
+-    }
+-  }
++  # Push the column name into all bind attrs, make sure to *NOT* write into
++  # the existing $attrs->[$idx]{..} hashref, as it is cached by the call to
++  # next::method above.
++  $attrs->[$_]
++    and
++  keys %{ $attrs->[$_] }
++    and
++  $bind->[$_][0]{dbic_colname}
++    and
++  $attrs->[$_] = { %{$attrs->[$_]}, ora_field => $bind->[$_][0]{dbic_colname} }
++    for 0 .. $#$attrs;
+ 
+   $attrs;
+ }
diff -Nru libdbix-class-perl-0.082810/debian/patches/0004-Fix-exception-on-complex-update-delete-under-a-repli.patch libdbix-class-perl-0.082810/debian/patches/0004-Fix-exception-on-complex-update-delete-under-a-repli.patch
--- libdbix-class-perl-0.082810/debian/patches/0004-Fix-exception-on-complex-update-delete-under-a-repli.patch	1970-01-01 01:00:00.000000000 +0100
+++ libdbix-class-perl-0.082810/debian/patches/0004-Fix-exception-on-complex-update-delete-under-a-repli.patch	2015-03-22 16:39:55.000000000 +0100
@@ -0,0 +1,47 @@
+From adc715e3c685ec81f9a000ce88c19f33736557e8 Mon Sep 17 00:00:00 2001
+From: Peter Rabbitson <ribasushi@cpan.org>
+Date: Tue, 17 Mar 2015 16:21:47 +0100
+Subject: [PATCH 4/5] Fix exception on complex update/delete under a replicated
+ setup
+
+THIS COMMIT IS A HACK!!! The actual fix is migration of the logic to the
+SQLMaker subclass and deal with it there. However the entire class hierarchy
+is currently in flux, so go with the least invasive change until the storage
+rewrite settles.
+
+(cherry pick of 7f95ea99)
+---
+ Changes                                  | 2 ++
+ lib/DBIx/Class/Storage/DBI/Replicated.pm | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+--- a/Changes
++++ b/Changes
+@@ -5,6 +5,8 @@
+           resolution codepath, restoring exotic uses of inflate_result
+           http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011876.html
+         - Fix updating multiple CLOB/BLOB columns on Oracle
++        - Fix exception on complex update/delete under a replicated setup
++          http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011903.html
+ 
+     * Misc
+         - Remove warning about potential side effects of RT#79576 (scheduled)
+--- a/lib/DBIx/Class/Storage/DBI/Replicated.pm
++++ b/lib/DBIx/Class/Storage/DBI/Replicated.pm
+@@ -307,6 +307,7 @@
+     _parse_connect_do
+     savepoints
+     _sql_maker_opts
++    _use_multicolumn_in
+     _conn_pid
+     _dbh_autocommit
+     _native_data_type
+@@ -363,7 +364,7 @@
+     # the capability framework
+     # not sure if CMOP->initialize does evil things to DBIC::S::DBI, fix if a problem
+     grep
+-      { $_ =~ /^ _ (?: use | supports | determine_supports ) _ /x }
++      { $_ =~ /^ _ (?: use | supports | determine_supports ) _ /x and $_ ne '_use_multicolumn_in' }
+       ( Class::MOP::Class->initialize('DBIx::Class::Storage::DBI')->get_all_method_names )
+   )],
+ };
diff -Nru libdbix-class-perl-0.082810/debian/patches/0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch libdbix-class-perl-0.082810/debian/patches/0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch
--- libdbix-class-perl-0.082810/debian/patches/0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch	1970-01-01 01:00:00.000000000 +0100
+++ libdbix-class-perl-0.082810/debian/patches/0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch	2015-03-22 16:39:55.000000000 +0100
@@ -0,0 +1,39 @@
+From a7cd6baa494546f6c0716c70eac31626445d0a1f Mon Sep 17 00:00:00 2001
+From: Henry Van Styn <vanstyn@intellitree.com>
+Date: Wed, 29 Oct 2014 09:25:33 -0400
+Subject: [PATCH 5/5] Fix uninitialized warnings on empty hashes passed to
+ join/prefetch
+
+(cherry-pick of 08eba48c)
+---
+ .mailmap                    | 1 +
+ AUTHORS                     | 1 +
+ Changes                     | 3 +++
+ lib/DBIx/Class/ResultSet.pm | 2 ++
+ 4 files changed, 7 insertions(+)
+
+--- a/Changes
++++ b/Changes
+@@ -7,6 +7,9 @@
+         - Fix updating multiple CLOB/BLOB columns on Oracle
+         - Fix exception on complex update/delete under a replicated setup
+           http://lists.scsys.co.uk/pipermail/dbix-class/2015-January/011903.html
++        - Fix uninitialized warnings on empty hashes passed to join/prefetch
++          https://github.com/vanstyn/RapidApp/commit/6f41f6e48 and
++          http://lists.scsys.co.uk/pipermail/dbix-class/2015-February/011921.html
+ 
+     * Misc
+         - Remove warning about potential side effects of RT#79576 (scheduled)
+--- a/lib/DBIx/Class/ResultSet.pm
++++ b/lib/DBIx/Class/ResultSet.pm
+@@ -3816,8 +3816,10 @@
+ 
+   if (ref $b eq 'HASH') {
+     my ($b_key) = keys %{$b};
++    $b_key = '' if ! defined $b_key;
+     if (ref $a eq 'HASH') {
+       my ($a_key) = keys %{$a};
++      $a_key = '' if ! defined $a_key;
+       if ($a_key eq $b_key) {
+         return (1 + $self->_calculate_score( $a->{$a_key}, $b->{$b_key} ));
+       } else {
diff -Nru libdbix-class-perl-0.082810/debian/patches/series libdbix-class-perl-0.082810/debian/patches/series
--- libdbix-class-perl-0.082810/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ libdbix-class-perl-0.082810/debian/patches/series	2015-03-22 16:39:55.000000000 +0100
@@ -0,0 +1,5 @@
+0001-Relax-sanity-check-in-_resolve_relationship_conditio.patch
+0002-Remove-runtime-warning-not-applicable-to-the-slow-mo.patch
+0003-Fix-updating-multiple-CLOB-BLOB-columns-on-Oracle.patch
+0004-Fix-exception-on-complex-update-delete-under-a-repli.patch
+0005-Fix-uninitialized-warnings-on-empty-hashes-passed-to.patch

Reply to: