During an automatic failover due to a remote server failure, or an explicit administrative switch request, OpenSwitch manages active client-side cursors in the following manner:
If an outgoing connection is still available to the remote server, the cursor is explicitly closed on the server.
If the client connection managing the cursor was involved in an open transaction at the time of the switch request or failure, a deadlock is issued to notify the client application that any updates or deletes performed upon the cursor have been rolled back.
After the outgoing connection to the failover remote server has been reestablished, all client-side cursors managed by OpenSwitch are re-created on the server.
After a client-side cursor has been re-created, it is repositioned on the same row as it was on the previous server.