Re: arrays and polygons

From: Joe Conway <mail(at)joeconway(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: David <de4(at)kent(dot)ac(dot)uk>, pgsql-sql(at)postgresql(dot)org
Subject: Re: arrays and polygons
Date: 2004-02-13 16:33:42
Message-ID: 402CFC66.5060707@joeconway.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Tom Lane wrote:
> "David" <de4(at)kent(dot)ac(dot)uk> writes:
>>INSERT INTO species (location) VALUES ('{((432,89), (45,87), (89,87)),
>>((54,78), (34,98))};
>
> I think you'd need to double-quote each polygon within the array
> literal.
>
> '{"((432,89), (45,87), (89,87))", "..."}'
>
> The array parser doesn't think parens are special, so it's not going to
> magically distinguish array commas from polygon commas for you.
>
> BTW, if you are using 7.4, the ARRAY[] constructor syntax might be
> easier to use.

FWIW, here's what it would look like in 7.4.x:

regression=# select ARRAY['((432,89), (45,87), (89,87))'::polygon,
'((432,89), (45,87), (89,87))'];
array
-------------------------------------------------------------
{"((432,89),(45,87),(89,87))","((432,89),(45,87),(89,87))"}
(1 row)

You need to explicitly cast at least the first polygon in order to get
an array of polygons (versus an array of text).

HTH,

Joe

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message David 2004-02-13 17:00:10 Re: arrays and polygons
Previous Message Stephan Szabo 2004-02-13 16:08:41 Re: 7.4 - FK constraint performance