Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Better way to catch Class::DBI constraint failures?

by tomhukins (Curate)
on Aug 12, 2004 at 16:17 UTC ( #382338=note: print w/ replies, xml ) Need Help??


in reply to Better way to catch Class::DBI constraint failures?

I encountered this problem a few months ago and spent a little time investigating.

To understand what's going on, take a look at the source for Class::DBI's add_constraint method. Constraints are just before_set triggers that, on failure, croak with the error message you observed.

So, if you wrote a before_set_namespace trigger, you could behave as you choose on error.

The particular problem I encountered was that I wanted to list all failed constraints. I used a combination of triggers and two layers Exception::Class events.

I apologise if this seems a little vague: I don't have access to the code any more and don't recall exactly what I did.

Oh, and of course Perl modules can be cool. Distrust anyone who claims otherwise.


Comment on Re: Better way to catch Class::DBI constraint failures?
Select or Download Code
Replies are listed 'Best First'.
Re^2: Better way to catch Class::DBI constraint failures?
by Hero Zzyzzx (Curate) on Aug 12, 2004 at 17:09 UTC
    So, if you wrote a before_set_namespace trigger, you could behave as you choose on error.

    I'm probably being dense, but: How? I put in a before_set_namespace trigger and I was getting the same error message, just in a different way.

    -Any sufficiently advanced technology is
    indistinguishable from doubletalk.

    My Biz

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://382338]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (11)
As of 2015-07-31 18:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (280 votes), past polls