Re: Comment retrouver la table à partir d'

From: Sylvain Benet - Rugama <sylvain(at)rugama(dot)com>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Comment retrouver la table à partir d'
Date: 2005-03-09 17:12:25
Message-ID: 422F2E79.6040502@rugama.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Merci pour vos réponses.

J'ai une autre solution grâce à l'héritage de postgresql que je viens
d'implémenter et qui fonctionne vraiment très bien.
Je vous l'expose ci dessous.
Vos commentaire sont bien entendu les biens venus.
Ceci est un exemple et ne ressemble pas à mon système mais s'en inspire.

Une table t_elem racine de tout élements :
*t_elem (*
uid serial NOT NULL,
datecreated timestamp NOT NULL DEFAULT now(),
title text,
CONSTRAINT t_elem_pkey PRIMARY KEY (uid)
)

*t_film (*
runtime time,
CONSTRAINT t_film_pkey PRIMARY KEY (uid)
) INHERITS (t_elem)

*t_picture (*
width int2,
height int2,
CONSTRAINT t_film_pkey PRIMARY KEY (uid)
) INHERITS (t_elem)

Pour ajouter un film :
INSERT INTO t_film ( "title", "runtime") VALUES ( "Baraka" , "01:36:00")

Pour ajouter une image
INSERT INTO t_picture ( "title", "width", "height") VALUES ( "Baraka
cover" , 800, 600)

Résultat:
SELECT * FROM "t_elem"
t_elem
1 | 9/3/2004 18:00:00 | Baraka
2 | 9/3/2004 18:01:00 | Baraka cover

SELECT * FROM "t_film"
1 | 9/3/2004 18:00:00 | Baraka | 01:36:00

SELECT p.relname, t.* FROM t_elem t, pg_class p WHERE t.tableoid = p.oid
t_film | 1 | 9/3/2004 18:00:00 | Baraka
t_picture | 2 | 9/3/2004 18:01:00 | Baraka cover

Je suis un peu naif, mais c'est presque de l'objet ça, non ?
Enfin ca marche bien, pas besoin de trigger, pas besoin de table de
liaison, juste l'utilisation de fonctionnalité native de postgresql

Sylvain

PS: Juste une question pour Stéphane Brunel, que signifie "(...)" à la
fin de votre message ? Je ne suis pas très habitué des mailing liste et
je ne comprend pas trop le sens. Aurais-je fais une erreur quelque part ?

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Sylvain Benet - Rugama 2005-03-09 18:09:14 Re: Comment retrouver la table à
Previous Message Stéphane Bunel 2005-03-09 13:16:01 Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Comment retrouver la table à partir d'un OID