Re: pgsql: Add pg_plan_advice contrib module.

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: Robert Haas <rhaas@postgresql.org>
Cc: pgsql-committers@lists.postgresql.org
Date: 2026-03-16T21:11:54Z
Lists: pgsql-hackers
On Fri, 13 Mar 2026 at 06:01, Robert Haas <rhaas@postgresql.org> wrote:
> Add pg_plan_advice contrib module.

Hi Robert,

I was just building with VS2026 when I noticed the following warning:

../contrib/pg_plan_advice/pgpa_planner.c(1195): warning C4319: '~':
zero extending 'uint32' to 'uint64' of greater size

I guess the compiler is concerned that you might not have meant to
unconditionally switch off all the upper 32-bits of the 64-bit
variable.  Adding the following does get rid of the warning for me,
but not sure if that's what you had intended. I've not studied the
code enough to understand why there are two different integer widths
being used for the bits.

-               *pgs_mask_p &= ~(PGS_JOIN_ANY & ~join_mask);
+               *pgs_mask_p &= (uint32) ~(PGS_JOIN_ANY & ~join_mask);

David



Commits

  1. pg_plan_advice: Fix variable type confusion.

  2. Add pg_plan_advice contrib module.