Regression failure in PL/Tcl

Started by Alvaro Herreraalmost 19 years ago5 messages
#1Alvaro Herrera
alvherre@commandprompt.com
1 attachment(s)

Hi,

I'm seeing the following regression failure in PL/Tcl. It seems to be
just an ordering issue, and the order in which a trigger is fired.

This is a pristine, freshly updated copy of CVS head as of right now.

I'm not sure why the buildfarm is not having this problem.

alvherre=# select version();
version
------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 8.3devel on x86_64-unknown-linux-gnu, compiled by GCC gcc-4.1 (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
(1 fila)

alvherre=# \q
$ uname -a
Linux perhan 2.6.18-3-amd64 #1 SMP Mon Dec 4 17:04:37 CET 2006 x86_64 GNU/Linux

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Attachments:

regression.diffstext/plain; charset=us-asciiDownload
*** ./expected/pltcl_queries.out	Sat May 27 16:24:16 2006
--- ./results/pltcl_queries.out	Thu Mar 22 11:41:41 2007
***************
*** 166,175 ****
  select * from T_pkey1 order by key1 using @<, key2;
   key1 |         key2         |                   txt                    
  ------+----------------------+------------------------------------------
-     1 | KEY1-3               | should work                             
      1 | key1-1               | test key                                
      1 | key1-2               | test key                                
      1 | key1-3               | test key                                
      2 | key2-3               | test key                                
      2 | key2-9               | test key                                
  (6 rows)
--- 166,175 ----
  select * from T_pkey1 order by key1 using @<, key2;
   key1 |         key2         |                   txt                    
  ------+----------------------+------------------------------------------
      1 | key1-1               | test key                                
      1 | key1-2               | test key                                
      1 | key1-3               | test key                                
+     1 | KEY1-3               | should work                             
      2 | key2-3               | test key                                
      2 | key2-9               | test key                                
  (6 rows)
***************
*** 185,190 ****
--- 185,191 ----
  
  -- show dump of trigger data
  insert into trigger_test values(1,'insert');
+ NOTICE:  args: {23 skidoo}
  NOTICE:  NEW: {i: 1, v: insert}
  NOTICE:  OLD: {}
  NOTICE:  TG_level: ROW
***************
*** 195,202 ****
  NOTICE:  TG_table_name: trigger_test
  NOTICE:  TG_table_schema: public
  NOTICE:  TG_when: BEFORE
- NOTICE:  args: {23 skidoo}
  update trigger_test set v = 'update' where i = 1;
  NOTICE:  NEW: {i: 1, v: update}
  NOTICE:  OLD: {i: 1, v: insert}
  NOTICE:  TG_level: ROW
--- 196,203 ----
  NOTICE:  TG_table_name: trigger_test
  NOTICE:  TG_table_schema: public
  NOTICE:  TG_when: BEFORE
  update trigger_test set v = 'update' where i = 1;
+ NOTICE:  args: {23 skidoo}
  NOTICE:  NEW: {i: 1, v: update}
  NOTICE:  OLD: {i: 1, v: insert}
  NOTICE:  TG_level: ROW
***************
*** 207,214 ****
  NOTICE:  TG_table_name: trigger_test
  NOTICE:  TG_table_schema: public
  NOTICE:  TG_when: BEFORE
- NOTICE:  args: {23 skidoo}
  delete from trigger_test;
  NOTICE:  NEW: {}
  NOTICE:  OLD: {i: 1, v: update}
  NOTICE:  TG_level: ROW
--- 208,215 ----
  NOTICE:  TG_table_name: trigger_test
  NOTICE:  TG_table_schema: public
  NOTICE:  TG_when: BEFORE
  delete from trigger_test;
+ NOTICE:  args: {23 skidoo}
  NOTICE:  NEW: {}
  NOTICE:  OLD: {i: 1, v: update}
  NOTICE:  TG_level: ROW
***************
*** 219,223 ****
  NOTICE:  TG_table_name: trigger_test
  NOTICE:  TG_table_schema: public
  NOTICE:  TG_when: BEFORE
- NOTICE:  args: {23 skidoo}
        
--- 220,223 ----

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

#2Alvaro Herrera
alvherre@commandprompt.com
In reply to: Alvaro Herrera (#1)
Re: Regression failure in PL/Tcl

Alvaro Herrera wrote:

Hi,

I'm seeing the following regression failure in PL/Tcl. It seems to be
just an ordering issue, and the order in which a trigger is fired.

This is a pristine, freshly updated copy of CVS head as of right now.

I removed the derived files (moral equivalent of make distclean) and the
failure persists.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#1)
Re: Regression failure in PL/Tcl

Alvaro Herrera <alvherre@commandprompt.com> writes:

I'm seeing the following regression failure in PL/Tcl. It seems to be
just an ordering issue, and the order in which a trigger is fired.

Works on my x86_64 box. Are you running the test in C locale (because
it looks a bit like a sort-ordering issue)?

regards, tom lane

#4Andrew Dunstan
andrew@dunslane.net
In reply to: Alvaro Herrera (#1)
Re: Regression failure in PL/Tcl

Alvaro Herrera wrote:

Hi,

I'm seeing the following regression failure in PL/Tcl. It seems to be
just an ordering issue, and the order in which a trigger is fired.

This is a pristine, freshly updated copy of CVS head as of right now.

I'm not sure why the buildfarm is not having this problem.

What is the collation setting for the instance you are running against?
If you didn't initdb --no-locale (which is what buildfarm clients do)
then you might expect something like this.

cheers

andrew

#5Alvaro Herrera
alvherre@commandprompt.com
In reply to: Tom Lane (#3)
Re: Regression failure in PL/Tcl

Tom Lane wrote:

Alvaro Herrera <alvherre@commandprompt.com> writes:

I'm seeing the following regression failure in PL/Tcl. It seems to be
just an ordering issue, and the order in which a trigger is fired.

Works on my x86_64 box. Are you running the test in C locale (because
it looks a bit like a sort-ordering issue)?

Oh, I wasn't aware of that. I did initdb --no-locale per Andrew's
suggestion and it worked. Sorry for the noise.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support