From: | Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr> |
---|---|
To: | "Marie-Claude QUIDOZ" <Marie-Claude(dot)QUIDOZ(at)cefe(dot)cnrs(dot)fr> |
Cc: | <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: vue paremetrable ? |
Date: | 2012-11-13 22:54:25 |
Message-ID: | m2pq3hqfku.fsf@2ndQuadrant.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonsoir,
"Marie-Claude QUIDOZ" <Marie-Claude(dot)QUIDOZ(at)cefe(dot)cnrs(dot)fr> writes:
> Pour exploiter ma base de données, j'ai créé une fonction paramétrable qui correspond à mes besoins (cf en dessous)
>
> CREATE or REPLACE FUNCTION entree_donnees.recherche_bordereau_jaune_annee_obs(integer)
> RETURNS SETOF entree_donnees.bordereau_jaune AS
> $BODY$
> SELECT * FROM entree_donnees.bordereau_jaune WHERE annee_obs=$1
> $BODY$
> LANGUAGE SQL VOLATILE;
>
> SELECT * FROM entree_donnees.recherche_bordereau_jaune_annee_obs(2004)
>
> L'idéal serait d'utiliser des vues paramétrables mais ca ne me semble pas possible.
Dans le cas général une « vue paramétrable » n'existe pas avec
PostgreSQL. Techniquement, le seul moyen de s'en rapprocher serait peut
être l'utilisation des Foreign Data Wrappers…
Ceci dit dans ce cas précis, l'exemple est si simple qu'il est difficile
de comprendre l'objectif souhaité. À quel problème essayez-vous de
répondre avec cette fonction ? Protection de l'accès aux données,
simplification des API, autre ?
Enfin, cette fonction devrait vraissemblablement être marquée STABLE
plutôt que volatile, sa lecture me laisse penser qu'elle retournera
toujours les mêmes résultats pour les mêmes arguments tant que le
contenu de la base de données n'est pas modifié.
À moins bien sûr que entree_donnees.bordereau_jaune soit une vue qui
expose une colonne calculée du type now() ou random().
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
From | Date | Subject | |
---|---|---|---|
Next Message | Jehan-Guillaume (ioguix) de Rorthais | 2012-11-14 08:24:21 | Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Re: [Membres PGFr] Conférences |
Previous Message | Dimitri Fontaine | 2012-11-13 22:47:16 | Re: Re: [pgsql-fr-generale] Re: [Membres PGFr] Conférences |