Hacker News new | ask | show | jobs
by levkk 21 days ago
Handling cursors is tough - they are very much session-level objects, so even if we, say, pinned your client while it uses that cursor, which would work, that would decrease the performance of connection pooling overall.

So, what's better, breaking your app initially so you know to remove that feature, or letting it work silently while the connection pool isn't 100% in transaction mode? Tough call.

2 comments

Maybe don't reassign the sesssion to a different client so long as there's a cursor open (the way that most poolers have a mode that won't reassign a session that has a transaction open)?
Which one did you pick?
Pin the client temporarily. I'm assuming that our users know what they are doing. I could be wrong, but so far so good.