Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types

Поиск
Список
Период
Сортировка
Искать
От
Pavel Stehule
Тема
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types
Дата
Msg-id
CAFj8pRBSGbNCFcdJYObitARZznwxXYFeP=d_2uxsK+HW2tOPPQ@mail.gmail.com
Ответ на
Список
Дерево обсуждения
plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Artur Zakirov <a.zakirov@postgrespro.ru>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Alvaro Herrera <alvherre@2ndquadrant.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Alvaro Herrera <alvherre@2ndquadrant.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Robert Haas <robertmhaas@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Peter Eisentraut <peter_e@gmx.net>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Joe Conway <mail@joeconway.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Tom Lane <tgl@sss.pgh.pa.us>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Tom Lane <tgl@sss.pgh.pa.us>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Robert Haas <robertmhaas@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Tom Lane <tgl@sss.pgh.pa.us>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Tom Lane <tgl@sss.pgh.pa.us>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Bruce Momjian <bruce@momjian.us>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Joe Conway <mail@joeconway.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Joe Conway <mail@joeconway.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Tom Lane <tgl@sss.pgh.pa.us>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Artur Zakirov <a.zakirov@postgrespro.ru>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Tom Lane <tgl@sss.pgh.pa.us>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types "David G. Johnston" <david.g.johnston@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Robert Haas <robertmhaas@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Robert Haas <robertmhaas@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Artur Zakirov <a.zakirov@postgrespro.ru>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Artur Zakirov <a.zakirov@postgrespro.ru>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Pavel Stehule <pavel.stehule@gmail.com>
Re: plpgsql - DECLARE - cannot to use %TYPE or %ROWTYPE for composite types Michael Paquier <michael.paquier@gmail.com>
Hi

2016-02-24 22:18 GMT+01:00 Peter Eisentraut <peter_e@gmx.net>:
On 1/18/16 4:21 PM, Robert Haas wrote:
> One idea that occurs to me is: If you can DECLARE BAR FOO%TYPE, but
> then you want to make BAR an array of that type rather than a scalar,
> why not write that as DECLARE BAR FOO%TYPE[]?  That seems quite
> natural to me.

Right, and it's arguably dubious that that doesn't already work.
Unfortunately, these % things are just random plpgsql parser hacks, not
real types.  Maybe this should be done in the main PostgreSQL parser
with parameter hooks, if we wanted this feature to be available outside
plpgsql as well.

> I think the part of this patch that makes %TYPE work for more kinds of
> types is probably a good idea, although I haven't carefully studied
> exactly what it does.

I agree that this should be more general.  For instance, this patch
would allow you to get the element type of an array-typed variable, but
there is no way to get the element type of just another type.  If we
could do something like

DECLARE
  var ELEMENT OF point;

(not necessary that syntax)

then

DECLARE
  var ELEMENT OF othervar%TYPE;

should just fall into place.


I am sending update of this patch. The basic concept is same, syntax was changed per your and Robert requirement.

Regards

Pavel

 

В списке pgsql-hackers по дате отправления
От: Emre Hasegeli
Дата:
От: Tobias Florek
Дата:
FAQ