I have a composite type like this, for example:

create type mytype(a text, b text, c text);

and a table

create table t_cols(a text,b text,c text);

containing some data. I have a table with my composite type:

create table t_composite(data_comp mytype);

and loaded data into it like so:

insert into t_composite select ROW(a,b,c)::mytype from t_columns;

I will want to construct a table containing arrays of this composite type
{(a1,b1,c1), ...,(an,bn,cn) } - the arrays can be of variable lengths (the
arrays will be formed to meet some constraints).

I formed the table for the arrays:

create table t_array(data_array mytype[]);

My first question is: HOW do I populate this table, at first with arrays
containing one element from the t_composite table?

I have tried various things with no success.

In case it's not clear what I want to do, say, for example that I have a
table containing:

('a','b','c')
('d','e','f')
('h'.'i'.'j')
('k','l','m')

1. First of all I'd like to form (and I hope that this is easy!) a table
with:

{('a','b','c')}
{('d','e','f')}
{('h','i','j')}
{('k','l','m')}

2. After this is done, I will then want to add some other arrays to the
table which contain some combination of the initial elements, to  perhaps
(subject to some constraints) eventually getting something like:

{('a','b','c')}
{('d','e','f')}
{('h','i','j')}
{('k','l','m')}
{('a','b','c'),('h','i','j')}
{('d','e','f'),('h','i','j'),('k','l','m')}

Reply via email to