X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (neptune.hub.org [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id BDB85D1B4CC for ; Sun, 4 Jan 2004 13:52:45 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 77081-01 for ; Sun, 4 Jan 2004 09:52:00 -0400 (AST) Received: from sraigw.sra.co.jp (sraigw.sra.co.jp [202.32.10.2]) by svr1.postgresql.org (Postfix) with ESMTP id 65E44D1B4AF for ; Sun, 4 Jan 2004 09:51:56 -0400 (AST) Received: from srascb.sra.co.jp (srascb [133.137.8.65]) by sraigw.sra.co.jp (Postfix) with ESMTP id CDCB06290A for ; Sun, 4 Jan 2004 22:51:57 +0900 (JST) Received: from sranhm.sra.co.jp (IDENT:root@localhost [127.0.0.1]) by srascb.sra.co.jp (8.9.3p2/3.7W-sra) with ESMTP id WAA08629 for ; Sun, 4 Jan 2004 22:51:57 +0900 Received: from localhost (sraihb-hub.sra.co.jp [133.137.8.6]) by sranhm.sra.co.jp (8.9.3+3.2W/3.7W-srambox) with ESMTP id WAA10263 for ; Sun, 4 Jan 2004 22:51:57 +0900 Date: Sun, 04 Jan 2004 22:51:15 +0900 (JST) Message-Id: <20040104.225115.71101762.t-ishii@sra.co.jp> To: pgsql-sql@postgresql.org Subject: DO INSTEAD in rule From: Tatsuo Ishii X-Mailer: Mew version 2.3 on Emacs 20.7 / Mule 4.1 =?iso-2022-jp?B?KBskQjAqGyhCKQ==?= Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200401/16 X-Sequence-Number: 16409 Hi, In the last SELECT I exepcted j = 0, rather than j = 1 since I use DO INSTEAD in the rule and the default value for j is 0. Am I missing something? DROP TABLE t1 CASCADE; DROP TABLE CREATE TABLE t1 ( i INTEGER, j INTEGER DEFAULT 0 ); CREATE TABLE CREATE rule t1_ins AS ON INSERT TO t1 WHERE (EXISTS (SELECT 1 FROM t1 WHERE i = new.i)) DO INSTEAD UPDATE t1 SET j = j + 1 WHERE i = new.i; CREATE RULE INSERT INTO t1 VALUES (1); INSERT 1690668 1 SELECT * FROM t1; i | j ---+--- 1 | 1 (1 row) -- Tatsuo Ishii