Re: casts for user defined types - Mailing list pgsql-novice

From Tom Lane
Subject Re: casts for user defined types
Date
Msg-id 27262.1186513564@sss.pgh.pa.us
Whole thread Raw
In response to casts for user defined types  (Mary Anderson <maryfran@demog.berkeley.edu>)
List pgsql-novice
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

pgsql-novice by date:

Previous
From: Mary Anderson
Date:
Subject: casts for user defined types
Next
From: Decibel!
Date:
Subject: Re: buffer page lock vs tuple lock (?)