Re: Rules y Select

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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