| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | Peter Geoghegan <pg(at)bowt(dot)ie> | 
| Cc: | Andres Freund <andres(at)anarazel(dot)de>, Manuel Rigger <rigger(dot)manuel(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> | 
| Subject: | Re: ERROR: found unexpected null value in index | 
| Date: | 2019-07-11 23:01:14 | 
| Message-ID: | 23597.1562886074@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs | 
Peter Geoghegan <pg(at)bowt(dot)ie> writes:
> On Thu, Jul 11, 2019 at 2:20 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> As far as I can tell, no special finagling is needed: if we just use
>> the regular index-only-scan logic then this all works the way we want,
>> and it's actually better than before because we get to skip heap visits
>> altogether when dealing with unchanging data.  Attached is a patch
>> against HEAD that seems to do all the right things.
> Interesting approach. I certainly prefer it to the alternative
> approach of framing the problem as a visibility concern.
Yes, I certainly like this better than my previous attempt.
I still feel like we're going to want to push (most of?) this logic
below the tableam API at some point, because its implementation was
and remains tied to heap+btree.  But other table AMs are likely to
support ordered scan accesses of some sort, and they're going to
want to be able to adjust the planner's extremal-value estimates
too.  It's a job for later though.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2019-07-12 01:25:03 | Re: BUG #15888: Bogus "idle in transaction" state for logical decoding client after creating a slot | 
| Previous Message | Peter Geoghegan | 2019-07-11 22:35:13 | Re: ERROR: found unexpected null value in index |