Re: BUG #16258: exec_simple_query does not call ProcessCompletedNotifies after CommitTransactionCommand

From: RekGRpth <rekgrpth(at)gmail(dot)com>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16258: exec_simple_query does not call ProcessCompletedNotifies after CommitTransactionCommand
Date: 2020-02-25 02:51:55
Message-ID: CAPgh2m+++Ce2rPHB3M_MjnYue32UwgxtLNpkeX-GvEUaZai+Lw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

oops! with with command

psql -c "begin;select pg_notify('channel', concat_ws(' = ',
'a',clock_timestamp()::text));commit;select pg_sleep(10);begin;select
pg_notify('channel', concat_ws(' = ', 'b',clock_timestamp()::text));select
1/0;commit;select now(), clock_timestamp();"

nothing notifies are received!

with bst regrds, Rek>pth

вт, 18 февр. 2020 г. в 07:48, RekGRpth <rekgrpth(at)gmail(dot)com>:

> Thanks for the tip! I learned outer code of function exec_simple_query and
> I seen "idle" condition of calling ProcessCompletedNotifies! In my postgres
> job scheduler https://github.com/RekGRpth/pg_task I copied
> exec_simple_query and modified it to call ProcessCompletedNotifies after
> CommitTransactionCommand and it works!
> with bst regrds, Rek>pth
>
>
> сб, 15 февр. 2020 г. в 23:16, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>:
>
>> On Sat, Feb 15, 2020 at 4:39 AM RekGRpth <rekgrpth(at)gmail(dot)com> wrote:
>>
>>>
>>> And how about several transaction in new procedures?
>>>
>>
>> That does seem like a legitimate gripe.
>>
>> create or replace procedure foo() LANGUAGE plpgsql as $$
>> begin
>> FOR i IN 1..100 LOOP
>> perform pg_notify('channel','HI');
>> perform pg_sleep(1);
>> commit;
>> end loop;
>> end; $$;
>> CALL foo();
>>
>> An actively polling listener gets all notification all at once at the
>> end. (I just use psql with a "LISTEN channel;" and the repeatedly execute
>> ";" to get it to poll)
>>
>> Cheers,
>>
>> Jeff
>>
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2020-02-25 06:49:06 BUG #16275: we are facing error as psycopg2.errors.ProgramLimitExceeded: row is too big: size 24520, maximum
Previous Message Fan Liu 2020-02-25 01:57:25 RE: [Bus error] huge_pages default value (try) not fall back