Thread: composite types in 7.3
I tried: test=> create type mytype as (a int, b text); CREATE TYPE test=> create table mytable(x mytype,y int); CREATE TABLE It seemed to succeed OK, but did I do anything worthwhile? Since composite functions don't have input/output functions, I don't know how to actually create a record in mytable. Are composite functions supposed to be used in this way? I know that composite types can be used so that a function can return a record of that type, but is there any other use? Regards, Jeff
Jeff Davis wrote: > I tried: > test=> create type mytype as (a int, b text); > CREATE TYPE > test=> create table mytable(x mytype,y int); > CREATE TABLE > > It seemed to succeed OK, but did I do anything worthwhile? Since composite > functions don't have input/output functions, I don't know how to actually > create a record in mytable. > > Are composite functions supposed to be used in this way? I know that composite > types can be used so that a function can return a record of that type, but is > there any other use? Not at the moment. In fact, as of current (meaning by the time beta3 is packaged up, if it's not already this way in beta2) cvs you'll get: test=# create type mytype as (a int, b text); CREATE TYPE test=# create table mytable(x mytype,y int); ERROR: Attribute "x" has composite type mytype There have been brief discussions of allowing composite types as table column data types in some future release, but nothing serious yet. Joe
> Not at the moment. In fact, as of current (meaning by the time beta3 is > packaged up, if it's not already this way in beta2) cvs you'll get: > > test=# create type mytype as (a int, b text); > CREATE TYPE > test=# create table mytable(x mytype,y int); > ERROR: Attribute "x" has composite type mytype > > There have been brief discussions of allowing composite types as table > column data types in some future release, but nothing serious yet. I don't have any particular need for that feature, but I found it interesting. I imagine that if the feature did exist like that, it would require a lot of extra syntax for the queries. Thanks, Jeff