Re: Two successive tabs in test case are causing syntax error in psql

From: Jingtang Zhang <mrdrivingduck(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Two successive tabs in test case are causing syntax error in psql
Date: 2022-07-09 02:18:45
Message-ID: CAPsk3_CZgChnwg+gbUquZ9GbCdBiHkC8gv04HYed96UT13Np_A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I see, thank you.

Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> 于2022年7月9日周六 03:35写道:

> Jingtang Zhang <mrdrivingduck(at)gmail(dot)com> writes:
> > Recently, when I was developing some function about INSERT ... ON
> CONFLICT,
> > I used test cases in `src/test/regress/sql/insert_conflict.sql` to
> evaluate
> > my function. When I copy the CREATE TABLE from this case alone, and paste
> > it to psql, I got a syntax error. As I go through the case carefully, I
> > found the CREATE TABLE uses two tabs to separate column name and column
> > type, and this two tabs are regarded as an auto completion instruction by
> > psql, causing no separation between column name and column type anymore.
>
> > It may not be a problem since this case has passed the regression, but
> > would it be better to use space here to avoid this confusing situation?
>
> There are tabs all through the regression test files, and we're certainly
> not going to remove them all. (If we did, we'd lose test coverage of
> whether the parser accepts tabs as whitespace.) So I can't get excited
> about removing one or two.
>
> The usual recommendation for pasting text into psql when it contains
> tabs is to start psql with the -n switch to disable tab completion.
>
> regards, tom lane
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2022-07-09 02:42:58 Re: doc: Fix description of how the default user name is chosen
Previous Message Tom Lane 2022-07-09 02:17:11 Re: doc: Fix description of how the default user name is chosen