Re: Removal of currtid()/currtid2() and some table AM cleanup

From: "Inoue, Hiroshi" <h-inoue(at)dream(dot)email(dot)ne(dot)jp>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Hiroshi Saito <hiroshi(at)winpg(dot)jp>, "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
Subject: Re: Removal of currtid()/currtid2() and some table AM cleanup
Date: 2020-06-25 13:14:00
Message-ID: feb60cf1-2a38-95f1-2652-dfc49888e385@dream.email.ne.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I seem to have invalidated KEYSET-DRIVEN cursors used in
positioned-update test .
It was introduced by the commit 4a272fd but was invalidated by the
commit 2be35a6.

I don't object to the removal of currtid(2) because keyset-driven
cursors in psqlodbc are changed into static cursors in many cases and
I've hardly ever heard a complaint about it.

regards,
Hiroshi Inoue

On 2020/06/24 11:11, Michael Paquier wrote:
> On Tue, Jun 23, 2020 at 02:02:33PM +0900, Michael Paquier wrote:
>> Actually, while reviewing the code, the only code path where we use
>> currtid2() involves positioned_load() and LATEST_TUPLE_LOAD. And the
>> only location where this happens is in SC_pos_reload_with_key(), where
>> I don't actually see how it would be possible to not have a keyset and
>> still use a CTID, which would led to LATEST_TUPLE_LOAD being used. So
>> could it be possible that the code paths of currtid2() are actually
>> just dead code?
> I have dug more into this one, and we actually stressed this code path
> quite a lot up to commit d9cb23f in the ODBC driver, with tests
> cursor-block-delete, positioned-update and bulkoperations particularly
> when calling SQLSetPos(). However, 86e2e7a has reworked the code in
> such a way that we visibly don't use anymore CTIDs if we don't have a
> keyset, and that combinations of various options like UseDeclareFetch
> or UpdatableCursors don't trigger this code path anymore. In short,
> currtid2() does not get used. Inoue-san, Saito-san, what do you
> think? I am adding also Tsunakawa-san in CC who has some experience
> in this area.
> --
> Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Darafei Komяpa Praliaskouski 2020-06-25 13:31:36 Re: CUBE_MAX_DIM
Previous Message Peter Eisentraut 2020-06-25 13:08:48 Re: More tzdb fun: POSIXRULES is being deprecated upstream