Nested classes - Mailing list pgsql-general

From Ferruccio Zamuner
Subject Nested classes
Date
Msg-id yam7512.818.145347112@mail.chierinet.it
Whole thread Raw
List pgsql-general
Hi all,

I want to define one class as compound object of user defined classes and
basic types.

something like:

CREATE TABLE attributes {
   Strenght  int,
   Health    int,
   Mana     int,
   Inteligence int
};

CREATE TABLE character {
   Name     text,
   Role       text,
   Damage  int,
   Defense  int,
   Age        int,
   Attributes  attributes
};

CREATE TABLE player {
   Name text,
   Age   int,
   Telephone text,
   Character  character
};

This is something like defining a C++ class with other user-defined classes as
attributes (no derivation, but containment).
Postgres 6.3.1 accepts the definitions above but the problems come when I want
to insert records of "player" type.

I have the following questions:
1. Is there any syntactic sugar (as { } for arrays) for INSERTing a new
"player" including its Character sub-object?
2. what about the same problem using a COPY to populate the DB from ascii
file?
3. after eventually having populated the DB, I'd like to write something like:
    SELECT Character.Name, Character.Attributes.Intelligence  FROM player
WHERE Age<18 AND Character.Age > 25;
    to extract the name and intelligence of all the characters older than 25
played by people younger than 18

I know that some form of composite classes can be defined inserting OIDs of
sub-objects as attributes but this seems a bit weak and tricky solution. Is
there a better one?

Thanks in advance
Ferruccio


pgsql-general by date:

Previous
From: The Hermit Hacker
Date:
Subject: Re: Old ODBC Driver references on website
Next
From: Colin Viebrock
Date:
Subject: Re: [PHP3] logging transactions