Re: Proposal: casts row to array and array to row

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Proposal: casts row to array and array to row
Date: 2011-10-11 12:23:53
Message-ID: CA+TgmoYRhH1BC9iKjJ5Z0K8wrtCyD7DG8Sk5L0N_4HEftJpgVg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Oct 11, 2011 at 4:40 AM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> Hello
>
> A current limits of dynamic work with row types in PL/pgSQL can be
> decreased with a possible casts between rows and arrays. Now we have a
> lot of tools for arrays, and these tools should be used for rows too.
>
> postgres=# \d mypoint
> Composite type "public.mypoint"
>  Column │  Type   │ Modifiers
> ────────┼─────────┼───────────
>  a      │ integer │
>  b      │ integer │
>
> postgres=# select cast(rmypoint '(10,20) as int[]);
>   array
> ────────────
>  {10,20}
> (1 row)
>
> postgres=# select cast(ARRAY[10,20] AS mypoint);
>  mypoint
> ─────────
>  (10,20)
> (1 row)
>
> What do you think about this idea?

Well, a ROW can contain values of different types; an ARRAY can't.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Yeb Havinga 2011-10-11 12:38:37 Re: [REVIEW] Patch for cursor calling with named parameters
Previous Message Alexander Korotkov 2011-10-11 12:16:27 Re: index-only scans