Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-24 Thread Bill Moseley
On Sun, Feb 24, 2013 at 12:56 AM, Peter Rabbitson wrote:

> > '+columns' => ['external_authentications.md5key'],
> >
> > to this fixed it:
> >
> > '+select' => ['external_authentications.md5key'],
> > '+as' => ['md5key'],
> >
>
> See the "do not change your code" line at the end of:
> http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/09.html
>
>
I saw that.  I'll test again when the new release candidate is ready.


-- 
Bill Moseley
mose...@hank.org
___
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

Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-24 Thread Peter Rabbitson
On Sat, Feb 23, 2013 at 10:14:56PM -0800, Bill Moseley wrote:
> On Wed, Feb 20, 2013 at 5:44 AM, Wolfgang Kinkeldei
> wrote:
> 
> >
> > 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' "
> >
> >
> Just FYI,
> 
> $VERSION = '0.08241';
> 
> I'm seeing the same error:
> 
> DBIx::Class::ResultSet::first(): Inflation into non-existent relationship
> 'external_authentications' of 'Assignment' requested, check the inflation
> specification (columns/as) ending in '...external_authentications.md5key'
> 
> 
> In my case changing from this:
> 
> '+columns' => ['external_authentications.md5key'],
> 
> to this fixed it:
> 
> '+select' => ['external_authentications.md5key'],
> '+as' => ['md5key'],
> 

See the "do not change your code" line at the end of:
http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/09.html



___
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


Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-23 Thread Bill Moseley
On Wed, Feb 20, 2013 at 5:44 AM, Wolfgang Kinkeldei
wrote:

>
> 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' "
>
>
Just FYI,

$VERSION = '0.08241';

I'm seeing the same error:

DBIx::Class::ResultSet::first(): Inflation into non-existent relationship
'external_authentications' of 'Assignment' requested, check the inflation
specification (columns/as) ending in '...external_authentications.md5key'


In my case changing from this:

'+columns' => ['external_authentications.md5key'],

to this fixed it:

'+select' => ['external_authentications.md5key'],
'+as' => ['md5key'],




-- 
Bill Moseley
mose...@hank.org
___
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

Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-22 Thread Peter Rabbitson
On Fri, Feb 22, 2013 at 11:05:53PM +1100, Peter Rabbitson wrote:
> . . . the map is strictly mirroring the 
> current relationship graph of your schema.

To clarify this bit as it is in contradiction with 
http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/09.html

The old behavior will be reenabled for HashRefInflator only to allow 
people to not have to re-audit tons of code where HRI used to work just 
fine. The search() call in that example never worked without HRI and 
will continue to not work in the future, just the exception text will 
become clearer.

___
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


Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-22 Thread Peter Rabbitson
On Fri, Feb 22, 2013 at 11:45:54AM +, Will Crawford wrote:
> On 22 February 2013 11:36, Peter Rabbitson  wrote:
> 
> 
> > At first glance yes. The problem here is that you are incorrectly
> > assuming that given 'concept.concept_id' one can simply infer we are
> > talking about the 'concept' from join => { element => 'concept' }.
> >
> > However the moment *another* 'concept' appears, possibly due to chaining
> > somewhere deep in your app - what do you do? Here is a real test case: [1]
> 
> 
> That problem already exists when referring to the alias of a
> joined/prefetched table in the 'select' list or search specification,
> though - this wouldn't introduce any *new* ambiguity at all, surely?

Incorrect - the 'select' argument takes proper storage-side aliases to 
pass to the SQL generator (currently SQL::Abstract). So in the example 
case you can specify artist.foo or artist_2.foo and everything will 
remain correct. Furthermore frew is working on functionality to allow 
specification of custom alias-names for each node in a thejoin/prefetch 
structure. So that is currently unambiguous but obtuse, and in the 
future will just get easier.

The 'as' specification however is in essence an "inflation_map" (we may 
end up renaming this attribute - it is too confusing as it stands (while 
maintaining backcompat obviously)). In the inflation map there is no 
place for alias interpretation - the map is strictly mirroring the 
current relationship graph of your schema. So again - heuristics on the 
contents of inlation_map/as is *not* something that the core of DBIC can 
provide as it falls squarely in the 80/20 good-enough realm.

And to reiterate - a ResultSet role/component implementing such 
"guessing" is very easy to write and CPANize.


___
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


Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-22 Thread Will Crawford
On 22 February 2013 11:36, Peter Rabbitson  wrote:


