Hi, On 2019-04-11 13:27:03 -0400, Tom Lane wrote: > Andres Freund <and...@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