Re: question about array indexing - Mailing list pgsql-general

From Merlin Moncure
Subject Re: question about array indexing
Date
Msg-id CAHyXU0wj80g8tKtOcv8HExnzhTeyWaFMuaN_Jyz9hk2k57Pcwg@mail.gmail.com
Whole thread Raw
In response to question about array indexing  (Szymon Lipiński <mabewlun@gmail.com>)
List pgsql-general
On Mon, Nov 4, 2019 at 10:05 AM Szymon Lipiński <mabewlun@gmail.com> wrote:
>
> Hey,
> I'm wondering if this isn't a bug somewhere in the parser. I had to add additional parenthesis around the
regexp_split_to_array.
>
>
> $ with x as (select 'a b c' a)
> select
>     regexp_split_to_array(a, ' ')
> from x;
>
>  regexp_split_to_array
> -----------------------
>  {a,b,c}
> (1 row)
>
> $ with x as (select 'a b c' a)
> select
>     regexp_split_to_array(a, ' ')[1]
> from x;
>
> ERROR:  syntax error at or near "["
> LINE 3:     regexp_split_to_array(a, ' ')[1]
>                                                              ^
> $ with x as (select 'a b c' a)
> select
>     (regexp_split_to_array(a, ' '))[1]
> from x;
>  regexp_split_to_array
> -----------------------
>  a
> (1 row)

It's always been that way.  You also have to wrap function column expansions:
select (func()).*

I don't know the exact technical reason why that's required, but my
money is on precedence related problems.

merlin



pgsql-general by date:

Previous
From: Szymon Lipiński
Date:
Subject: question about array indexing
Next
From: George Neuner
Date:
Subject: Re: select view definition from pg_views feature request