> At first glance yes. The problem here is that you are incorrectly
> assuming that given 'concept.concept_id' one can simply infer we are
> talking about the 'concept' from join => { element => 'concept' }.
>
> However the moment *another* 'concept' appears, possibly due to chaining
> somewhere deep in your app - what do you do? Here is a real test case: [1]


That problem already exists when referring to the alias of a
joined/prefetched table in the 'select' list or search specification,
though - this wouldn't introduce any *new* ambiguity at all, surely?
___
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

Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-22 Thread Peter Rabbitson
On Fri, Feb 22, 2013 at 11:23:50AM +, Will Crawford wrote:
> It would probably be more intuitive to return something like:
> 
> {
> element => {
> concept => { concept_id => nnn, foldername => 'xxx' },
> ...
> },
> ...
> }
> 
> ?

At first glance yes. The problem here is that you are incorrectly 
assuming that given 'concept.concept_id' one can simply infer we are 
talking about the 'concept' from join => { element => 'concept' }.

However the moment *another* 'concept' appears, possibly due to chaining 
somewhere deep in your app - what do you do? Here is a real test case: [1]

Bottom line - heuristics at this level is undesireable, however a 
sugar-providing ResultSet role to pre-munge the search attributes living 
outside of DBIx::Class is free to try this.

[1] 
http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits/DBIx-Class.git;a=blob;f=t/prefetch/diamond.t#l23

___
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


Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-22 Thread Will Crawford
It would probably be more intuitive to return something like:

{
element => {
concept => { concept_id => nnn, foldername => 'xxx' },
...
},
...
}

?

I've a couple of similar queries that I wrote before I started using HRI
much, though I had to use +select/+as then get_column(...) in the template
to get at the values. The first one's a lot more frequently used, though
neither that heavily that it's an issue yet.

$c->stash(
sets => [
$c->stash->{set_rs}->search(
{
@filter,
}, {
join => { zone => 'zone_type' },
'+select' => [ 'zone.title', 'zone_type.name' ],
'+as' => [ 'zone_title', 'zone_type' ],
order_by => $order_by
}
)->all
],
template => 'set/index.tt'
);

$c->stash(
collections => [
$c->stash->{rs}->search(
undef, {
'+select' => [ qw/main_media.spl_number/, { array_agg
=> 'contributor.spl_code', -as => 'contributor_codes' } ],
'+as' => [ qw/main_media_number contributor_codes/ ],
join => [ { collection_contributors => 'contributor' },
'main_media' ],
distinct => 1,
#group_by => [ qw/me.id me.title me.display me.is_new
me.is_featured me.media_type main_media.spl_number/ ],
order_by => $order_by,
}
)->all
],
template => 'collection/index.tt'
);


On 20 February 2013 14:04, Peter Rabbitson  wrote:

