Re: using functions to generate custom error messages

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: using functions to generate custom error messages
Дата
Msg-id web-1827542@davinci.ethosmedia.com
обсуждение исходный текст
Ответ на using functions to generate custom error messages  (Joel Rodrigues <skyfyre@Phreaker.net>)
Ответы Re: using functions to generate custom error messages
Re: using functions to generate custom error messages
Список pgsql-novice
Joel,

> Would it be considered good practice to use functions to generate
> custom error messages ?

Depends on what you mean by "good practice".   The "best practice",
arguably,  would be to do this in some kind of middleware.   If,
however, your project is too lightweight to have middleware, then using
functions to do so can be pretty good.

An alternate, perhaps much simpler approach, would be to intercept the
database error messages and transform them into custom error messages
through text parsing or an error lookup table.

> The only odd thing about it I can see is that constraints have to be
> coded into the function, whether or not they've already been included
> in the table itself.

Absolutely.  In fact, if you take this approach, you might drop the
table constraints as redundant -- provided that you manage your
checking functions well.

> I do understand that there are other ways/places to do error
> checking, in the CGI script or in JavaScript, but this is how/where
> I'd like to do it.

Absolutety.  The drawbacks to this approach, however, are:
1) managing all these testing triggers
2) performance loss if the triggers are significantly slower than
constraints.

> BTW, does anyone know why \df doesn't find the function "maxten" that
> I created ?

Currently, \df does not list any function which returns OPAQUE.  I'm
not sure of the reason for this.

-Josh Berkus

В списке pgsql-novice по дате отправления:

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: Re: Efficiency of stored procedure vs large join
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Question on locale settings