Re: ERROR: found unexpected null value in index

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Manuel Rigger <rigger.manuel@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2019-07-10T01:43:54Z
Lists: pgsql-bugs
Peter Geoghegan <pg@bowt.ie> writes:
> On Tue, Jul 9, 2019 at 6:08 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> The error is coming from the planner's get_actual_variable_range:
>> and I think it's entirely within its rights to complain, because it
>> set up the scan key to reject nulls.  In short, somebody seems to
>> have broken btrees' processing of SK_ISNULL | SK_SEARCHNOTNULL scankeys,
>> and they broke it in v11, because prior versions don't show this failure.

> It's not obvious to me why that might be. I'll run a "git bisect" to
> track down the offending commit.

I just finished doing that, and indeed it fingers 3ca930fc3 as the
first bad commit.  Seems like it must have exposed a pre-existing
problem though?  Too tired to look further tonight.

			regards, tom lane



Commits

  1. Fix get_actual_variable_range() to cope with broken HOT chains.

  2. Improve performance of get_actual_variable_range with recently-dead tuples.