Re: pgsql/src backend/access/transam/xact.c backen ... - Mailing list pgsql-committers

From Thomas Lockhart
Subject Re: pgsql/src backend/access/transam/xact.c backen ...
Date
Msg-id 3BB589F5.CF59DC8B@fourpalms.org
Whole thread Raw
In response to pgsql/src backend/access/transam/xact.c backen ...  (thomas@postgresql.org)
Responses Re: pgsql/src backend/access/transam/xact.c backen ...
List pgsql-committers
> I'm seeing the following failure in the rules regress test:
...
> The actual result corresponds to the former output, and is indeed what
> I would expect, given that text_timestamp() is (and should be)
> non-cachable.  Are you sure this expected file is correct?

It was, when I had marked that function as cachable. I went through the
catalog one last time and changed it back (apparently).

> I'm also seeing rather massive failures in horology, but this evidently
> is because horology-no-DST-before-1970.out hasn't been updated ...

Right. I've got one failure in horology myself, since one test was
sensitive to DST and has a transition which apparently happened last
night!

Both should be fixed now. Or would be if cvs.postgresql.org was
responding to requests for ssh. I've enclosed a patch file to be
applied, if you would like to do the honors.

I don't have the right kind of box to be able to test horology for the
"pre1970 crowd" myself, so others will have to do it.

                        - ThomasIndex: expected/horology.out
===================================================================
RCS file: /home/thomas/cvs/repository/pgsql/src/test/regress/expected/horology.out,v
retrieving revision 1.27
diff -c -r1.27 horology.out
*** expected/horology.out    2001/09/28 07:59:52    1.27
--- expected/horology.out    2001/09/29 08:18:48
***************
*** 548,555 ****
   03:31:00
  (1 row)

! SELECT CAST(CAST(date 'today' + time with time zone '03:30'
!             + interval '1 month 04:01' AS time with time zone) AS time) AS "07:31:00";
   07:31:00
  ----------
   07:31:00
--- 548,555 ----
   03:31:00
  (1 row)

! SELECT CAST(cast(date 'today' + time with time zone '03:30-08'
!   + interval '1 month 04:01' as timestamp without time zone) AS time) AS "07:31:00";
   07:31:00
  ----------
   07:31:00
Index: expected/rules.out
===================================================================
RCS file: /home/thomas/cvs/repository/pgsql/src/test/regress/expected/rules.out,v
retrieving revision 1.44
diff -c -r1.44 rules.out
*** expected/rules.out    2001/09/28 07:59:53    1.44
--- expected/rules.out    2001/09/29 08:19:59
***************
*** 1308,1315 ****

  SELECT tablename, rulename, definition FROM pg_rules
      ORDER BY tablename, rulename;
!    tablename   |    rulename     |
                                     definition
                                                  
!
---------------+-----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   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);
   rtest_emp     | rtest_emp_ins   | CREATE RULE rtest_emp_ins AS ON INSERT TO rtest_emp DO INSERT INTO rtest_emplog
(ename,who, "action", newsal, oldsal) VALUES (new.ename, "current_user"(), 'hired     '::bpchar, new.salary,
'$0.00'::money);
   rtest_emp     | rtest_emp_upd   | CREATE RULE rtest_emp_upd AS ON UPDATE TO rtest_emp WHERE (new.salary <>
old.salary)DO INSERT INTO rtest_emplog (ename, who, "action", newsal, oldsal) VALUES (new.ename, "current_user"(),
'honored  '::bpchar, new.salary, old.salary); 
--- 1308,1315 ----

  SELECT tablename, rulename, definition FROM pg_rules
      ORDER BY tablename, rulename;
!    tablename   |    rulename     |
                                  definition
                                           
!
---------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   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);
   rtest_emp     | rtest_emp_ins   | CREATE RULE rtest_emp_ins AS ON INSERT TO rtest_emp DO INSERT INTO rtest_emplog
(ename,who, "action", newsal, oldsal) VALUES (new.ename, "current_user"(), 'hired     '::bpchar, new.salary,
'$0.00'::money);
   rtest_emp     | rtest_emp_upd   | CREATE RULE rtest_emp_upd AS ON UPDATE TO rtest_emp WHERE (new.salary <>
old.salary)DO INSERT INTO rtest_emplog (ename, who, "action", newsal, oldsal) VALUES (new.ename, "current_user"(),
'honored  '::bpchar, new.salary, old.salary); 
***************
*** 1335,1341 ****
   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"); 
   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); 
  (27 rows)

--- 1335,1341 ----
   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,"timestamp"('epoch'::text)); 
   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); 
  (27 rows)

Index: sql/horology.sql
===================================================================
RCS file: /home/thomas/cvs/repository/pgsql/src/test/regress/sql/horology.sql,v
retrieving revision 1.16
diff -c -r1.16 horology.sql
*** sql/horology.sql    2001/09/28 08:00:11    1.16
--- sql/horology.sql    2001/09/29 08:17:34
***************
*** 87,94 ****
  SELECT CAST(CAST(date 'today' + time with time zone '01:30'
              + interval '02:01' AS time with time zone) AS time) AS "03:31:00";

! SELECT CAST(CAST(date 'today' + time with time zone '03:30'
!             + interval '1 month 04:01' AS time with time zone) AS time) AS "07:31:00";

  SELECT interval '04:30' - time with time zone '01:02-05' AS "20:32:00-05";

--- 87,94 ----
  SELECT CAST(CAST(date 'today' + time with time zone '01:30'
              + interval '02:01' AS time with time zone) AS time) AS "03:31:00";

! SELECT CAST(cast(date 'today' + time with time zone '03:30-08'
!   + interval '1 month 04:01' as timestamp without time zone) AS time) AS "07:31:00";

  SELECT interval '04:30' - time with time zone '01:02-05' AS "20:32:00-05";


pgsql-committers by date:

Previous
From: inoue@postgresql.org
Date:
Subject: pgsql/src include/nodes/execnodes.h backend/ex ...
Next
From: tgl@postgresql.org
Date:
Subject: pgsql/src/test/regress expected/horology-no-DS ...