On 2023-Feb-21, Heikki Linnakangas wrote:

> > +static BlockNumber
> > +BulkExtendSharedRelationBuffered(Relation rel,
> > +                                                            SMgrRelation 
> > smgr,
> > +                                                            bool 
> > skip_extension_lock,
> > +                                                            char 
> > relpersistence,
> > +                                                            ForkNumber 
> > fork, ReadBufferMode mode,
> > +                                                            
> > BufferAccessStrategy strategy,
> > +                                                            uint32 
> > *num_pages,
> > +                                                            uint32 
> > num_locked_pages,
> > +                                                            Buffer 
> > *buffers)
> 
> Ugh, that's a lot of arguments, some are inputs and some are outputs. I
> don't have any concrete suggestions, but could we simplify this somehow?
> Needs a comment at least.

Yeah, I noticed this too.  I think it would be easy enough to add a new
struct that can be passed as a pointer, which can be stack-allocated
by the caller, and which holds the input arguments that are common to
both functions, as is sensible.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"Update: super-fast reaction on the Postgres bugs mailing list. The report
was acknowledged [...], and a fix is under discussion.
The wonders of open-source !"
             https://twitter.com/gunnarmorling/status/1596080409259003906


Reply via email to