See attached regression.diffs.

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

Reply via email to