Re: setLastTid() and currtid()

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: setLastTid() and currtid()
Дата
Msg-id 20190411175220.pktsk4zyjyjpfibk@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: setLastTid() and currtid()  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: setLastTid() and currtid()  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: setLastTid() and currtid()  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

On 2019-04-11 13:27:03 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On 2019-03-27 10:01:08 +0900, Inoue, Hiroshi wrote:
> >> The above code remains only for PG servers whose version < 8.2.
> >> Please remove the code around setLastTid().
> 
> > Does anybody else have concerns about removing this interface? Does
> > anybody think we should have a deprecation phase? Should we remove this
> > in 12 or 13?
> 
> I think removing it after feature freeze is not something to do,
> but +1 for nuking it as soon as the v13 branch opens.  Unless
> there's some important reason we need it to be gone in v12?

No, I don't think there really is. They're bogus and possibly a bit
dangerous, but that's not really new.

I was mostly just reminded of this when Heikki asked me to improve the
documentation for heap_get_latest_tid/table_get_latest_tid() - and I was
briefly wondering whether we could just nuke the whole functionality.
But it's still used in nodeTidscan.c:

        /*
         * For WHERE CURRENT OF, the tuple retrieved from the cursor might
         * since have been updated; if so, we should fetch the version that is
         * current according to our snapshot.
         */
        if (node->tss_isCurrentOf)
            table_get_latest_tid(heapRelation, snapshot, &tid);

If we were able to just get rid of that I think there'd have been a
strong case for removing $subject in v12, to avoid exposing something to
new AMs that we're going to nuke in v13.

The only other reason I can see is that there's literally no use for
them (bogus and only used by pgodbc when targeting <= 8.2), and that
they cost a bit of performance and are the only reason heapam.h is still
included in nodeModifyTable.h (hurting my pride).   But that's probably
not sufficient reason.

Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: setLastTid() and currtid()
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Reducing the runtime of the core regression tests