2010/6/16 Tom Lane <t...@sss.pgh.pa.us> > Adrian Klaver <adrian.kla...@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