On 1/21/21 2:22 AM, Tom Lane wrote:
Tomas Vondra <tomas.von...@enterprisedb.com> writes:
I may be wrong, but the most likely explanation seems to be this is due
to the junk filter initialization, which simply moves past the end of
the mtstate->resultRelInfo array.
resultRelInfo is certainly pointing at garbage at that point.
Yup. It's pretty amazing the x86 machines seem to be mostly OK with it.
It kinda seems the GetForeignModifyBatchSize call should happen before
that block. The attached patch fixes this for me (i.e. regression tests
pass with no valgrind reports.
Or did I get that wrong?
Don't we need to initialize ri_BatchSize for *each* resultrelinfo,
not merely the first one? That is, this new code needs to be
somewhere inside a loop over the result rels.
Yeah, I think you're right. That's an embarrassing oversight :-(
regards
--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company