Re: Fix ReadStream handling when heap rescan strategy changes

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Cc: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Subject: Re: Fix ReadStream handling when heap rescan strategy changes
Date: 2026-11-04 03:32:25
Message-ID: CAGRkXqSX6PzrydJ6OeOOiYC+GKT_uhmivG+AB3uO+emTubv8wA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Bertrand,

I am not sure the dangling pointer case can happen on master today.

initscan() only frees the strategy if SO_ALLOW_STRAT gets cleared or
the table drops below NBuffers / 4. The only caller of
table_rescan_set_params() is SampleScan, and a sample scan has no read
stream on master.

I don't think the table can shrink either, because truncation takes an AE
today.
This is something I really hope we can get fixed/improved.

Back to the main topic, I think on master the worst case scenario is the
one in your 0002, which causes more buffer pollution.

Thanks,
Shihao

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message shveta malik 2026-11-04 03:33:13 Re: BUG? Unpublished generated columns are reported "missing" by the subscription
Previous Message Henson Choi 2026-11-04 03:10:35 Re: Row pattern recognition