diff --git a/lib/modules/Sql.pmod/pgsql.pike b/lib/modules/Sql.pmod/pgsql.pike index 37d7a3c652ca5c1d142455a3bdc76d624217b044..e9e94c82e9c49c9897b022b041217abe7488eeee 100644 --- a/lib/modules/Sql.pmod/pgsql.pike +++ b/lib/modules/Sql.pmod/pgsql.pike @@ -1042,7 +1042,7 @@ private void procmessage() { portal=0; break; case 'E': { - if(!_readyforquerycount) + if (_portalsinflight <= 1 && !_readyforquerycount) sendsync(); PD("%O ErrorResponse %O\n", objectp(portal)&&(portal._portalname||portal._preparedname), @@ -1084,8 +1084,6 @@ private void procmessage() { case "25P02": // Preserve last error message USERERROR(a2nls(lastmessage)); } - if(objectp(portal)) - portal->_releasesession(); break; } case 'N': {