ERROR: invalid input syntax for type circle - Mailing list pgsql-hackers

From David Zhang
Subject ERROR: invalid input syntax for type circle
Date
Msg-id 332c47fa-d951-7574-b5cc-a8f7f7201202@highgo.ca
Whole thread Raw
Responses Re: ERROR: invalid input syntax for type circle  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi,

I got an error when I was trying to insert a circle using the syntax
(the 3rd one) specified in the latest document.

https://www.postgresql.org/docs/current/datatype-geometric.html#DATATYPE-CIRCLE
< ( x , y ) , r >
( ( x , y ) , r )
   ( x , y ) , r
     x , y   , r

Here is how to reproduce it.

CREATE TABLE tbl_circle(id serial PRIMARY KEY, a circle);
INSERT INTO tbl_circle(a) VALUES('( 1 , 1 ) , 5'::circle );

ERROR:  invalid input syntax for type circle: "( 1 , 1 ) , 5"
LINE 1: INSERT INTO tbl_circle(a) VALUES('( 1 , 1 ) , 5'::circle );

I made a little change in the "circle_in" function, and then I can enter
a circle using the 3rd way.

INSERT INTO tbl_circle(a) VALUES('( 1 , 1 ) , 5'::circle );
INSERT 0 1

The fix does generate the same output as the other three ways.

INSERT INTO tbl_circle(a) VALUES( '< ( 1 , 1 ) , 5 >'::circle );
INSERT INTO tbl_circle(a) VALUES( '( ( 1 , 1 ) , 5 )'::circle );
INSERT INTO tbl_circle(a) VALUES( '1 , 1 , 5'::circle );

select * from tbl_circle;
  id |     a
----+-----------
   1 | <(1,1),5>
   2 | <(1,1),5>
   3 | <(1,1),5>
   4 | <(1,1),5>
(4 rows)

Sor far, no error found during the "make check".

The patch based on tag "REL_12_2" is attached.

--
David

Software Engineer
Highgo Software Inc. (Canada)
www.highgo.ca

Attachment

pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: [PATCH] Incremental sort (was: PoC: Partial sort)
Next
From: Andres Freund
Date:
Subject: Re: SyncRepLock acquired exclusively in default configuration