On 22/01/2024 1:47 am, Tomas Vondra wrote:
> h, right. Well, you're right in this case we perhaps could set just one
> of those flags, but the "purpose" of the two places is quite different.
>
> The "prefetch" flag is fully controlled by the prefetcher, and it's up
> to it to change it (e.g. I can easily imagine some new logic touching
> setting it to "false" for some reason).
>
> The "data" flag is fully controlled by the custom callbacks, so whatever
> the callback stores, will be there.
>
> I don't think it's worth simplifying this. In particular, I don't think
> the callback can assume it can rely on the "prefetch" flag.
>
Why not to add "all_visible" flag to IndexPrefetchEntry ? If will not
cause any extra space overhead (because of alignment), but allows to
avoid dynamic memory allocation (not sure if it is critical, but nice to
avoid if possible).