Re: [HACKERS] 9.1rc1: TRAP: FailedAssertion(!(item_width 0), File: costsize.c, Line: 3274)

2011-08-23 Thread Tom Lane
Erik Rijkers e...@xs4all.nl writes:
 The below SQL causes:
 TRAP: FailedAssertion(!(item_width  0), File: costsize.c, Line: 3274)

Thanks, I've applied a patch for this.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] 9.1rc1: TRAP: FailedAssertion(!(item_width 0), File: costsize.c, Line: 3274)

2011-08-22 Thread Erik Rijkers
I am developing against 9.1beta3 and encountered this problem. I repeated it 
against rc1 (or
actually, REL9_1_STABLE taken from git today).

The below SQL causes:

TRAP: FailedAssertion(!(item_width  0), File: costsize.c, Line: 3274)

and the session crashes.


select *
from (
  select
   col1
,  col2
,  reviewed
  from
(values
( , 'aweyu', 3)
  , ( , 'bwetu', 2)
  , ( , 'vwxyz', 1)
 )
as r(col1,col2,col3)
  left join (
select 1 as reviewed, c2 from ( values ('abcde') ) as t1(c2)
  union all select 0 as reviewed, c2 from ( values ('vwxyz') ) as t2(c2)
  )
 as up_all on up_all.c2 = r.col2
  order by col3
)
  as f
;


To simplify I used 'values' for the actual tables that I am using, but the 
above still causes the
FailedAssertion.

Removing the outer select avoids the error and
removing order by avoids the error


Erik Rijkers







-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 9.1rc1: TRAP: FailedAssertion(!(item_width 0), File: costsize.c, Line: 3274)

2011-08-22 Thread Robert Haas
On Mon, Aug 22, 2011 at 4:16 PM, Erik Rijkers e...@xs4all.nl wrote:
 I am developing against 9.1beta3 and encountered this problem. I repeated it 
 against rc1 (or
 actually, REL9_1_STABLE taken from git today).

 The below SQL causes:

 TRAP: FailedAssertion(!(item_width  0), File: costsize.c, Line: 3274)

 and the session crashes.

 select *
 from (
  select
       col1
    ,  col2
    ,  reviewed
  from
    (values
        ( , 'aweyu', 3)
      , ( , 'bwetu', 2)
      , ( , 'vwxyz', 1)
     )
        as r(col1,col2,col3)
  left join (
                select 1 as reviewed, c2 from ( values ('abcde') ) as t1(c2)
      union all select 0 as reviewed, c2 from ( values ('vwxyz') ) as t2(c2)
  )
     as up_all on up_all.c2 = r.col2
  order by col3
 )
  as f
 ;


 To simplify I used 'values' for the actual tables that I am using, but the 
 above still causes the
 FailedAssertion.

 Removing the outer select avoids the error and
 removing order by avoids the error

I can reproduce this on master but not on 9.0.  I suspect the problem
was introduced by this commit:

commit 0f61d4dd1b4f95832dcd81c9688dac56fd6b5687
Author: Tom Lane t...@sss.pgh.pa.us
Date:   Fri Nov 19 17:31:50 2010 -0500

Improve relation width estimation for subqueries.

...but I haven't confirmed that yet.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 9.1rc1: TRAP: FailedAssertion(!(item_width 0), File: costsize.c, Line: 3274)

2011-08-22 Thread Tom Lane
Robert Haas robertmh...@gmail.com writes:
 On Mon, Aug 22, 2011 at 4:16 PM, Erik Rijkers e...@xs4all.nl wrote:
 The below SQL causes:
 TRAP: FailedAssertion(!(item_width  0), File: costsize.c, Line: 3274)

 I can reproduce this on master but not on 9.0.  I suspect the problem
 was introduced by this commit:
 commit 0f61d4dd1b4f95832dcd81c9688dac56fd6b5687

Well, that's a pretty safe bet considering the Assert is in code that
didn't exist before that commit ;-).  The question is why the per-column
width estimate hasn't been set for that column.  Looking at the
coredump, I see that the width *did* get set for the subquery's other
output column, which makes it even weirder.  Too tired to dig further
right now though.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers