Skip site navigation (1) Skip section navigation (2)

Rules listing error

From: Tomasz Rybak <bogomips(at)post(dot)pl>
To: pgAdmin Hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Rules listing error
Date: 2005-09-07 15:42:58
Message-ID: 1126107778.4589.8.camel@localhost.localdomain (view raw or flat)
Thread:
Lists: pgadmin-hackers
Is rules system in pgAdmin complete?
Here's script I used to create tables
(it's few tables of more complicated system).

CREATE DATABASE c OWNER postgres ENCODING 'UNICODE';
\connect 'c'

CREATE TABLE ta (
	id1 SERIAL NOT NULL,
	id2 INTEGER NOT NULL,
	id3 INTEGER NOT NULL,
	d TIMESTAMP WITH TIME ZONE NOT NULL,
	a CHARACTER VARYING(128) NOT NULL,
	b CHARACTER VARYING(3) NOT NULL,
	c TEXT NOT NULL,

	CONSTRAINT ta_pkey PRIMARY KEY (id1)
);

CREATE TABLE tb (
	id1 INTEGER NOT NULL,
	id2 INTEGER NOT NULL,
	id3 INTEGER NOT NULL,
	d TIMESTAMP WITH TIME ZONE NOT NULL,
	a CHARACTER VARYING(128) NOT NULL,
	b CHARACTER VARYING(3) NOT NULL,
	c TEXT NOT NULL,

	CONSTRAINT tb_pkey PRIMARY KEY (id1)
);

CREATE TABLE tc (
	id1 INTEGER NOT NULL,
	id2 INTEGER NOT NULL,
	id3 INTEGER NOT NULL,
	d TIMESTAMP WITH TIME ZONE NOT NULL,
	a TIMESTAMP WITH TIME ZONE NOT NULL,
	b TEXT NOT NULL,
	c INTEGER NOT NULL,

	CONSTRAINT tc_pkey PRIMARY KEY (id1)
);

CREATE TABLE td (
	id1 INTEGER UNIQUE,
	id2 INTEGER NOT NULL,
	id3 INTEGER NOT NULL,
	d TIMESTAMP WITH TIME ZONE NOT NULL,
	a INTEGER NOT NULL,
	b INTEGER NOT NULL CHECK (b > 0),

	CONSTRAINT td_pkey PRIMARY KEY (id2, id3)
);

CREATE RULE update_ta AS ON UPDATE TO ta
DO (UPDATE td SET
id1 = NEW.id1, d = NEW.d
WHERE
id2 = NEW.id2 AND id3 = NEW.id3
AND id1 = NEW.id1);

CREATE RULE delete_ta AS ON DELETE TO ta
DO (UPDATE td SET a = 1
WHERE
id2 = OLD.id2 AND id3 = OLD.id3
AND id1 = OLD.id1);


CREATE RULE insert_tb AS ON INSERT TO tb
DO (UPDATE td SET
a = 3
WHERE
id2 = NEW.id2 AND id2 = NEW.id2
AND id1 = NEW.id1);

CREATE RULE update_tb AS ON UPDATE TO tb
DO (UPDATE td SET
id1 = NEW.id1, d = NEW.d
WHERE
id2 = NEW.id2 AND id3 = NEW.id3
AND id1 = NEW.id1);

CREATE RULE delete_tb AS ON DELETE TO tb
DO (UPDATE td SET
id1 = (SELECT id1 FROM tc
WHERE
id2 = OLD.id2 AND id3 = OLD.id3
ORDER BY id1 DESC LIMIT 1),
b = b - 1
WHERE
id2 = OLD.id2 AND id3 = OLD.id3
AND id1 = OLD.id1);


I run this script to create database on PG 8.0.3
(from Debian Sid 8.0.3-14) and on PG 8.1
(from Debian Experimental 8.0+8.1beta-1).

When I check created database using pgAdmin rev 4427,
it doesn't show any of existing rules (just created ones).
It shows triggers; but no rules.

What's going on?

-- 
Tomasz Rybak <bogomips(at)post(dot)pl>


Responses

pgadmin-hackers by date

Next:From: Tomasz RybakDate: 2005-09-07 15:43:47
Subject: Cannot compile 4431
Previous:From: svnDate: 2005-09-06 19:07:51
Subject: SVN Commit by andreas: r4431 - trunk/pgadmin3/src/schema

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group