Re: CURRENT OF causes an error when IndexOnlyScan is used - Mailing list pgsql-hackers

From Anastasia Lubennikova
Subject Re: CURRENT OF causes an error when IndexOnlyScan is used
Date
Msg-id 97dc81d3-0ea9-3032-49d9-7983e35fb010@postgrespro.ru
Whole thread Raw
In response to Re: CURRENT OF causes an error when IndexOnlyScan is used  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: CURRENT OF causes an error when IndexOnlyScan is used  (Aleksander Alekseev <a.alekseev@postgrespro.ru>)
List pgsql-hackers
01.02.2018 05:12, Tom Lane:
> Yugo Nagata <nagata@sraoss.co.jp> writes:
>> I'm sorry the patch attached in the previous mail is broken and
>> not raises a compile error. I attached the fixed patch.
> This patch is almost certainly wrong: you can't assume that the scan-level
> state matches the tuple we are currently processing at top level.  Any
> sort of delaying action, for instance a sort or materialize node in
> between, would break it.
>
> We need to either fix this aspect:
>
>>> IndexOnlyScan returns a virtual tuple that doesn't have system
>>> column, so we can not get ctid in the same way of other plans.

I'd like to propose the patch that fixes the issue.
We already have a way to return heaptuple from IndexOnlyScan,
but it was not applied to b-tree for some reason.

Attached patch solves the reported bug.
Moreover, it will come in handy for "index with included attributes" 
feature [1],
where we can store long (and even TOASTed) attributes in indextuple.

[1] https://commitfest.postgresql.org/17/1350/

-- 
Anastasia Lubennikova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


Attachment

pgsql-hackers by date:

Previous
From: Ildus Kurbangaliev
Date:
Subject: Re: Prefix operator for text and spgist support
Next
From: Ildus Kurbangaliev
Date:
Subject: Re: autovacuum: change priority of the vacuumed tables