Re: pg_plan_advice - Mailing list pgsql-hackers

From Jacob Champion
Subject Re: pg_plan_advice
Date
Msg-id CAOYmi+n1mkLbZZmw8Bw2czik7jOMswRKWJKszQV8xjJGK_6M-Q@mail.gmail.com
Whole thread Raw
In response to Re: pg_plan_advice  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Wed, Jan 14, 2026 at 2:23 PM Robert Haas <robertmhaas@gmail.com> wrote:
> With that fixed, plan_advice.advice =
> 'join_order(f/d1 (d1 d2))' produces this:

Nice! With v10, the next crash comes from pgpa_walker_would_advise()
(from a code branch that has its own copy of the "cannot determine RTI
for advice target" error, so I assume it's a similar issue?).

Reproducing query:

   SET pg_plan_advice.advice = 'gather( ( ( orders ) ) )';
   EXPLAIN (COSTS OFF, PLAN_ADVICE)
     SELECT o_year FROM (
       SELECT extract(year FROM o_orderdate) AS o_year FROM orders
   );

results in

    TRAP: failed Assert("child_target->ttype ==
PGPA_TARGET_IDENTIFIER"), File:
"../contrib/pg_plan_advice/pgpa_walker.c", Line: 679, PID: 451047

--

I'm going to change my fuzzing focus over to Jakub's TPC-H schema for
a bit, because it doesn't require the corpus to adapt to new
identifiers for each new query, and I can fuzz the interesting queries
he finds directly. :D

--Jacob



pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: Parallel CREATE INDEX for GIN indexes
Next
From: Antonin Houska
Date:
Subject: Re: Adding REPACK [concurrently]