Re: Problem with triggers - Mailing list pgsql-general

From Sid
Subject Re: Problem with triggers
Date
Msg-id AANLkTina6ud9-WTq5WhtHLp-FVAu925tavvOl9pPZyIf@mail.gmail.com
Whole thread Raw
In response to Re: Problem with triggers  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general


2010/6/16 Tom Lane <tgl@sss.pgh.pa.us>
Adrian Klaver <adrian.klaver@gmail.com> writes:
> On 06/15/2010 02:01 PM, Sid wrote:
>> I am writing trigger function for validating values inserted into table. The
>> goal is to print user friendly messages when inserted value is wrong.

>> My question is: why do I get information about too long value before trigger
>> fires?

> The database is beating you to the validation.

People try this every few months :-(, but it's basically a dead-end idea. 
I tried to search for this problem, but I failed :(. I spend few hours trying to find what is
wrong with my code.....

A large majority of the things you might want to report an error for are
going to be rejected by the datatype input functions for the column
datatypes --- for example, you're not going to be able to "print a user
friendly message" on a bad timestamp, because that will be noticed long
before any trigger gets to fire.
I didn't think about that, 

You can either decide that the built-in error messages aren't so awful
after all, or do your data validation on the client side.
Yes, I'll probably do this that way.
 
Or I guess you could lobotomize the database completely by making all
your fields be unlimited-length varchar so that there's no interesting
checking to be done.  But you really, really don't want to go there.
No. This solution is too ugly even for me :)
 

                       regards, tom lane

Thank you for your explanation, Tom


--
Best regards
Sid

pgsql-general by date:

Previous
From: "A. Kretschmer"
Date:
Subject: Re: Ideal Disk recommendation for PostgreSQL
Next
From: Sid
Date:
Subject: Re: Problem with triggers