You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the client has not issued an explicit BEGIN, then each Sync ordinarily causes an implicit COMMIT if the preceding step(s) succeeded, or an implicit ROLLBACK if they failed.
Looking at the trace of the minimized example, you can see this also:
→ Bind(portal_3,statement_1,List())
→ Flush
← BindComplete
→ Bind(portal_4,statement_2,List())
→ Flush
← BindComplete
→ Execute(portal_4,2)
→ Flush
← RowData(List(Some(2023-06-27)))
← CommandComplete(Select(1))
→ Sync <---
← ReadyForQuery(Idle)
→ Execute(portal_3,2)
→ Flush
← ErrorResponse(F -> postgres.c, M -> portal "portal_3" does not exist, V -> ERROR, L -> 1917, C -> 34000, R -> exec_execute_message, S -> ERROR
Perhaps, it's a matter of being clever about the sync, but this might also impact error recovery.
This follows from a discussion on discord.
When submitting multiple queries concurrently, in the same session, you'll get a
portal_n does not exist
. Here's a minimal example from repo:This can be gotten around by increasing the connection pool size, or by using a separate session for each
makeQuery
call.PostgreSQL seems to say that this should work however; it's documented here. But perhaps I've misunderstood this.
The text was updated successfully, but these errors were encountered: