From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
Cc: | Postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Rules y Select |
Date: | 2006-12-24 11:30:46 |
Message-ID: | 20061224113046.GD16764@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Oswaldo Hernández escribió:
> Hola a todos,
>
> Estoy intentando crear la siguiente 'rule' y obtengo un error:
>
> (PostgreSQL 8.1.4 Windows)
>
> soft-com=# CREATE RULE costes_select AS ON SELECT TO costes WHERE (not
> has_table_privilege('costes', 'SELECT')) DO INSTEAD select NULL, NULL;
> ERROR: event qualifications are not implemented for rules on SELECT
>
> Entiendo que la clausula WHERE no esta implementada para SELECT. ¿Es
> correcto?
No puedes aplicar reglas en SELECT. Las unicas reglas en SELECT
permitidas deben llamarse _RETURN y tienen que ver con las vistas.
(Debo agregar que el crear una regla _RETURN sobre una tabla la
convierte en una vista, pero no debes confiar en este comportamiento
porque sólo se entrega para compatibilidad con dumps generados por
versiones de pg_dump anteriores a no sé cual, creo que 7.0).
> Si es asi, lo que pretendo es que cuando el usuario no tenga permiso de
> select sobre la tabla devuelva valores nulos en vez de generar un error.
Humm, quizas usando una SRF puedas lograr eso.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Oswaldo Hernández | 2006-12-24 13:08:59 | Re: Rules y Select |
Previous Message | Oswaldo Hernández | 2006-12-24 11:26:45 | Rules y Select |