From: Robert Haas Date: Tue, 17 Mar 2026 14:20:15 +0000 (-0400) Subject: pg_plan_advice: Fix variable type confusion. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7560995a38dc408ae78973728965d052ccdbdb48;p=thirdparty%2Fpostgresql.git 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 --- 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)