On Mon, Oct 12, 2020 at 10:59 AM Masahiko Sawada <masahiko.saw...@2ndquadrant.com> wrote: > > On Thu, 8 Oct 2020 at 17:59, Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > On Thu, Oct 8, 2020 at 1:55 PM Masahiko Sawada > > <masahiko.saw...@2ndquadrant.com> wrote: > > > > > > On Thu, 8 Oct 2020 at 14:10, Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > > > > > > > > > We can write if we want but there are few things we need to do for > > > > that like maybe a new function like wait_for_spill_stats which will > > > > check if the counters have become zero. Then probably call a reset > > > > function, call a new wait function, and then again check stats to > > > > ensure they are reset to 0. > > > > > > Yes. > > > > > > > I am not sure if it is worth but probably it is not a bad idea > > especially if we extend the existing tests based on your below idea? > > > > > > We can't write any advanced test which means reset the existing stats > > > > perform some tests and again check stats because *slot_get_changes() > > > > function can start from the previous WAL for which we have covered the > > > > stats. We might write that if we can somehow track the WAL positions > > > > from the previous test. I am not sure if we want to go there. > > > > > > Can we use pg_logical_slot_peek_changes() instead to decode the same > > > transactions multiple times? > > > > > > > I think this will do the trick. If we want to go there then I suggest > > we can have a separate regression test file in test_decoding with name > > as decoding_stats, stats, or something like that. We can later add the > > tests related to streaming stats in that file as well. > > > > Agreed. > > I've updated the patch. Please review it. >
Few comments: ============= 1. +-- function to wait for counters to advance +CREATE FUNCTION wait_for_spill_stats(check_reset bool) RETURNS void AS $$ Can we rename this function to wait_for_decode_stats? I am thinking we can later reuse this function for streaming stats as well by passing the additional parameter 'stream bool'. 2. let's drop the table added by this test and regression_slot at the end of the test. -- With Regards, Amit Kapila.