Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: juanramirez <juanramirez(at)cajazacate(dot)com(dot)sv>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿
Date: 2011-01-20 20:36:07
Message-ID: AANLkTi=Ym3ucj+uUvARK=bWFrad9Hbn_m9Mjdf9oybyB@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2011/1/20 juanramirez <juanramirez(at)cajazacate(dot)com(dot)sv>:
>
> Ese es el caso real. Ahora mi intención es competir contra un sistema ya
> creado y mejorar las opciones que ya posee. Del sistema que hablo esta esa
> validación en el aplicativo (tal como lo sugirió alguién por acá). Yo quiero
> llegar mas allá, habilitándole la opción en una RULE de la vista.
>
>

mmm... ok, siempre me opongo a los controles tan agresivos pero no soy
quien para rechazar la necesidad que ustedes han determinado...

en todo caso, no lo puedes hacer con una vista... una regla sobre
SELECT solo puede ejecutar SELECT y no INSERT/UPDATE/DELETE

El manual dice en "37.2.1. How SELECT Rules Work":
"""
Currently, there can be only one action in an ON SELECT rule, and it
must be an unconditional SELECT action that is INSTEAD. This
restriction was required to make rules safe enough to open them for
ordinary users, and it restricts ON SELECT rules to act like views.
"""

la unica manera de lograr lo que quieres es que tengas una funcion
para calcular los saldos y que cada vez que la llames ella grabe esa
peticion... aun los usuarios podrian accesar manualmente con un select
en las tablas pero mientras el aplicativo siempre use esa funcion
estaras seguro.

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-01-20 22:17:11 Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿
Previous Message Gustavo Garay 2011-01-20 19:36:56 Re: Error al crear lenguaje