From: | Marko Tiikkaja <marko(at)joh(dot)to> |
---|---|
To: | Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Index expression syntax |
Date: | 2017-09-29 08:03:23 |
Message-ID: | CAL9smLDktg-hBs9b5XnShiqdBdECHA9eYRc0KcbKzVwNfHr-4Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Sep 29, 2017 at 9:31 AM, Konstantin Knizhnik <
k(dot)knizhnik(at)postgrespro(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Konstantin Knizhnik | 2017-09-29 08:12:17 | Re: Index expression syntax |
Previous Message | Konstantin Knizhnik | 2017-09-29 07:57:28 | Re: pg_prepared_xact_status |