Re: Consistent segfault in complex query

Andrew Gierth <andrew@tao11.riddles.org.uk>

From: Andrew Gierth <andrew@tao11.riddles.org.uk>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Kyle Samson <kysamson@tripadvisor.com>, "pgsql-hackers\@postgresql.org" <pgsql-hackers@postgresql.org>, Matthew Kelly <mkelly@tripadvisor.com>
Date: 2018-09-12T16:43:18Z
Lists: pgsql-hackers
>>>>> "Andrew" == Andrew Gierth <andrew@tao11.riddles.org.uk> writes:

 Andrew> Going to see if this can be narrowed down further.

Simpler testcase, removing the CTE, so this is clearly just about
InitPlan:

create table mytable (flag boolean default false, foo integer);
insert into mytable default values;

session B:
  begin; update mytable set flag = true;

session A:
  update mytable set foo = case when not flag then foo else length((select 'foo')) end;

commit in B and watch A die in:
#1  0x0000000000b001bd in text_length (str=0) at varlena.c:647

-- 
Andrew (irc:RhodiumToad)


Commits

  1. Fix failure with initplans used conditionally during EvalPlanQual rechecks.