From: Peter Eisentraut on 10 Jan 2010 17:34 On tor, 2009-11-05 at 19:24 +0200, Peter Eisentraut 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) ); And here is the first patch for that. The feature is complete as far as I had wanted it. I would like to add ALTER TYPE support, but that can come as a separate patch.
From: Josh Berkus on 10 Jan 2010 18:27 On 1/10/10 2:34 PM, Peter Eisentraut wrote: > On tor, 2009-11-05 at 19:24 +0200, Peter Eisentraut 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). Nice. Can we come up with a better name for the feature, though? "Composite Type Tables"? "Type-Table Inheritance"? --Josh Berkus -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: Peter Eisentraut on 11 Jan 2010 02:00 On sön, 2010-01-10 at 15:27 -0800, Josh Berkus wrote: > On 1/10/10 2:34 PM, Peter Eisentraut wrote: > > On tor, 2009-11-05 at 19:24 +0200, Peter Eisentraut 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). > > Nice. Can we come up with a better name for the feature, though? > "Composite Type Tables"? "Type-Table Inheritance"? "Typed tables" is the official SQL standard name for the feature, and it's also used in DB2 documentation. So I kind of would prefer to keep it. -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: Merlin Moncure on 11 Jan 2010 09:00 On Mon, Nov 9, 2009 at 5:15 AM, Peter Eisentraut <peter_e(a)gmx.net> wrote: > On Sun, 2009-11-08 at 21:17 +0000, Simon Riggs wrote: >> Not sure I see why this is good. Why is issuing CREATE TYPE so much >> easier than using CREATE TABLE? Is it worth the extra syntax and code to >> support it? Can we do anything additional as a result of this? > > These are tools to improve database design in particular situations. > Nobody really *needs* this, but then again, you don't really need CREATE > TYPE for composite types in the first place. Using CREATE TABLE instead > of CREATE TYPE creates a bunch of extra things you don't need. For > example, files are created, VACUUM and ANALYZE have to keep checking the > table, backup tools think they have to back up the table, and you have > to check that no one actually inserts anything into the table. you also get the ability to alter the type though, which at present outweighs the disadvantages in most cases (IMO). I happen to be a fan of your proposal...mainly because it highlights the highly under-appreciated composite type handling of the database. I especially am excited about getting 'ALTER TYPE' in the future :-). Do you think that we will ever able to apply constraints to composite type that will be enforced on a cast? merlin -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: Josh Berkus on 11 Jan 2010 13:49
Peter, > "Typed tables" is the official SQL standard name for the feature, and > it's also used in DB2 documentation. So I kind of would prefer to keep > it. Sorry, I missed the SQL standard part in the thread. Ignore the noise. Oh, and BTW, +1 on accepting this, pending patch quality and all that. --Josh Berkus -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers |