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