Mary Anderson <maryfran@demog.berkeley.edu> writes:
> I am using inheritance of types in the following way on a ROLAP
> schema to allow for extra dimensions to be used:
> CREATE TABLE data (data_id int4 SERIAL,
> data_value double,
> ... some dimensions);
> CREATE TABLE extra_dimensions (xdimension varchar[],
> xvalue varchar[])
> INHERITS FROM data;
> Suppose I do
> INSERT INTO data (data_value) VALUES 1.1;
> This gives me a row in the data table, but not in the extra_dimensions
> table. What do I do if I want to define an extra dimension for this row
> at a later date? It seems I should be able to do a CAST of some kind.
You would have to delete the row from the parent table and insert the
same data (plus the added stuff) into the child table.
I think you should reconsider this schema. extra_dimensions is not
really buying you anything: just put those columns in the main table
and allow them to default to NULL when not needed.
regards, tom lane