Re: logrep stuck with 'ERROR: int2vector has too many elements'

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Erik Rijkers <er@xs4all.nl>, pgsql-hackers@postgresql.org
Date: 2023-01-15T20:53:09Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> For the purpose here a limit of MaxTupleAttributeNumber or such instead of
> FUNC_MAX_ARGS would do the trick, I think?

As long as we have to change the code, we might as well remove the
arbitrary restriction.

> Should this be repalloc0? I don't know if the palloc0 above was just used with
> the goal of initializing the "header" fields, or also to avoid trailing
> uninitialized bytes?

I think probably the palloc0 was mostly about belt-and-suspenders
programming.  But yeah, its only real value is to ensure that all
the header fields are zero, so I don't think we need repalloc0
when enlarging.  After we set the array size at the end of the
loop, it'd be a programming bug to touch any bytes beyond that.

			regards, tom lane



Commits

  1. Remove arbitrary FUNC_MAX_ARGS limit in int2vectorin and oidvectorin.