Re: Substring undocumented form - Mailing list pgsql-docs

From Robert Haas
Subject Re: Substring undocumented form
Date
Msg-id AANLkTimdO6f41h40LcdUGCGsK-8cGpB2Mm9moEE5jH8r@mail.gmail.com
Whole thread Raw
In response to Substring undocumented form  (Thom Brown <thom@linux.com>)
List pgsql-docs
On Sat, Sep 25, 2010 at 4:36 AM, Thom Brown <thom@linux.com> wrote:
> Someone submitted a comment to the documentation which made mention of
> the fact that while we provide one form of the 3-parameter substring
> function, we don't mention an alternative one.
>
> substring(string from pattern for escape)
> can be written:
> substring(string, pattern, escape)
>
> Curiously, this doesn't appear to be the same with similar functions.
> For instance, the following can't be changed in a similar way:
>
> overlay('Txxxxas' placing 'hom' from 2 for 4)
> can't be written:
> overlay('Txxxxas', 'hom', 2, 4)
>
> position('om' in 'Thomas')
> can't be written:
> position('om', 'Thomas')
>
> So this doesn't look like a general alternative form.  Is the
> alternative form of substring deprecated or just missing from the
> documentation?

You can call any of them with the normal function call syntax as
pg_catalog.fn_name(...).  I think the reason why substring() works
anyway is because the substr_list nonterminal in gram.y includes a
production for expr_list.  The overlay_list and position_list
nonterminals are not similarly equipped.

As to whether or not such alternative forms should be documented, I
could go either way.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company

pgsql-docs by date:

Previous
From: Thom Brown
Date:
Subject: Substring undocumented form
Next
From: Robert Haas
Date:
Subject: Re: Inconsistent index links