Possible bug in parsing - Mailing list pgsql-hackers

From Hannu Krosing
Subject Possible bug in parsing
Date
Msg-id 350E5E75.325F4A24@sid.trust.ee
Whole thread Raw
List pgsql-hackers
Can anyone explain the following:

hannu=> select 1 + 2 + 3 + 4;
?column?
--------
      10
(1 row)

works fine, but:

hannu=> select '1' || '2' || '3';
ERROR:  parser: parse error at or near "||"
hannu=> select ('1' || '2') || '3';
NOTICE:  there is more than one operator || for types
NOTICE:  unknown and unknown. You will have to retype this query
ERROR:  using an explicit cast
hannu=> select ('1'::text || '2') || '3';
?column?
--------
     123
(1 row)

I understand the 'there is more than one operator' errors, but
what is so different between operators + and || ?

Hannu


pgsql-hackers by date:

Previous
From: "Pedro J. Lobo"
Date:
Subject: Re: [HACKERS] Alpha initdb fixed!
Next
From: "Pedro J. Lobo"
Date:
Subject: Unix Domain Sockets error (was Re: [HACKERS] Alpha initdb fixed!)