Re: [HACKERS] Index expression syntax - Mailing list pgsql-hackers

From Marko Tiikkaja
Subject Re: [HACKERS] Index expression syntax
Date
Msg-id CAL9smLDktg-hBs9b5XnShiqdBdECHA9eYRc0KcbKzVwNfHr-4Q@mail.gmail.com
Whole thread Raw
In response to [HACKERS] Index expression syntax  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
Responses Re: [HACKERS] Index expression syntax  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
List pgsql-hackers
On Fri, Sep 29, 2017 at 9:31 AM, Konstantin Knizhnik <k.knizhnik@postgrespro.ru> wrote:
I wonder why syntax error is produced in this case:

postgres=# create index metaindex on foo using gin(to_tsvector('english', x)||to_tsvector('english',y));
ERROR:  syntax error at or near "||"
LINE 1: ...taindex on foo using gin(to_tsvector('english', x)||to_tsvec...
                                                             ^
[ .. ]

expression:
An expression based on one or more columns of the table. The expression usually must be written with surrounding parentheses, as shown in the syntax. However, the parentheses can be omitted if the expression has the form of a function call.

So documentations states that sometimes it is possible to avoid parentheses, but it is unclear why I have to use double parentheses...
I think that either grammar should be fixed, either documentation should be updated.

Your expression is clearly not a function call, it's a concatenation of two of them.  The documentation seems perfectly accurate to me?


.m

pgsql-hackers by date:

Previous
From: Konstantin Knizhnik
Date:
Subject: Re: [HACKERS] pg_prepared_xact_status
Next
From: Konstantin Knizhnik
Date:
Subject: Re: [HACKERS] Index expression syntax