From: | Ferruccio Zamuner <solo3(at)mail(dot)chierinet(dot)it> |
---|---|
To: | pgsql-sql(at)hub(dot)org |
Subject: | Nested classes |
Date: | 1998-07-28 07:05:51 |
Message-ID: | yam7513.2594.137981104@mail.chierinet.it |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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
From | Date | Subject | |
---|---|---|---|
Next Message | STMIK Stikubank | 1998-07-28 15:48:55 | select question |
Previous Message | James Olin Oden | 1998-07-27 20:34:57 | Sequences... |