Buen dia a todos

recientemente conversando con Jaime Casanova me entere que hay una
propuesta para retirar las reglas de postgres y que muy probablemente sera
adoptada.

De hecho yo actualmente tengo un problema con una regla en postgres 10.1
cuando es usada desde QGis 2.18

Si yo uso la regla usando pgadmin funciona bien y no me permite insertar
una nueva geometria de tipo punto cuando se trata de las mismas coordenadas.

Esta es la regla

CREATE OR REPLACE RULE ed_ap_valvula AS
    ON INSERT TO ap_valvula
   WHERE 0 <> (( SELECT count(*) AS count
           FROM ap_valvula
          WHERE ap_valvula.the_geom ~= new.the_geom))
DO INSTEAD NOTHING;

Pero cuando lo intento desde QGIS me da este mensaje de error

"Necesita un regla incondicional ON INSERT DO INSTEAD con una cláusula
RETURNING"

Jaime me sugirio mejor escribir la regla como trigger pero no se como
hacerlo haber quien me hecha una mano o un cable jeje para escribir esto
como trigger

la idea es que si alguien al dibujar en QGIS repite el mismo dibujo el
segundo sea descartado automaticamente si se trata exactamente de las
mismas coordenadas u otros criterios de campos que se puedan comparar.

esta reglas seria un trigger que se ejecutaria antes de insertar y
devolveria null o un mensaje que diga "no se puede grabar porque la
geometria esta duplicada".

Gracias por la ayuda que me puedan brindar.

Atte

Jose











-- 
José Mercedes Venegas Acevedo
cel Mov RPC 964185205

Member of the PHP Documentation Group (Spanish)

Reply via email to