On Fri, Dec 12, 2025 at 10:09 AM Jacob Champion
<[email protected]> wrote:
> Next bit of fuzzer feedback:

And another bit, but this time I was able to minimize into a
regression case, attached.

This comment in pgpa_identifier_matches_target() seems to be incorrect:

>     /*
>      * The identifier must specify a schema, but the target may leave the
>      * schema NULL to match anything.
>      */

But I don't know whether that's because the assumption itself is
wrong, or because a layer above hasn't filtered something out before
getting to this point.

--Jacob
diff --git a/contrib/pg_plan_advice/sql/gather.sql 
b/contrib/pg_plan_advice/sql/gather.sql
index 58280043913..cb04ed5cf30 100644
--- a/contrib/pg_plan_advice/sql/gather.sql
+++ b/contrib/pg_plan_advice/sql/gather.sql
@@ -38,6 +38,9 @@ SET LOCAL pg_plan_advice.advice = 'gather_merge(f d)';
 EXPLAIN (COSTS OFF, PLAN_ADVICE)
        SELECT * FROM gt_fact f JOIN gt_dim d ON f.dim_id = d.id ORDER BY d.id;
 SET LOCAL pg_plan_advice.advice = 'gather(f d)';
+EXPLAIN (COSTS OFF, PLAN_ADVICE)
+       SELECT * FROM gt_fact f JOIN gt_dim d ON f.dim_id = d.id ORDER BY d.id;
+SET LOCAL pg_plan_advice.advice = 'gather((d d/d.d))';
 EXPLAIN (COSTS OFF, PLAN_ADVICE)
        SELECT * FROM gt_fact f JOIN gt_dim d ON f.dim_id = d.id ORDER BY d.id;
 COMMIT;

Reply via email to