Re: MAP syntax for arrays

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
Cc: Andreas Karlsson <andreas(at)proxel(dot)se>, Ildar Musin <i(dot)musin(at)postgrespro(dot)ru>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: MAP syntax for arrays
Date: 2018-05-08 15:22:17
Message-ID: 20180508152217.lgjq4ggcejuezox7@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andrew Gierth wrote:
> >>>>> "Andreas" == Andreas Karlsson <andreas(at)proxel(dot)se> writes:
>
> Andreas> It would be a pain if the SQL committee started using MAP for
> Andreas> something.
>
> They already did - MAP is a non-reserved keyword in sql2016, used at
> least with <user-defined ordering definition>. Can't see any obvious
> conflict with use in expressions, but I haven't checked all the
> references.

Ah, so in SQL2011 (and 2016) there already is a designator for routines,
which was a thing we were lacking previously, as I recall.

<specific routine designator> ::=
SPECIFIC <routine type> <specific name>
| <routine type> <member name> [ FOR <schema-resolved user-defined type name> ]

<routine type> ::=
ROUTINE
| FUNCTION
| PROCEDURE
| [ INSTANCE | STATIC | CONSTRUCTOR ] METHOD

<member name> ::=
<member name alternatives> [ <data type list> ]

<member name alternatives> ::=
<schema qualified routine name>
| <method name>

<data type list> ::= <left paren> [ <data type> [ { <comma> <data type> }... ] ] <right paren>

[elsewhere]

<specific name> ::=
<schema qualified name>

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2018-05-08 15:31:40 Re: perlcritic and perltidy
Previous Message Tom Lane 2018-05-08 15:17:13 Re: Cast jsonb to numeric, int, float, bool