Rules listing error
От | Tomasz Rybak |
---|---|
Тема | Rules listing error |
Дата | |
Msg-id | 1126107778.4589.8.camel@localhost.localdomain обсуждение исходный текст |
Ответы |
Re: Rules listing error
|
Список | 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@post.pl>
В списке pgadmin-hackers по дате отправления: