closeCursor closes a specific cursor and cleans up its resources.
(name string)
| 83 | if cursor.rows != nil { |
| 84 | _ = cursor.rows.Close() |
| 85 | } |
| 86 | if cursor.cleanup != nil { |
| 87 | cursor.cleanup() |
| 88 | } |
| 89 | delete(c.cursors, name) |
| 90 | } |
| 91 | |
| 92 | // closeAllCursors closes all open cursors on this connection. |
| 93 | func (c *clientConn) closeAllCursors() { |
| 94 | for name := range c.cursors { |
| 95 | c.closeCursor(name) |
| 96 | } |
| 97 | } |
| 98 | |
| 99 | // closeCursorsAtTxEnd closes all open cursors before a COMMIT/ROLLBACK |
| 100 | // statement executes. PostgreSQL destroys non-holdable cursors at transaction |