Re: "strange" rule behavior with nextval on new.* fields - Mailing list pgsql-bugs

From Fabien COELHO
Subject Re: "strange" rule behavior with nextval on new.* fields
Date
Msg-id Pine.LNX.4.61.0411121011510.23462@sablons.cri.ensmp.fr
Whole thread Raw
In response to Re: "strange" rule behavior with nextval on new.* fields  (Michael Fuhr <mike@fuhr.org>)
List pgsql-bugs
Dear Michael,

> This comes up often and the response is usually something like,
> "Rules are macros, which is why referring to NEW.id causes another
> evaluation of nextval().  If you don't want that to happen then use
> a trigger."

That is indeed what I gathered;-)

It might be sensible to avoid multiple evaluations for the new.*
attributes when possible. I can foresee that it makes the implementation
less straightforward wrt to a pure tree-rewriting stuff.

Also, there is no such thing as a SQL trigger, so one needs to install
plpgsql to develop a simple trigger.

> This comes up often enough that maybe it warrants a "Caveats with
> Rules" section in "The Rule System" chapter

There is neither such section nor subsection in chapter "the rule system".
Maybe a sub-sub-section somewhere?

Table of Contents
32.1. The Query Tree
32.2. Views and the Rule System
     32.2.1. How SELECT Rules Work
     32.2.2. View Rules in Non-SELECT Statements
     32.2.3. The Power of Views in PostgreSQL
     32.2.4. Updating a View
32.3. Rules on INSERT, UPDATE, and DELETE
     32.3.1. How Update Rules Work
     32.3.2. Cooperation with Views
32.4. Rules and Privileges
32.5. Rules and Command Status
32.6. Rules versus Triggers

> and a link to that section in the CREATE RULE documentation, as well as
> mention in the FAQ.

I must admit that I did not look at the FAQ.

The general tone of the rule documentation is "look how great and powerful
it is", and somehow it is nearly as great as promised, but nearly only.

Well, thanks for your comment,

--
Fabien.

pgsql-bugs by date:

Previous
From: franciscojavier.solis@sainsel.abengoa.com
Date:
Subject: Problem installing postgresql in XP with cygwin
Next
From: Klint Gore
Date:
Subject: Re: Problem installing postgresql in XP with cygwin