From 7560995a38dc408ae78973728965d052ccdbdb48 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 17 Mar 2026 10:20:15 -0400 Subject: [PATCH] pg_plan_advice: Fix variable type confusion. pgs_mask values should always be uint64, but in a couple of places I incorrectly used uint32. Fix that. Reported-by: David Rowley Discussion: http://postgr.es/m/CAApHDvquH6wnp4fhpaCOkC4R3KAvr2BOTbhhDPDQCBNR3YbLMQ@mail.gmail.com --- contrib/pg_plan_advice/pgpa_planner.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/pg_plan_advice/pgpa_planner.c b/contrib/pg_plan_advice/pgpa_planner.c index 5508b8af707..c05d549dd1d 100644 --- a/contrib/pg_plan_advice/pgpa_planner.c +++ b/contrib/pg_plan_advice/pgpa_planner.c @@ -996,7 +996,7 @@ pgpa_planner_apply_join_path_advice(JoinType jointype, uint64 *pgs_mask_p, Bitmapset *jo_deny_rel_indexes = NULL; Bitmapset *jm_indexes = NULL; bool jm_conflict = false; - uint32 join_mask = 0; + uint64 join_mask = 0; Bitmapset *sj_permit_indexes = NULL; Bitmapset *sj_deny_indexes = NULL; @@ -1048,7 +1048,7 @@ pgpa_planner_apply_join_path_advice(JoinType jointype, uint64 *pgs_mask_p, while ((i = bms_next_member(pjs->join_indexes, i)) >= 0) { pgpa_trove_entry *entry = &pjs->join_entries[i]; - uint32 my_join_mask; + uint64 my_join_mask; /* Handle join order advice. */ if (entry->tag == PGPA_TAG_JOIN_ORDER)