Chris
parallel group (5 tests): select_views portals_p2 cluster foreign_key rules
select_views ... ok
portals_p2 ... ok
rules ... FAILED
foreign_key ... ok
cluster ... ok
parallel group (14 tests): limit truncate prepare sequence copy2 without_oid po
lymorphism domain rangefuncs stats conversion temp plpgsql alter_table
limit ... ok
plpgsql ... ok
copy2 ... ok
temp ... ok
domain ... ok
rangefuncs ... ok
prepare ... ok
without_oid ... ok
conversion ... ok
truncate ... ok
alter_table ... ok
sequence ... ok
polymorphism ... ok
stats ... ok
============== shutting down postmaster ==============
======================= 1 of 93 tests failed. =======================
*** ./expected/rules.out Thu Sep 25 14:58:06 2003
--- ./results/rules.out Fri Oct 31 13:21:22 2003
***************
*** 1314,1320 ****
SELECT tablename, rulename, definition FROM pg_rules
ORDER BY tablename, rulename;
tablename | rulename |
definition
!
---------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pg_settings | pg_settings_n | CREATE RULE pg_settings_n AS ON UPDATE TO
pg_settings DO INSTEAD NOTHING;
pg_settings | pg_settings_u | CREATE RULE pg_settings_u AS ON UPDATE TO
pg_settings WHERE (new.name = old.name) DO SELECT set_config(old.name, new.setting,
false) AS set_config;
rtest_emp | rtest_emp_del | CREATE RULE rtest_emp_del AS ON DELETE TO
rtest_emp DO INSERT INTO rtest_emplog (ename, who, "action", newsal, oldsal) VALUES
(old.ename, "current_user"(), 'fired'::bpchar, '$0.00'::money, old.salary);
--- 1314,1320 ----
SELECT tablename, rulename, definition FROM pg_rules
ORDER BY tablename, rulename;
tablename | rulename |
definition
!
--------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pg_settings | pg_settings_n | CREATE RULE pg_settings_n AS ON
UPDATE TO pg_settings DO INSTEAD NOTHING;
pg_settings | pg_settings_u | CREATE RULE pg_settings_u AS ON
UPDATE TO pg_settings WHERE (new.name = old.name) DO SELECT set_config(old.name,
new.setting, false) AS set_config;
rtest_emp | rtest_emp_del | CREATE RULE rtest_emp_del AS ON
DELETE TO rtest_emp DO INSERT INTO rtest_emplog (ename, who, "action", newsal, oldsal)
VALUES (old.ename, "current_user"(), 'fired'::bpchar, '$0.00'::money, old.salary);
***************
*** 1339,1350 ****
rtest_v1 | rtest_v1_del | CREATE RULE rtest_v1_del AS ON DELETE TO rtest_v1
DO INSTEAD DELETE FROM rtest_t1 WHERE (rtest_t1.a = old.a);
rtest_v1 | rtest_v1_ins | CREATE RULE rtest_v1_ins AS ON INSERT TO rtest_v1
DO INSTEAD INSERT INTO rtest_t1 (a, b) VALUES (new.a, new.b);
rtest_v1 | rtest_v1_upd | CREATE RULE rtest_v1_upd AS ON UPDATE TO rtest_v1
DO INSTEAD UPDATE rtest_t1 SET a = new.a, b = new.b WHERE (rtest_t1.a = old.a);
shoelace | shoelace_del | CREATE RULE shoelace_del AS ON DELETE TO shoelace
DO INSTEAD DELETE FROM shoelace_data WHERE (shoelace_data.sl_name = old.sl_name);
shoelace | shoelace_ins | CREATE RULE shoelace_ins AS ON INSERT TO shoelace
DO INSTEAD INSERT INTO shoelace_data (sl_name, sl_avail, sl_color, sl_len, sl_unit)
VALUES (new.sl_name, new.sl_avail, new.sl_color, new.sl_len, new.sl_unit);
shoelace | shoelace_upd | CREATE RULE shoelace_upd AS ON UPDATE TO shoelace
DO INSTEAD UPDATE shoelace_data SET sl_name = new.sl_name, sl_avail = new.sl_avail,
sl_color = new.sl_color, sl_len = new.sl_len, sl_unit = new.sl_unit WHERE
(shoelace_data.sl_name = old.sl_name);
shoelace_data | log_shoelace | CREATE RULE log_shoelace AS ON UPDATE TO
shoelace_data WHERE (new.sl_avail <> old.sl_avail) DO INSERT INTO shoelace_log
(sl_name, sl_avail, log_who, log_when) VALUES (new.sl_name, new.sl_avail, 'Al
Bundy'::name, 'Thu Jan 01 00:00:00 1970'::timestamp without time zone);
shoelace_ok | shoelace_ok_ins | CREATE RULE shoelace_ok_ins AS ON INSERT TO
shoelace_ok DO INSTEAD UPDATE shoelace SET sl_avail = (shoelace.sl_avail +
new.ok_quant) WHERE (shoelace.sl_name = new.ok_name);
! (29 rows)
--
-- CREATE OR REPLACE RULE
--- 1339,1351 ----
rtest_v1 | rtest_v1_del | CREATE RULE rtest_v1_del AS ON DELETE
TO rtest_v1 DO INSTEAD DELETE FROM rtest_t1 WHERE (rtest_t1.a = old.a);
rtest_v1 | rtest_v1_ins | CREATE RULE rtest_v1_ins AS ON INSERT
TO rtest_v1 DO INSTEAD INSERT INTO rtest_t1 (a, b) VALUES (new.a, new.b);
rtest_v1 | rtest_v1_upd | CREATE RULE rtest_v1_upd AS ON UPDATE
TO rtest_v1 DO INSTEAD UPDATE rtest_t1 SET a = new.a, b = new.b WHERE (rtest_t1.a =
old.a);
+ rule_and_refint_t3 | rule_and_refint_t3_ins | CREATE RULE rule_and_refint_t3_ins AS
ON INSERT TO rule_and_refint_t3 WHERE (EXISTS (SELECT 1 FROM rule_and_refint_t3 WHERE
(((rule_and_refint_t3.id3a = new.id3a) AND (rule_and_refint_t3.id3b = new.id3b)) AND
(rule_and_refint_t3.id3c = new.id3c)))) DO INSTEAD UPDATE rule_and_refint_t3 SET data
= new.data WHERE (((rule_and_refint_t3.id3a = new.id3a) AND (rule_and_refint_t3.id3b =
new.id3b)) AND (rule_and_refint_t3.id3c = new.id3c));
shoelace | shoelace_del | CREATE RULE shoelace_del AS ON DELETE
TO shoelace DO INSTEAD DELETE FROM shoelace_data WHERE (shoelace_data.sl_name =
old.sl_name);
shoelace | shoelace_ins | CREATE RULE shoelace_ins AS ON INSERT
TO shoelace DO INSTEAD INSERT INTO shoelace_data (sl_name, sl_avail, sl_color, sl_len,
sl_unit) VALUES (new.sl_name, new.sl_avail, new.sl_color, new.sl_len, new.sl_unit);
shoelace | shoelace_upd | CREATE RULE shoelace_upd AS ON UPDATE
TO shoelace DO INSTEAD UPDATE shoelace_data SET sl_name = new.sl_name, sl_avail =
new.sl_avail, sl_color = new.sl_color, sl_len = new.sl_len, sl_unit = new.sl_unit
WHERE (shoelace_data.sl_name = old.sl_name);
shoelace_data | log_shoelace | CREATE RULE log_shoelace AS ON UPDATE
TO shoelace_data WHERE (new.sl_avail <> old.sl_avail) DO INSERT INTO shoelace_log
(sl_name, sl_avail, log_who, log_when) VALUES (new.sl_name, new.sl_avail, 'Al
Bundy'::name, 'Thu Jan 01 00:00:00 1970'::timestamp without time zone);
shoelace_ok | shoelace_ok_ins | CREATE RULE shoelace_ok_ins AS ON
INSERT TO shoelace_ok DO INSTEAD UPDATE shoelace SET sl_avail = (shoelace.sl_avail +
new.ok_quant) WHERE (shoelace.sl_name = new.ok_name);
! (30 rows)
--
-- CREATE OR REPLACE RULE======================================================================
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
