Re: Row pattern recognition

From: Henson Choi <assam258(at)gmail(dot)com>
To: Tatsuo Ishii <ishii(at)postgresql(dot)org>
Cc: vik(at)postgresfriends(dot)org, er(at)xs4all(dot)nl, jacob(dot)champion(at)enterprisedb(dot)com, david(dot)g(dot)johnston(at)gmail(dot)com, peter(at)eisentraut(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Row pattern recognition
Date: 2026-02-16 15:09:04
Message-ID: CAAAe_zA7FjgFGgVHXKUP2pXzctdioELseTKA8wgMJOS1gv_+8g@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tatsuo,

Thanks for rebasing to v43!

I noticed the Cirrus CI 32-bit build (test_world_32) failed on three
tests, all due to the same root cause in rpr_explain.out:

Sort Method: quicksort Memory: 27kB (expected, 64-bit)
Sort Method: quicksort Memory: 22kB (actual, 32-bit)

The rpr_explain_filter() function was already normalizing the RPR
Storage memory values, but missed the Sort node's "Memory: NNkB"
which also varies between 32-bit and 64-bit due to pointer/struct
size differences.

The attached incremental patch adds Sort Method memory normalization
to rpr_explain_filter(), using the same approach as the existing
Storage and Maximum Storage filters.

> The node serialization functions (141 lines, 0% coverage) are the
> > largest untested area. I'm not sure how to trigger these paths
> > in the regression test framework. Any suggestions?
>
> I think we can leave it as it is, until reluctant quantifier is
> implemented.
>

Agreed.

> > I'll send a separate email within a few days listing the FIXME
> > issues and other unresolved items from the mailing list discussion
> > for your review.
>
> Looking forward to reading your email.

Best regards,
Henson

Attachment Content-Type Size
v43-fix-rpr-explain-32bit.txt text/plain 3.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message torikoshia 2026-02-16 15:10:32 Re: RFC: Logging plan of the running query
Previous Message Tomas Vondra 2026-02-16 15:07:24 Re: index prefetching