On Mon, Nov 4, 2019 at 10:05 AM Szymon Lipiński <mabewlun@xxxxxxxxx> 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