On Thu, Jun 8, 2017 at 10:40 PM, Robert Haas <robertmh...@gmail.com> wrote:
> On Thu, Jun 8, 2017 at 7:01 AM, Amit Kapila <amit.kapil...@gmail.com> wrote:
>> On Thu, Jun 8, 2017 at 1:33 AM, Robert Haas <robertmh...@gmail.com> wrote:
>>> On Wed, Jun 7, 2017 at 5:46 AM, Amit Kapila <amit.kapil...@gmail.com> wrote:
>>>> As far as I understand, it is to ensure that for deleted rows, nothing
>>>> more needs to be done.  For example, see the below check in
>>>> ExecUpdate/ExecDelete.
>>>> if (!ItemPointerEquals(tupleid, &hufd.ctid))
>>>> {
>>>> ..
>>>> }
>>>> ..
>>>> Also a similar check in ExecLockRows.  Now for deleted rows, if the
>>>> t_ctid wouldn't point to itself, then in the mentioned functions, we
>>>> were not in a position to conclude that the row is deleted.
>>> Right, so we would have to find all such checks and change them to use
>>> some other method to conclude that the row is deleted.  What method
>>> would we use?
>> I think before doing above check we can simply check if ctid.ip_blkid
>> contains InvalidBlockNumber, then return an error.
> Hmm, OK.  That case never happens today?

As per my understanding that case doesn't exist.  I will verify again
once the patch is available.  I can take a crack at it if Amit
Khandekar is busy with something else or is not comfortable in this

With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

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

Reply via email to