diff --git a/lib/modules/Sql.pmod/pgsql.pike b/lib/modules/Sql.pmod/pgsql.pike index 065a91a29685b348926a09cfd0e06b04634663a7..28ded5c82e25abf2db1d489444ad176f3f9e26e8 100644 --- a/lib/modules/Sql.pmod/pgsql.pike +++ b/lib/modules/Sql.pmod/pgsql.pike @@ -501,13 +501,15 @@ protected void destroy() { resync(); } -private void textquery(string q) { +private .pgsql_util.Result textquery(string q) { + .pgsql_util.Result res; #if 1 foreach (q / ";"; ; string sq) - big_query(sq); + res = big_query(sq); #else // textqueries and portals do not mix well - big_query(q, (["_text":1])); + res = big_query(q, (["_text":1])); #endif + return res; } private void resyncdone() { @@ -518,7 +520,9 @@ private void resyncdone() { private void reset_dbsession() { proxy.statementsinflight->wait_till_drained(); error(1); - textquery("ROLLBACK;RESET ALL;CLOSE ALL;DISCARD TEMP"); + .pgsql_util.Result res + = textquery("ROLLBACK;RESET ALL;CLOSE ALL;DISCARD TEMP"); + while (res->fetch_row()); resyncdone(); }