> On Wed, Feb 20, 2013 at 02:44:56PM +0100, Wolfgang Kinkeldei wrote:
> > 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 => [4 .. 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.
>
> This is no what HRI assumes - this is what you told DBIC to do:
>
>  columns => [ ... concept.concept_id ... ]
>
> is equivalent to saying:
>
>   select => [ ... concept.concept_id ... ]
>   as => [ ... concept.concept_id ... ]
>
> This 'as' specification reads like "Create a related object under the
> root object (subelement) using the relationship name and metadata of
> 'concept' ". The reason you never saw this error before is that HRI
> didn't really care how it assembles the hash in a non-collapsing case. If
> you remove the ->as_hashref you will get a (much more cryptic) exception
> under 0.08208 as well with the above invocation.
>
> So all in all I do not think this should be considered a bug - the args
> you supply to search() should be valid regardless of the result_class
> chosen later on. What do you think?
>
> Cheers
>
>
> ___
> 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
>
___
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

Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-21 Thread Peter Rabbitson
On Wed, Feb 20, 2013 at 03:37:58PM +0100, Wolfgang Kinkeldei wrote:
> Hi Peter,
> 
> Am 20.02.2013 um 15:04 schrieb Peter Rabbitson:
> 
> > On Wed, Feb 20, 2013 at 02:44:56PM +0100, Wolfgang Kinkeldei wrote:
> >> 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 => [4 .. 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.
> > 
> > This is no what HRI assumes - this is what you told DBIC to do:
> > 
> > columns => [ ... concept.concept_id ... ]
> > 
> > is equivalent to saying:
> > 
> >  select => [ ... concept.concept_id ... ]
> >  as => [ ... concept.concept_id ... ]
> > 
> > This 'as' specification reads like "Create a related object under the 
> > root object (subelement) using the relationship name and metadata of 
> > 'concept' ". The reason you never saw this error before is that HRI 
> > didn't really care how it assembles the hash in a non-collapsing case. If 
> > you remove the ->as_hashref you will get a (much more cryptic) exception 
> > under 0.08208 as well with the above invocation.
> 
> well, at least under 0.08208 I get a result back that looks like:
> 
> $VAR1 = [
>   {
> 'concept' => {
>'concept_id' => 811,
>'foldername' => '...'
>  },
> 'foldername' => '...',
> 'subelement_id' => 40779
>   },
>   ...
> 
> the structure of the hashref returned does not match the belongs-to hierarchy 
> of the tables involved which was intended at the time the query was written. 
> If my way of (mis-)using the "columns" specification was not as desired, it 
> is not a bug, but a (maybe unplanned) "feature" of the previous version. In 
> this case some words of warning inside the documentation should be enough.
> 

Right, at this point we have an "undefined situation turned into an 
unplanned feature", therefore 0.08242 will downgrade the exception to a 
single-warning-per-process. This seems like a sane middle ground for 
"you gave me an 'as' that worked by accident before - fix it at your 
convenience".

I'll contact you for preliminary testing when the patch is ready (couple 
days, ETIME). Do *not* change your code - it will continue to work.

Cheers


___
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


Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-20 Thread Wolfgang Kinkeldei
Hi Peter,

Am 20.02.2013 um 15:04 schrieb Peter Rabbitson:

> On Wed, Feb 20, 2013 at 02:44:56PM +0100, Wolfgang Kinkeldei wrote:
>> 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 => [4 .. 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.
> 
> This is no what HRI assumes - this is what you told DBIC to do:
> 
> columns => [ ... concept.concept_id ... ]
> 
> is equivalent to saying:
> 
>  select => [ ... concept.concept_id ... ]
>  as => [ ... concept.concept_id ... ]
> 
> This 'as' specification reads like "Create a related object under the 
> root object (subelement) using the relationship name and metadata of 
> 'concept' ". The reason you never saw this error before is that HRI 
> didn't really care how it assembles the hash in a non-collapsing case. If 
> you remove the ->as_hashref you will get a (much more cryptic) exception 
> under 0.08208 as well with the above invocation.

well, at least under 0.08208 I get a result back that looks like:

$VAR1 = [
  {
'concept' => {
   'concept_id' => 811,
   'foldername' => '...'
 },
'foldername' => '...',
'subelement_id' => 40779
  },
  ...

the structure of the hashref returned does not match the belongs-to hierarchy 
of the tables involved which was intended at the time the query was written. If 
my way of (mis-)using the "columns" specification was not as desired, it is not 
a bug, but a (maybe unplanned) "feature" of the previous version. In this case 
some words of warning inside the documentation should be enough.

> So all in all I do not think this should be considered a bug - the args 
> you supply to search() should be valid regardless of the result_class 
> chosen later on. What do you think?
> 
> Cheers
> 
> 
> ___
> 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


Best,

Wolfgang Kinkeldei

-- 

' /\_/\ ' .print[split??,"".(($/=q|Cms)+-03467:;<=|)=~tr!C-z -B! -z!)x
'( o.o )' .$/]->[hex]foreach split qr<>,qq+1ecd039ad65b025b8063475b+||
' > ^ < ' .q


___
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


Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-20 Thread Peter Rabbitson
On Wed, Feb 20, 2013 at 02:44:56PM +0100, Wolfgang Kinkeldei wrote:
> 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 => [4 .. 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.

This is no what HRI assumes - this is what you told DBIC to do:

 columns => [ ... concept.concept_id ... ]

is equivalent to saying:

  select => [ ... concept.concept_id ... ]
  as => [ ... concept.concept_id ... ]

This 'as' specification reads like "Create a related object under the 
root object (subelement) using the relationship name and metadata of 
'concept' ". The reason you never saw this error before is that HRI 
didn't really care how it assembles the hash in a non-collapsing case. If 
you remove the ->as_hashref you will get a (much more cryptic) exception 
under 0.08208 as well with the above invocation.

So all in all I do not think this should be considered a bug - the args 
you supply to search() should be valid regardless of the result_class 
chosen later on. What do you think?

Cheers


___
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


Re: [Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-20 Thread Wolfgang Kinkeldei
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 => [4 .. 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


___
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


[Dbix-class] [ANNOUNCE] A much faster DBIx::Class public trial round two - v0.08241

2013-02-20 Thread 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