Re: bugfix - fix broken output in expanded aligned format, when data are too short

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: bugfix - fix broken output in expanded aligned format, when data are too short
Date: 2026-03-24 06:31:11
Message-ID: CAFj8pRA_mSfE2bsvyHn-wyZMAQ1Oo35Hm5vXwhKHLF5dQ8pEAw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

út 24. 3. 2026 v 7:12 odesílatel Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> napsal:

>
>
> > On Mar 24, 2026, at 13:46, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
> >
> > Hi
> >
> > new version
> >
> > * fixed unwanted forcing to wrapped mode
> > * regress test
> >
> > Regards
> >
> > Pavel
> >
> <v20260324-1-0001-The-output-of-thin-table-is-broken-in-expanded-mode-.patch>
>
> Thanks for the fix. The patch overall looks good to me. A couple of small
> comments:
>
> 1
> ```
> /*
> * Calculate available width for data in wrapped mode
> */
> - if (cont->opt->format == PRINT_WRAPPED)
> + if (cont->opt->format == PRINT_WRAPPED || cont->opt->format ==
> PRINT_ALIGNED)
> ```
>
> Since the condition has been updated, I think the comment above should be
> adjusted as well.
>

done

pavel(at)nemesis:~/src/postgresql$ git diff
diff --git a/src/fe_utils/print.c b/src/fe_utils/print.c
index 7d7eb7dd041..dbfe437bc4c 100644
--- a/src/fe_utils/print.c
+++ b/src/fe_utils/print.c
@@ -1443,7 +1443,8 @@ print_aligned_vertical(const printTableContent *cont,
}

/*
- * Calculate available width for data in wrapped mode
+ * Calculate available width for data in wrapped mode or minimal width
+ * in aligned mode
*/
if (cont->opt->format == PRINT_WRAPPED || cont->opt->format ==
PRINT_ALIGNED)
{

>
> 2
> ```
> +-- the output in expanded mode is shorter than header
> +\pset border 2
> +\pset expanded on
> +create table psql_short_tab(a int, b int);
> +insert into psql_short_tab values(10,20),(30,40);
> +\pset format aligned
> +select * from psql_short_tab;
> +\pset format wrapped
> +select * from psql_short_tab;
> +drop table psql_short_tab;
> +
> ```
>
> After this test, does it make sense to turn expanded mode off explicitly,
> in case it affects following tests? Today the next test happens to reset
> it, but maybe tomorrow a new test gets added before that point.
>

There is no default pset setting in psql.sql. Following test has its own
setting. Generally this is the responsibility to every test to set the
environment how it is necessary. Maybe I am wrong, but I see, so only
database objects and prepared queries are cleaned there. There is not
problem to write \pset border 1 \pset expanded off, but following tests
starts with \pset expanded off and this can be little bit messy and
redundant

Thank you for check

Regards

Pavel

>
> Best regards,
> --
> Chao Li (Evan)
> HighGo Software Co., Ltd.
> https://www.highgo.com/
>
>
>
>
>

Attachment Content-Type Size
v20260324-2-0001-The-output-of-thin-table-is-broken-in-expanded-mode-.patch text/x-patch 2.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2026-03-24 06:31:44 Re: [Proposal] Adding Log File Capability to pg_createsubscriber
Previous Message Zsolt Parragi 2026-03-24 06:30:57 Re: implement CAST(expr AS type FORMAT 'template')