XML regression test failure

Started by Neil Conwayalmost 19 years ago5 messages
#1Neil Conway
neilc@samurai.com
1 attachment(s)

$ make -C src/test/regress runtest
[ ... ]
test xml ... FAILED
test stats ... ok
test tablespace ... ok

========================
1 of 105 tests failed.
========================

The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile target
(i.e. run the regression tests in serial mode); "make check" works fine,
for example.

-Neil

Attachments:

regression.diffstext/x-patch; charset=us-ascii; name=regression.diffsDownload
*** ./expected/xml.out	Sat Jan 20 11:58:03 2007
--- ./results/xml.out	Sat Jan 20 12:05:01 2007
***************
*** 57,64 ****
  DETAIL:  Expected '>'
  SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>');
               xmlconcat             
! -----------------------------------
!  <?xml version="1.1"?><foo/><bar/>
  (1 row)
  
  SELECT xmlelement(name element,
--- 57,64 ----
  DETAIL:  Expected '>'
  SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>');
                       xmlconcat                     
! ---------------------------------------------------
!  <foo/><?xml version="1.1" standalone="no"?><bar/>
  (1 row)
  
  SELECT xmlelement(name element,
***************
*** 275,297 ****
  ERROR:  invalid XML content
  DETAIL:  Element name not found
  SELECT xmlagg(data) FROM xmltest;
!                 xmlagg                
! --------------------------------------
!  <value>one</value><value>two</value>
! (1 row)
! 
  SELECT xmlagg(data) FROM xmltest WHERE id > 10;
!  xmlagg 
! --------
!  
! (1 row)
! 
  SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp;
!                                                            xmlelement                                                           
! --------------------------------------------------------------------------------------------------------------------------------
!  <employees><name>sharon</name><name>sam</name><name>bill</name><name>jeff</name><name>cim</name><name>linda</name></employees>
! (1 row)
! 
  -- Check mapping SQL identifier to XML name
  SELECT xmlpi(name ":::_xml_abc135.%-&_");
                        xmlpi                      
--- 275,294 ----
  ERROR:  invalid XML content
  DETAIL:  Element name not found
  SELECT xmlagg(data) FROM xmltest;
! ERROR:  function xmlagg(xml) does not exist
! LINE 1: SELECT xmlagg(data) FROM xmltest;
!                ^
! HINT:  No function matches the given name and argument types. You may need to add explicit type casts.
  SELECT xmlagg(data) FROM xmltest WHERE id > 10;
! ERROR:  function xmlagg(xml) does not exist
! LINE 1: SELECT xmlagg(data) FROM xmltest WHERE id > 10;
!                ^
! HINT:  No function matches the given name and argument types. You may need to add explicit type casts.
  SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp;
! ERROR:  function xmlagg(xml) does not exist
! LINE 1: SELECT xmlelement(name employees, xmlagg(xmlelement(name nam...
!                                           ^
! HINT:  No function matches the given name and argument types. You may need to add explicit type casts.
  -- Check mapping SQL identifier to XML name
  SELECT xmlpi(name ":::_xml_abc135.%-&_");
                        xmlpi                      

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

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Neil Conway (#1)
Re: XML regression test failure

Neil Conway wrote:

The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile target
(i.e. run the regression tests in serial mode); "make check" works
fine, for example.

You need to re-initdb.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#2)
Re: XML regression test failure

Peter Eisentraut <peter_e@gmx.net> writes:

Neil Conway wrote:

The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile target
(i.e. run the regression tests in serial mode); "make check" works
fine, for example.

You need to re-initdb.

IOW someone forgot to bump catversion when committing a change that
invalidated the regression tests? Preventing this type of confusion
is exactly what we invented catversion for.

regards, tom lane

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#3)
Re: XML regression test failure

Tom Lane wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Neil Conway wrote:

The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile
target (i.e. run the regression tests in serial mode); "make
check" works fine, for example.

You need to re-initdb.

IOW someone forgot to bump catversion when committing a change that
invalidated the regression tests?

No. I should have said you need to reinstall, when you run the test
against an already installed instance. Once reinstalled, the
catversion check will trigger.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#5Simon Riggs
simon@2ndquadrant.com
In reply to: Peter Eisentraut (#4)
Re: XML regression test failure

On Sun, 2007-01-21 at 08:36 +0100, Peter Eisentraut wrote:

Tom Lane wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Neil Conway wrote:

The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile
target (i.e. run the regression tests in serial mode); "make
check" works fine, for example.

You need to re-initdb.

IOW someone forgot to bump catversion when committing a change that
invalidated the regression tests?

No. I should have said you need to reinstall, when you run the test
against an already installed instance. Once reinstalled, the
catversion check will trigger.

The main point is the same as the catversion check however. There should
be a message that says "reinstall to correct this", just like the
catversion check does, or at very least a hint to say "have you tried a
reinstall to correct this?"

--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com