From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
Cc: | Aleksander Alekseev <aleksander(at)timescale(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Chantal Keller <chantal(dot)keller(at)universite-paris-saclay(dot)fr> |
Subject: | Re: Improving EXPLAIN's display of SubPlan nodes |
Date: | 2024-03-18 21:10:00 |
Message-ID: | 3691942.1710796200@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> writes:
> The get_rule_expr() code could perhaps be simplified a bit, getting
> rid of the show_subplan_name variable and moving the recursive calls
> to get_rule_expr() to after the switch statement -- if testexpr is
> non-NULL, print it, else print the subplan name probably works for all
> subplan types.
Oooh, good idea. The symmetry wasn't apparent when we started, but
it's there now, and the code does look nicer this way.
> The "colN" notation has grown on me, especially when you look at
> examples like those in partition_prune.out with a mix of Param types.
OK, I've left it like that in the attached v5, but I'm still open
to other opinions.
>> The undecorated reference to (SubPlan 1) is fairly confusing, since
>> it doesn't correspond to anything that will actually get output.
>> I suggest that perhaps instead this should read
>> Output: (SubPlan 1).col1, (SubPlan 1).col2, IGNORE(SubPlan 1), i.tableoid, i.ctid
>> or
>> Output: (SubPlan 1).col1, (SubPlan 1).col2, RESET(SubPlan 1), i.tableoid, i.ctid
> I think "RESET()" or "RESCAN()" or something like that is better than
> "INGORE()", because it indicates that it is actually doing something.
> I don't really have a better idea. Perhaps not all uppercase though,
> since that seems to go against the rest of the EXPLAIN output.
Hm. I used "rescan(SubPlan)" in the attached, but it still looks
a bit odd to my eye.
I did some more work on the documentation too, to show the difference
between hashed and not-hashed subplans. I feel like we're pretty
close here, with the possible exception of how to show MULTIEXPR.
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
v5-0001-Improve-EXPLAIN-s-display-of-SubPlan-nodes.patch | text/x-diff | 112.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2024-03-18 21:17:36 | Re: Regression tests fail with musl libc because libpq.so can't be loaded |
Previous Message | Nathan Bossart | 2024-03-18 21:08:10 | Re: Popcount optimization using AVX512 |