On Thu, Jan 18, 2024 at 4:42 PM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > > On 2024-Jan-18, Ashutosh Bapat wrote: > > Hmm ... TBH I don't like the "showed_planning" thing very much, but if > we need to conditionalize the printing of "Planning:" on whether we > print either of buffers or memory, maybe there's no way around something > like what you propose.
right. > > However, I don't understand this output change, and I think it indicates > a bug in the logic there: > > > diff --git a/src/test/regress/expected/explain.out > > b/src/test/regress/expected/explain.out > > index 86bfdfd29e..55694505a7 100644 > > --- a/src/test/regress/expected/explain.out > > +++ b/src/test/regress/expected/explain.out > > @@ -331,15 +331,15 @@ select explain_filter('explain (memory) select * from > > int8_tbl i8'); > > explain_filter > > --------------------------------------------------------- > > Seq Scan on int8_tbl i8 (cost=N.N..N.N rows=N width=N) > > - Planner Memory: used=N bytes allocated=N bytes > > + Memory: used=N bytes, allocated=N bytes > > (2 rows) > > Does this really make sense? The EXPLAIN output produces something like below explain_filter --------------------------------------------------------- Seq Scan on int8_tbl i8 (cost=N.N..N.N rows=N width=N) Planning: Memory: used=N bytes, allocated=N bytes (3 rows) but function explain_filter(), defined in explain.sql, removes line containing Planning: and we end up with output explain_filter --------------------------------------------------------- Seq Scan on int8_tbl i8 (cost=N.N..N.N rows=N width=N) Memory: used=N bytes, allocated=N bytes (2 rows) Hence this weird difference. -- Best Wishes, Ashutosh Bapat