[Dbix-class] updated release has broken my code

Lasse Makholm lasse at unity3d.com
Wed Jan 20 18:21:04 GMT 2016


On Wed, Jan 20, 2016 at 4:32 PM, Dave Howorth <dhoworth at mrc-lmb.cam.ac.uk>
wrote:

> I have various applications that use DBIx::Class. I just moved one of
> them, which has been running OK for quite a while, to a new machine and
> that meant it got a new environment, including an updated DBIx::Class. It
> no longer runs, and it would help me to try to understand what is broken in
> my own code if I could understand how the DBIC code works and why it was
> changed. If anybody could give me any pointers, I'd be grateful.
>
> My code is dying with the error message:
>
> DBIx::Class::Row::store_column(): No such column '_type' on
> TDB::Schema::Result::Node
>
> This appears to be caused by a change in the code in DBIx::Class::Row in
> store_column() in particular where
>
>   $self->throw_exception( "No such column '${column}'" )
>     unless exists $self->{_column_data}{$column} ||
> $self->has_column($column);
>
> has been replaced by
>
>   $self->throw_exception( "No such column '${column}' on " . ref $self )
>     unless exists $self->{_column_data}{$column} ||
> $self->result_source->has_column($column);
>
> If I put back the original code there, my application appears to work.
>
> Now my TDB::Schema::Result::Node contains some gnarly code that it will
> take me some time to regain familiarity with, and I think it would help me
> if I understood why that change had been made in DBIx::Class::Row so I
> might get some idea of what I need to change in my own code.
>
> If anybody can point me to the change or provide any explanation, I'd
> appreciate it.
>

https://github.com/dbsrgits/dbix-class/commit/4006691d207a6c257012c4b9a07d674b211349b0

Without knowing what I'm talking about, this would seem to only matter if
you do something funky like dynamically re-blessing result objects...

Does TDB::Schema::Result::Node and the underlying table actually have a
_type column?

/L


>
> Cheers, Dave
>
> PS The old version says it is  '0.08200' and the new is '0.082820'.
>
> _______________________________________________
> List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
> IRC: irc.perl.org#dbix-class
> SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
> Searchable Archive:
> http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20160120/f5d373b4/attachment.htm>


More information about the DBIx-Class mailing list