Re: [HACKERS] [PATCH] Generic type subscripting

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: [HACKERS] [PATCH] Generic type subscripting
Дата
Msg-id CAFj8pRDc_yBn-v_mCSy72uxLuyU6onxjmLTCpv_o-DPVSD2cvw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] [PATCH] Generic type subscripting  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers


čt 17. 12. 2020 v 22:47 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Chapman Flack <chap@anastigmatix.net> writes:
> That's likely to be what a programmer intends when writing
> (variable explicitly typed integer) := js['n'] and
> (variable explicitly types varchar) := js['v']

I think that what we want, if we're to support that sort of thing,
is that the js[] constructs produce jsonb by definition, and then an
assignment-level cast is applied to get from jsonb to integer or text.
I see we already have most of the necessary casts, but they're currently
marked explicit-only.  Downgrading them to assignment level might be
okay though.  If we don't want to do that, it means we have to write
        integervar := js['n']::integer
which is a bit more wordy but also unmistakable as to intent.  (I think
the "intent" angle might be the reason we insisted on these things
being explicit to start with.)

It's somewhat interesting to speculate about whether we could optimize
the combination of the subscripting function and the cast function.
But (a) that's an optimization, not something that should be part of
the user-visible semantics, and (b) it should not be part of the initial
feature.  I think a large part of the reason this patch is still not
done after four years is that it's been biting off more than it could
chew all along.  Let's try to get it to completion and then optimize
later.

sure

Pavel


As far as "treat as" is concerned, we already have a spelling for
that, it's called a cast.

                        regards, tom lane


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

Предыдущее
От: Ajin Cherian
Дата:
Сообщение: Re: [HACKERS] logical decoding of two-phase transactions
Следующее
От: "Wang, Shenhao"
Дата:
Сообщение: pgbench failed when -f option contains a char '@'