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/ _______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/