Re: feature request ctid cast / sql exception

Поиск
Список
Период
Сортировка
От Vladimír Houba ml.
Тема Re: feature request ctid cast / sql exception
Дата
Msg-id CAP=jTS6XzeKWOcOwH9k1u-aQj197fVzLTNF-sTWO+7o-uzX2ZQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: feature request ctid cast / sql exception  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
I use ctid as a row identifier within a transaction in a Java application.
To obtain the row ctid I either have to
  • cast it to text and store it as String
  • cast it to string, then convert it to a bigint using UDF which is inefficient
I wish I could just cast ctid to bigint and store it as a primitive long type.

Regarding the exception throwing function it makes good sense for example in case blocks when you encouter unexpected value.
IMHO "one fits all" solution may be making a raise function with the same syntax as raise statement in plpgsql.

RAISE([ level ] 'format' [, expression [, ... ]] [ USING option = expression [, ... ] ])
RAISE([ level ] condition_name [ USING option = expression [, ... ] ])
RAISE([ level ] SQLSTATE 'sqlstate' [ USING option = expression [, ... ] ])
RAISE([ level ] USING option = expression [, ... ])
RAISE()


On Sat, Apr 17, 2021 at 9:46 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Sat, Apr 17, 2021 at 10:58 AM Vladimír Houba ml. <v.houba@gmail.com>
> wrote:
>> Another nice feature would be a function that can be called from a sql
>> statement and would throw an exception when executed.

> An assertion-related extension in core would be welcomed.

This has been suggested before, but as soon as you start looking
at the details you find that it's really hard to get a one-size-fits-all
definition that's any simpler than the existing plpgsql RAISE
functionality.  Different people have different ideas about how
much decoration they want around the message.  So, if 10% of the
world agrees with your choices and the other 90% keeps on using
a custom plpgsql function to do it their way, you haven't really
improved matters much.  OTOH a 90% solution might be interesting to
incorporate in core, but nobody's demonstrated that one exists.

                        regards, tom lane


--
S pozdravom
Vladimír Houba ml.

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: feature request ctid cast / sql exception
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: feature request ctid cast / sql exception