[Dbix-class] Announcing DBIx::Class 0.08198

Bill Moseley moseley at hank.org
Sat Jul 14 22:53:17 GMT 2012


On Tue, Jul 10, 2012 at 7:59 PM, fREW Schmidt <frioux at gmail.com> wrote:

>     * Fixes
>         - Fix complex has_many prefetch with resultsets not selecting
> identity
>           columns from the root result source
>

I'm wondering if this is related to a problem I'm seeing in this version
where a column listed in _inflated_column is undefined.


I've upgraded to SQL::Abstract 1.73 for both versions of DBIC below.

In 0.08196 I don't see the problem (I can't upgraded to .08197).

In 0.08198 what happens is I end up with a row with an _inflated_column
with the column undef.
In  0.08196 _inflated_column is a row object.

For example, if I'm modeling school work -- if a class has many
assignments, and an assignment has many papers, then:


my $paper =3D $schema->resultset( 'Paper' )->search(
    { 'me.id' =3D> $id },
    {
        prefetch =3D> [
            { assignment =3D> 'class' },
        ],
    }
)->first;

my $assignment =3D $paper->assignment;
warn Dumper $assignment->{_inflated_column};

print $assignment->class->id;


# in .08198 $assignment->{_inflated_column}{class} is undefined
# in .08196 $assignment->{_inflated_column}{class} is a class row object.


Which results in:

$VAR1 =3D {
          'class' =3D> undef
        };
Can't call method "id" on an undefined value ....


If I revert to 96 then "class" references a ::Result::Class object.


Is this a know issue?



-- =

Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20120714/3ab=
477d7/attachment.htm


More information about the DBIx-Class mailing list