Thread: How to identify the class of a record

How to identify the class of a record

From
Andre Fortin
Date:
Hi!,


Here is a scenario. The database contains 3 tables: the parent table is
Equipment with tables Computers and Monitors inheriting from it.

    CREATE TABLE Equipment (...);
    CREATE TABLE Computers (...) INHERITS (Equipment);
    CREATE TABLE Monitors  (...) INHERITS (Equipment);


When doing a SELECT on the parent with the asterisk suffix syntax, we
get rows from Computer and Monitor.

    SELECT * from Equipment*;

Is there a way to know from which table each row in the returned record
set belongs to, as you can do with OO languages. If this is possible,
could you point where more information could be located on this type of
design when working with Postgres.

Thanks,

-- Andre

Re: How to identify the class of a record

From
Peter Eisentraut
Date:
Andre Fortin writes:

>     SELECT * from Equipment*;
>
> Is there a way to know from which table each row in the returned record
> set belongs to, as you can do with OO languages.

In 7.1 there will be an implicit column TABLEOID.  In 7.0 and earlier
there's no good way short of maintaining such a column manually.

--
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/