Nested classes

From: Ferruccio Zamuner <solo3(at)mail(dot)chierinet(dot)it>
To: pgsql-general(at)postgreSQL(dot)org
Subject: Nested classes
Date: 1998-07-27 15:58:16
Message-ID: yam7512.818.145347112@mail.chierinet.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Browse pgsql-general by date

  From Date Subject
Next Message Chris Johnson 1998-07-27 16:28:38 Re: [GENERAL] Postgres vs commercial products
Previous Message Colin Viebrock 1998-07-27 15:39:50 Re: [PHP3] logging transactions