BUG #2177: (minor:) pgsql: Trailing semicolon on \d treated as argument

Started by Giles Morantover 20 years ago5 messagesbugs
Jump to latest
#1Giles Morant
giles.pg@chaletpomme.com

The following bug has been logged online:

Bug reference: 2177
Logged by: Giles Morant
Email address: giles.pg@chaletpomme.com
PostgreSQL version: 8.1.1
Operating system: Linux (Gentoo)
Description: (minor:) pgsql: Trailing semicolon on \d treated as
argument
Details:

When describing tables/view/indexes using \d, a semi-colon is optional:
e.g. \d users;
or: \d users
Both give the same (correct) results.

However, if there is a space between "users" and the semi-colon, the
semi-colon is then treated as an argument and this occurs:
\d users ;
<cut lots of table info>
\d: extra argument ";" ignored

The semi-colon should be ignored silently, in my view- "SELECT 1+2 ;" for
example doesn't raise an alert.

I searched the mailing lists to find a previous report of this very minor
bug; the closest I found was some discussion in 2001 of stripping
semi-colons from the end of such strings but the discussion seemed to stop
with no resolution.

http://archives.postgresql.org/pgsql-patches/2001-09/msg00285.php
Fri, 28 Sep 2001 15:56:07 -0400 (EDT)

Thanks,
Giles Morant.

