Skip Menu |

This queue is for tickets about the DBIx-Class CPAN distribution.

Report information
The Basics
Id: 24349
Status: resolved
Priority: 0/
Queue: DBIx-Class

People
Owner: blblack [...] gmail.com
Requestors: SMPETERS [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: [PATCH] Unneeded \Q causes test failures with bleadperl
The following patch allows all tests to pass in bleadperl. I also tested with Perl 5.8.8 and all the tests pass there with the following patch. --- t/76joins.t.old 2007-01-12 19:31:39.000000000 -0600 +++ t/76joins.t 2007-01-12 19:31:51.000000000 -0600 @@ -105,7 +105,7 @@ [ { father => 'person' }, { 'father.person_id' => { '!=', '42' } }, ], [ { mother => 'person' }, { 'mother.person_id' => 'child.mother_id' } ], ); -$match = qr/^\QHASH reference arguments are not supported in JOINS - try using \"..." instead\E/; +$match = qr/^HASH reference arguments are not supported in JOINS - try using \"..." instead\E/; eval { $sa->_recurse_from(@j6) }; like( $@, $match, 'join 6 (HASH reference for ON statement dies) ok' );
From: YVES [...] cpan.org
On Fri Jan 12 20:50:32 2007, SMPETERS wrote: Show quoted text
> The following patch allows all tests to pass in bleadperl. I also > tested with Perl 5.8.8 and all > the tests pass there with the following patch. > > --- t/76joins.t.old 2007-01-12 19:31:39.000000000 -0600 > +++ t/76joins.t 2007-01-12 19:31:51.000000000 -0600 > @@ -105,7 +105,7 @@ > [ { father => 'person' }, { 'father.person_id' => { '!=', '42' } > }, ], > [ { mother => 'person' }, { 'mother.person_id' => > 'child.mother_id' } ], > ); > -$match = qr/^\QHASH reference arguments are not supported in JOINS - > try using \"..." > instead\E/; > +$match = qr/^HASH reference arguments are not supported in JOINS - > try using \"..." > instead\E/; > eval { $sa->_recurse_from(@j6) }; > like( $@, $match, 'join 6 (HASH reference for ON statement dies) ok' > );
This patch should be changed to unescape the double quotes, the problem is a bug in a perl 5.8 that treats escaped quotes as being literal quotes inside of a \Q\E when they should in fact result in an escaped escape and an escaped quote, which is what blead is doing. So this is not a bug in blead, its a bug in perl 5.8 and the modules that are breaking. Cheers, Yves
From: YVES [...] cpan.org
On Fri Jan 12 20:50:32 2007, SMPETERS wrote: Show quoted text
> The following patch allows all tests to pass in bleadperl. I also > tested with Perl 5.8.8 and all > the tests pass there with the following patch. > > --- t/76joins.t.old 2007-01-12 19:31:39.000000000 -0600 > +++ t/76joins.t 2007-01-12 19:31:51.000000000 -0600 > @@ -105,7 +105,7 @@ > [ { father => 'person' }, { 'father.person_id' => { '!=', '42' } > }, ], > [ { mother => 'person' }, { 'mother.person_id' => > 'child.mother_id' } ], > ); > -$match = qr/^\QHASH reference arguments are not supported in JOINS - > try using \"..." > instead\E/; > +$match = qr/^HASH reference arguments are not supported in JOINS - > try using \"..." > instead\E/; > eval { $sa->_recurse_from(@j6) }; > like( $@, $match, 'join 6 (HASH reference for ON statement dies) ok' > );
Thanks for your ground work, Yves and Steve! I've uploaded a patch to CPAN in order to be able to automate my smoke builds of blead and maintperls: ANDK/patches/DBIx-Class-ANDK-01.patch.gz Thanks again,
Just saw this while doing some housekeeping on our RT queue, I had fixed this independently a couple of months ago, the fix is in the latest stable and dev releases (wish I had seen this earlier :)