From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | "Inoue, Hiroshi" <h-inoue(at)dream(dot)email(dot)ne(dot)jp> |
Cc: | Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Hiroshi Saito <hiroshi(at)winpg(dot)jp> |
Subject: | Re: Removal of currtid()/currtid2() and some table AM cleanup |
Date: | 2020-06-23 04:29:06 |
Message-ID: | 20200623042906.GI50978@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Jun 15, 2020 at 08:50:23PM +0900, Inoue, Hiroshi wrote:
> Sorry for the reply.
No problem, thanks for taking the time.
> On 2020/06/08 15:52, Michael Paquier wrote:
>> On Fri, Jun 05, 2020 at 10:25:00PM +0900, Inoue, Hiroshi wrote:
>> We have two
>> problems here then:
>> 1) We cannot actually really remove currtid2() from the backend yet
>> without removing the dependency in the driver, or that may break some
>> users.
>
> I think only ODBC driver uses currtid2().
Check. I think so too.
>> 2) The driver does not include tests for that stuff yet.
>
> SQLSetPos(.., .., SQL_REFRESH, ..) call in positioned-update-test passes the
> stuff
> when 'Use Declare/Fetch' option is turned off. In other words,
> keyset-driven cursor
> is not supported when 'Use Declare/Fetch' option is turned on. Probably
> keyset-driven
> cursor support would be lost regardless of 'Use Declare/Fetch' option after
> the removal of currtid2().
Sorry, but I am not quite sure what is the relationship between
UseDeclareFetch and currtid2()? Is that related to the use of
SQL_CURSOR_KEYSET_DRIVEN? The only thing I can be sure of here is
that we never call currtid2() in any of the regression tests present
in the ODBC code for any of the scenarios covered by installcheck-all,
so that does not really bring any confidence that removing currtid2()
is a wise thing to do, because we may silently break stuff. If the
function is used, it would be good to close the gap with a test to
stress that at least in the driver.
currtid(), on the contrary, would be fine as far as I understand
because the ODBC code relies on a RETURNING ctid instead, and that's
supported for ages in the Postgres backend.
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Fabien COELHO | 2020-06-23 04:32:53 | Re: tag typos in "catalog.sgml" |
Previous Message | Amit Kapila | 2020-06-23 04:26:10 | Re: Transactions involving multiple postgres foreign servers, take 2 |