On Fri, Apr 16, 2010 at 4:03 PM, Fujii Masao <masao.fu...@gmail.com> wrote: > On Thu, Apr 15, 2010 at 11:26 PM, Robert Haas <robertmh...@gmail.com> wrote: >> I have to admit to finding this confusing. According to the comments: >> >> + /* >> + * Don't emulate the PQexec()'s behavior of returning the >> last >> + * result when there are many, since walreceiver never sends >> a >> + * query returning multiple results. >> + */ >> >> ...but it looks like the code actually is implementing some sort of >> loop-that-returns-the-last result. > > Yeah, it's not a very accurate description. And I found another problem: > libpqrcv_PQexec() ends as soon as an error result arrives even if its > state has not been PGASYNC_IDLE yet. > > So I changed libpqrcv_PQexec() so that it emulates the PQexec()'s behavior > except the concatenation of error messages. How about the attached patch?
BTW, even if you apply the patch, you would not be able to interrupt the walreceiver by using smart shutdown because of the bug reported in another thread. Please be careful about that when you test the patch. http://archives.postgresql.org/pgsql-hackers/2010-04/msg00592.php Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers