| From: | Nadav Shatz <nadav(at)tailorbrands(dot)com> |
|---|---|
| To: | Tatsuo Ishii <ishii(at)postgresql(dot)org> |
| Cc: | pgpool-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Proposal: Recent mutated table tracking in memory |
| Date: | 2026-04-07 05:45:03 |
| Message-ID: | CACeKOO0U6o1kXx9-Bm9y8hkd0f0nk_VtXCv3CX8+Z=aYHmGaLg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgpool-hackers |
Hi Tatsuo,
Yes I ran into it during the work on the feature. Let me know if you want
me to separately submit it.
Cheers
Nadav Shatz
Tailor Brands | CTO
On Tue, Apr 7, 2026 at 2:08 AM Tatsuo Ishii <ishii(at)postgresql(dot)org> wrote:
> Hi Nadav,
>
> > Hi Tatsuo,
> >
> > Thank you for the thorough review and the fix to the tests!. Here's the
> > updated patch addressing all your comments.
> >
> > re - replication_delay_source_cmd requirement
> >
> > Good catch ― the feature now also works when `delay_threshold_by_time >
> 0`.
> > I've added the TTL update call to `check_replication_time_lag()` (the
> > pg_stat_replication path), not just
> > `check_replication_time_lag_with_cmd()`. The docs are updated to reflect
> > that either `replication_delay_source_cmd` or `delay_threshold_by_time`
> can
> > provide the time-based delay.
> >
> > re - Documentation compile error
> >
> > Fixed ― the xref was pointing to `runtime-config-track-table-mutation`
> but
> > the actual section ID is `runtime-config-table-mutation-map`.
> >
> > Thanks again and looking forward to hearing back from you.
>
> While looking into your patch, I noticed that following part would be
> better to be committed as a separate patch as it's actually a bug fix,
> not related to the feature: query cache is not invalidated if MERGE
> statement is executed. I will take care of it and get back to you.
>
> --- a/src/query_cache/pool_memqcache.c
> +++ b/src/query_cache/pool_memqcache.c
> @@ -1305,6 +1305,12 @@ pool_extract_table_oids(Node *node, int **oidsp)
> }
> return num_oids;
> }
> + else if (IsA(node, MergeStmt))
> + {
> + MergeStmt *stmt = (MergeStmt *) node;
> +
> + table = make_table_name_from_rangevar(stmt->relation);
> + }
> else if (IsA(node, ExplainStmt))
> {
> ListCell *cell;
>
> Thanks for letting me know about the bug!
>
> Regards,
> --
> Tatsuo Ishii
> SRA OSS K.K.
> English: http://www.sraoss.co.jp/index_en/
> Japanese:http://www.sraoss.co.jp
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tatsuo Ishii | 2026-04-07 09:10:09 | Re: Proposal: Recent mutated table tracking in memory |
| Previous Message | Tatsuo Ishii | 2026-04-07 00:08:02 | Re: Proposal: Recent mutated table tracking in memory |