[Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial
round two - v0.08241
Wolfgang Kinkeldei
wolfgang at kinkeldei.de
Wed Feb 20 13:44:56 GMT 2013
Hi,
I found one query in a current project that fails under 0.08241 but worked until 0.08208 (0.08240 left untested).
my join/columns combinations of do no longer work in combination with Hashref-inflation. A minimal query that triggers the message looks like:
$schema->resultset('Subelement')
->search(
{
'me.element_id' => { -in => [40000 .. 40010] },
},
{
join => [
{ element => 'concept' },
],
columns => [
qw(me.subelement_id me.foldername concept.concept_id concept.foldername)
],
})
->as_hashref
->all
there are 'belongs_to' relations existing: 'subelement' -> 'element' -> 'concept'. However, there is no relationship between 'subelement' and 'concept' as assumed by the Hashref-Inflator.
The error message reported reads:
"DBIx::Class::ResultSet::all(): Inflation into non-existent relationship 'concept' of 'Subelement' requested, check the inflation specification (columns/as) ending in '...concept.concept_id' "
Am 20.02.2013 um 12:31 schrieb Peter Rabbitson:
> Greetings
>
> Another release of the experimental constructor rewrite just hit CPAN.
> Please grab and test 0.08241-TRIAL from our nearest mirror [1]. You
> can install the release in question by simply executing:
>
> cpan R/RI/RIBASUSHI/DBIx-Class-0.08241-TRIAL.tar.gz
>
> or
>
> cpanm http://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.08241-TRIAL.tar.gz
>
> If the previous experimental release 0.08240 worked for you without
> any glitches - the same should be true for 0.08241. If you have not yet
> tested - PLEASE DO SO. If the release team does not hear anything within
> a couple of weeks this will become the official 0.08250, and you will get
> little sympathy if it ends up breaking your production afterwards ;)
>
> A minimal amount of changes, mostly dealing with providing even more
> compatibility with existing codebases. The notable change as described
> in the commit message of 52864fbd [2]
>
> . . . we no longer take an educated guess when to prune.
> Instead we mark each null-branch by simply blessing its containing
> arrayref. This allows us to keep the arguments to inflate_result 100%
> backwards compatible, while at the same time allowing "enlightened"
> inflate_result implementations to skip over the dead branches with
> minimal effort.
>
> Both ::Row::inflate_result and ::HRI::inflate_result were adjusted to
> react correctly to these marks. As a result the HRI folder gained
> another 5% speedup (unless sidestepped by the direct-to-HRI code, which
> is naturally much much more efficient).
>
> Cheers and thanks for testing!
>
> [1] https://metacpan.org/release/RIBASUSHI/DBIx-Class-0.08241-TRIAL
> [2] https://github.com/dbsrgits/dbix-class/commit/52864fbd
>
>
> _______________________________________________
> 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
Grüße,
Wolfgang Kinkeldei
--
' /\_/\ ' .print[split??,"".(($/=q|Cms)+-03467:;<=|)=~tr!C-z -B! -z!)x
'( o.o )' .$/]->[hex]foreach split qr<>,qq+1ecd039ad65b025b8063475b+||
' > ^ < ' .q<!-- Wolfgang Kinkeldei - wolfgang at kinkeldei dot de -->
More information about the DBIx-Class
mailing list