[Catalyst] Weird -d flag and txn_do interaction...

Matt S Trout dbix-class at trout.me.uk
Wed Sep 12 17:10:51 GMT 2007


On Mon, Sep 10, 2007 at 09:06:07AM +0200, Marcello Romani wrote:
> Matt S Trout ha scritto:
> >On Mon, Aug 27, 2007 at 05:10:23PM +0200, Marcello Romani wrote:
> >>Hi,
> >>    I'm developing an app using cat and dbic, with postgresql 8.1.
> >>I've got a table with a "unique" column.
> >>
> >>When I try to insert a record that violates that constraint (the code is 
> >>executed via txn_do($coderef)), I obviously get an exception from DBIC.
> >>
> >>The problem is that if I run myapp_server without the -d flag, the 
> >>exception string is correct; but if I run it _with_ the -d flag istead, 
> >>the error gets cleared by a SELECT(*) COUNT executed with apparently no 
> >>reason after the failing INSERT() query.
> >>Therefore the error string I get is something like "command ignored 
> >>until end of transaction block."
> >
> >Something's numifying the $rs thus causing ->count to be called.
> >
> 
> Thanks for the tip.
> I suspect is't something out of my control, otherwise the problem would 
> show up also when I'm not using the -d flag, right ?
> I'd like to track this problem down, but I think I'll have to dive into 
> the internals of cat and/or dbic... which I'm not familiar with.
> Do you have any other suggestion for where to start looking for 
> differences in behaviour between -d and normal run ?
> Thank you again.

It may be when the debugger displays the rs.

I'm not really sure, I don't ever use the perl debugger - I'm a "you can
have printf/warn when you pry it from my cold, dead fingers" sort of dev :)

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director    Want a managed development or deployment platform?
 Shadowcat Systems Ltd.  Contact mst (at) shadowcatsystems.co.uk for a quote
http://chainsawblues.vox.com/                    http://www.shadowcat.co.uk/ 



More information about the Catalyst mailing list