2016-01-18 22:21 GMT+01:00 Robert Haas <robertmh...@gmail.com>: > On Mon, Jan 18, 2016 at 3:51 PM, Alvaro Herrera > <alvhe...@2ndquadrant.com> wrote: > > BTW are we all agreed that enabling > > foo%ARRAYTYPE > > and > > foo%ELEMENTYPE > > in plpgsql's DECLARE section is what we want for this? > > I know that Oracle uses syntax of this general type, but I've always > found it ugly. It's also pretty non-extensible. You could want > similar things for range types and any other container types we might > get in the future, but clearly adding new reserved words for each one > is no good. >
It doesn't use reserved worlds. > > 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. > what you propose for syntax for taking a element of array? > > 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 invite any ideas, but currently used notation is only in direction type->array. The working with symbols looks more difficult, than using words (in design area). More - the textual form is more near to our system of polymorphics types: anyelement, anyarray, ... We have not anyelement[] Regards Pavel > > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company >