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')}