Sorry for the reply.

On 2020/06/08 15:52, Michael Paquier wrote:
On Fri, Jun 05, 2020 at 10:25:00PM +0900, Inoue, Hiroshi wrote:
Keyset-driven cursors always detect changes made by other applications
(and themselves). currtid() is necessary to detect the changes.
CTIDs are changed by updates unfortunately.
You mean currtid2() here and not currtid(), right?

Yes.

   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().

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().

--
Michael



Reply via email to