Thread: composite types in 7.3

composite types in 7.3

From
Jeff Davis
Date:
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

Re: composite types in 7.3

From
Joe Conway
Date:
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


Re: composite types in 7.3

From
Jeff Davis
Date:
> 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