pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: paul cannon <pik@debian.org>
To: pgsql-sql@postgresql.org
Subject: Re: rule causes nextval() to be invoked twice
Date: Tue, 22 Jul 2003 20:08:53 -0600
Message-ID: <20030723020853.GG24912@fslc.usu.edu> (raw)
In-Reply-To: <20030723014700.GE24912@fslc.usu.edu>
References: <20030723014700.GE24912@fslc.usu.edu>

On Tue, Jul 22, 2003 at 07:47:00PM -0600, paul cannon wrote:
> Until then, I'll have to make a function to do nextval('main_id_seq')
> with every insert, and have the primary key be INTEGER.

Nevermind- that doesn't work either! Here's the new sample code:

-- Begin demo SQL

CREATE SEQUENCE main_id_seq;
CREATE TABLE main (
        id INTEGER PRIMARY KEY,
        contents VARCHAR
);

CREATE TABLE othertable (
        main_id INTEGER REFERENCES main(id)
);              

CREATE RULE main_insert AS 
  ON INSERT TO main DO
        INSERT INTO othertable VALUES (new.id);

INSERT INTO main(id, contents) VALUES (nextval('main_id_seq'), 'Fails here');

-- End demo SQL

The same thing happens. The rule tries to put 2 into othertable. Surely
this is a bug?

-- 
.------------------------------------------------------------.
| paul cannon                                 pik@debian.org |
|                             http://people.debian.org/~pik/ |



view thread (5+ messages)  latest in thread

Message-ID: <20030723020853.GG24912@fslc.usu.edu>
Permalink:  ../20030723020853.GG24912@fslc.usu.edu/
Also on:    postgresql.org/message-id/20030723020853.GG24912@fslc.usu.edu

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: pik@debian.org
  Subject: Re: rule causes nextval() to be invoked twice
  In-Reply-To: <20030723020853.GG24912@fslc.usu.edu>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox