Re: Typed tables - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Typed tables
Date
Msg-id 4AF36055.1040701@enterprisedb.com
Whole thread Raw
In response to Re: Typed tables  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-hackers
Merlin Moncure wrote:
> On Thu, Nov 5, 2009 at 12:24 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
>> I'm planning to work on typed tables support.  The idea is that you
>> create a table out of a composite type (as opposed to the other way
>> around, which is currently done automatically).
>>
>> CREATE TYPE persons_type AS (name text, bdate date);
>>
>> CREATE TABLE persons OF persons_type;
>>
>> Or the fancy version:
>>
>> CREATE TABLE persons OF persons_type ( PRIMARY KEY (name) );
> 
> I use composite types (via tables) all the time but I never use
> 'create type as'...because by doing so you lose the ability to alter
> the type with 'alter table'.
> 
> Am I correct that I could use your idea to make this possible (albeit
> quite ugly) by:
> 
> create type foo(a text, b text);
> create table foo of foo;
> alter table foo add column c text;
> drop table foo;  -- does this drop the type as well??

That seems weird. Seems we should forbid that, and have an ALTER TYPE
command instead. I guess that means that we have to somehow memorize
that the type and the table are distinct. Also, if you create a type and
a table from it, pg_dump still needs to dump the CREATE TYPE command,
not just CREATE TABLE.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Joshua Tolley
Date:
Subject: Re: plperl and inline functions -- first draft
Next
From: Itagaki Takahiro
Date:
Subject: Re: Typed tables