2016-01-18 22:48 GMT+01:00 Robert Haas <robertmh...@gmail.com>: > On Mon, Jan 18, 2016 at 4:35 PM, Pavel Stehule <pavel.steh...@gmail.com> > wrote: > >> 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. > > OK - keywords, then. > > >> 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? > > No idea. >
the syntax for "array from" is natural, but for any other is hard. So it is reason, why I used text form. Using Oracle's pattern source%operation allows to use nonreserved keywords. Probably any text can be there. The keywords isn't necessary (not tested). > >> 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[] > > True, but this is hardly a straightforward extension of what we have > today either. > It is, but sometime the polymorphic types can help. The proposed feature/syntax has sense primary for polymorphic types. It should to follow our polymorphic types. The primary pair is "anyarray","anyelement" -> "arraytype","elemementtype". If you don't use polymorphic parameters in plpgsql, then proposed feature can look like useless. Regards Pavel > > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company >