#2Bruce Momjian
bruce@momjian.us
In reply to: Giles Morant (#1)
Re: BUG #2177: (minor:) pgsql: Trailing semicolon on \d treated

We can't just throw away semicolons, e.g.:

\test=> \f ;
Field separator is ";".

The current behavior seems pretty good. It doesn't seem worth
improving.

---------------------------------------------------------------------------

Giles Morant wrote:

The following bug has been logged online:

Bug reference: 2177
Logged by: Giles Morant
Email address: giles.pg@chaletpomme.com
PostgreSQL version: 8.1.1
Operating system: Linux (Gentoo)
Description: (minor:) pgsql: Trailing semicolon on \d treated as
argument
Details:

When describing tables/view/indexes using \d, a semi-colon is optional:
e.g. \d users;
or: \d users
Both give the same (correct) results.

However, if there is a space between "users" and the semi-colon, the
semi-colon is then treated as an argument and this occurs:
\d users ;
<cut lots of table info>
\d: extra argument ";" ignored

The semi-colon should be ignored silently, in my view- "SELECT 1+2 ;" for
example doesn't raise an alert.

I searched the mailing lists to find a previous report of this very minor
bug; the closest I found was some discussion in 2001 of stripping
semi-colons from the end of such strings but the discussion seemed to stop
with no resolution.

http://archives.postgresql.org/pgsql-patches/2001-09/msg00285.php
Fri, 28 Sep 2001 15:56:07 -0400 (EDT)

Thanks,
Giles Morant.

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#3Giles Morant
giles@chaletpomme.com
In reply to: Bruce Momjian (#2)
Re: BUG #2177: (minor:) pgsql: Trailing semicolon on \d treated as argument

I agree we cannot just throw the semi-colon away, but the action of
"\d" to assume the semi-colon is an argument and thus invalid is in my
view wrong.

Show quoted text

On 1/19/06, Bruce Momjian <pgman@candle.pha.pa.us> wrote:

We can't just throw away semicolons, e.g.:

\test=> \f ;
Field separator is ";".

The current behavior seems pretty good. It doesn't seem worth
improving.

---------------------------------------------------------------------------

Giles Morant wrote:

The following bug has been logged online:

Bug reference: 2177
Logged by: Giles Morant
Email address: giles.pg@chaletpomme.com
PostgreSQL version: 8.1.1
Operating system: Linux (Gentoo)
Description: (minor:) pgsql: Trailing semicolon on \d treated as
argument
Details:

When describing tables/view/indexes using \d, a semi-colon is optional:
e.g. \d users;
or: \d users
Both give the same (correct) results.

However, if there is a space between "users" and the semi-colon, the
semi-colon is then treated as an argument and this occurs:
\d users ;
<cut lots of table info>
\d: extra argument ";" ignored

The semi-colon should be ignored silently, in my view- "SELECT 1+2 ;" for
example doesn't raise an alert.

I searched the mailing lists to find a previous report of this very minor
bug; the closest I found was some discussion in 2001 of stripping
semi-colons from the end of such strings but the discussion seemed to stop
with no resolution.

http://archives.postgresql.org/pgsql-patches/2001-09/msg00285.php
Fri, 28 Sep 2001 15:56:07 -0400 (EDT)

Thanks,
Giles Morant.

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 359-1001
+  If your life is a hard drive,     |  13 Roberts Road
+  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#4Bruce Momjian
bruce@momjian.us
In reply to: Giles Morant (#3)
Re: BUG #2177: (minor:) pgsql: Trailing semicolon on \d treated

Giles Morant wrote:

I agree we cannot just throw the semi-colon away, but the action of
"\d" to assume the semi-colon is an argument and thus invalid is in my
view wrong.

True, but to fix it would require we know which backslash commands can
throw it away, and which cannot, and it doesn't seem worth the
effort/complexity.

---------------------------------------------------------------------------

On 1/19/06, Bruce Momjian <pgman@candle.pha.pa.us> wrote:

We can't just throw away semicolons, e.g.:

\test=> \f ;
Field separator is ";".

The current behavior seems pretty good. It doesn't seem worth
improving.

---------------------------------------------------------------------------

Giles Morant wrote:

The following bug has been logged online:

Bug reference: 2177
Logged by: Giles Morant
Email address: giles.pg@chaletpomme.com
PostgreSQL version: 8.1.1
Operating system: Linux (Gentoo)
Description: (minor:) pgsql: Trailing semicolon on \d treated as
argument
Details:

When describing tables/view/indexes using \d, a semi-colon is optional:
e.g. \d users;
or: \d users
Both give the same (correct) results.

However, if there is a space between "users" and the semi-colon, the
semi-colon is then treated as an argument and this occurs:
\d users ;
<cut lots of table info>
\d: extra argument ";" ignored

The semi-colon should be ignored silently, in my view- "SELECT 1+2 ;" for
example doesn't raise an alert.

I searched the mailing lists to find a previous report of this very minor
bug; the closest I found was some discussion in 2001 of stripping
semi-colons from the end of such strings but the discussion seemed to stop
with no resolution.

http://archives.postgresql.org/pgsql-patches/2001-09/msg00285.php
Fri, 28 Sep 2001 15:56:07 -0400 (EDT)

Thanks,
Giles Morant.

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 359-1001
+  If your life is a hard drive,     |  13 Roberts Road
+  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#5Bruce Momjian
bruce@momjian.us
In reply to: Giles Morant (#3)
Re: BUG #2177: (minor:) pgsql: Trailing semicolon on \d treated

Giles Morant wrote:

I agree we cannot just throw the semi-colon away, but the action of
"\d" to assume the semi-colon is an argument and thus invalid is in my
view wrong.

I didn't say what we are doing is right, I said fixing it would not be
worth it. If you want, submit a patch and we can decide.

Remember, \d can throw it away, but other backslash commands can not.

---------------------------------------------------------------------------

On 1/19/06, Bruce Momjian <pgman@candle.pha.pa.us> wrote:

We can't just throw away semicolons, e.g.:

\test=> \f ;
Field separator is ";".

The current behavior seems pretty good. It doesn't seem worth
improving.

---------------------------------------------------------------------------

Giles Morant wrote:

The following bug has been logged online:

Bug reference: 2177
Logged by: Giles Morant
Email address: giles.pg@chaletpomme.com
PostgreSQL version: 8.1.1
Operating system: Linux (Gentoo)
Description: (minor:) pgsql: Trailing semicolon on \d treated as
argument
Details:

When describing tables/view/indexes using \d, a semi-colon is optional:
e.g. \d users;
or: \d users
Both give the same (correct) results.

However, if there is a space between "users" and the semi-colon, the
semi-colon is then treated as an argument and this occurs:
\d users ;
<cut lots of table info>
\d: extra argument ";" ignored

The semi-colon should be ignored silently, in my view- "SELECT 1+2 ;" for
example doesn't raise an alert.

I searched the mailing lists to find a previous report of this very minor
bug; the closest I found was some discussion in 2001 of stripping
semi-colons from the end of such strings but the discussion seemed to stop
with no resolution.

http://archives.postgresql.org/pgsql-patches/2001-09/msg00285.php
Fri, 28 Sep 2001 15:56:07 -0400 (EDT)

Thanks,
Giles Morant.

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 359-1001
+  If your life is a hard drive,     |  13 Roberts Road
+  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073