Thread: Rule regression failure freebsd?

Rule regression failure freebsd?

From
Christopher Kings-Lynne
Date:
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)
DOSELECT 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_dataWHERE (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
SETsl_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
SETsl_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
FROMrtest_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
INTOrtest_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_t1SET 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
SETdata = 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
FROMshoelace_data WHERE (shoelace_data.sl_name = old.sl_name); 
   shoelace           | shoelace_ins           | CREATE RULE shoelace_ins AS ON INSERT TO shoelace DO INSTEAD INSERT
INTOshoelace_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_dataSET 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
UPDATEshoelace SET sl_avail = (shoelace.sl_avail + new.ok_quant) WHERE (shoelace.sl_name = new.ok_name); 
! (30 rows)

  --
  -- CREATE OR REPLACE RULE

======================================================================


Re: Rule regression failure freebsd?

From
Tom Lane
Date:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> See attached regression.diffs.

Looks like Jan forgot to update this expected file to match his changes.
        regards, tom lane


Re: Rule regression failure freebsd?

From
Jan Wieck
Date:
Tom Lane wrote:
> Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
>> See attached regression.diffs.
> 
> Looks like Jan forgot to update this expected file to match his changes.
> 
>             regards, tom lane

Not exactly,

I didn't run the parallel regression test and thus missed that rules and 
foreign_key are in the same group and that the execution of the latter 
now affects the result of the former.

I'll try to fix it by moving the test into rule.sql (it's placed there 
as wrong as it's in foreign_key). If that doesn't work either I will 
back it out as we don't want bigger regression test rearrangements at 
this stage in the release cycle.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



Re: Rule regression failure freebsd?

From
Jan Wieck
Date:
Jan Wieck wrote:

> Tom Lane wrote:
>> Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
>>> See attached regression.diffs.
>> 
>> Looks like Jan forgot to update this expected file to match his changes.
>> 
>>             regards, tom lane
> 
> Not exactly,
> 
> I didn't run the parallel regression test and thus missed that rules and 
> foreign_key are in the same group and that the execution of the latter 
> now affects the result of the former.
> 
> I'll try to fix it by moving the test into rule.sql (it's placed there 
> as wrong as it's in foreign_key). If that doesn't work either I will 
> back it out as we don't want bigger regression test rearrangements at 
> this stage in the release cycle.

The test is now in rule.sql.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #