knowledge-database (beta)

Current group: pgsql.bugs

inconsitent tab completion in psql

inconsitent tab completion in psql  
Robert Treat
 Re: inconsitent tab completion in psql  
Bruce Momjian
 Re: inconsitent tab completion in psql  
Alvaro Herrera
From:Robert Treat
Subject:inconsitent tab completion in psql
Date:Sat, 22 Jan 2005 14:37:59 -0500
Disclaimer that this was found under RC1 so it might have been fixed in final
release, though I don't recall it being reported, anyway, the problem is that
tab completion does not seem to work for "\h alter operator class".

template1=# \h ALTER
AGGREGATE DOMAIN INDEX SCHEMA TABLESPACE USER
CONVERSION FUNCTION LANGUAGE SEQUENCE TRIGGER
DATABASE GROUP OPERATOR TABLE TYPE
template1=# \h ALTER OPERATOR

template1=# \h ALTER OPERATOR CL

template1=# \h ALTER OPERATOR CLASS
Command: ALTER OPERATOR CLASS
Description: change the definition of an operator class
Syntax:
ALTER OPERATOR CLASS name USING index_method RENAME TO newname
ALTER OPERATOR CLASS name USING index_method OWNER TO newowner

template1=#


I noticed another other issues too, like CREATE CONSTRAINT TRIGGER doesnt show
up when you do \h CREATE and when you do \h CREATE CON
you get CREATE CONVERSION instead.

--
Robert Treat
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
From:Bruce Momjian
Subject:Re: inconsitent tab completion in psql
Date:Sun, 23 Jan 2005 11:01:14 -0500 (EST)
Robert Treat wrote:
> Disclaimer that this was found under RC1 so it might have been fixed in final
> release, though I don't recall it being reported, anyway, the problem is that
> tab completion does not seem to work for "\h alter operator class".
>
> template1=# \h ALTER
> AGGREGATE DOMAIN INDEX SCHEMA TABLESPACE USER
> CONVERSION FUNCTION LANGUAGE SEQUENCE TRIGGER
> DATABASE GROUP OPERATOR TABLE TYPE
> template1=# \h ALTER OPERATOR
>
> template1=# \h ALTER OPERATOR CL
>
> template1=# \h ALTER OPERATOR CLASS
> Command: ALTER OPERATOR CLASS
> Description: change the definition of an operator class
> Syntax:
> ALTER OPERATOR CLASS name USING index_method RENAME TO newname
> ALTER OPERATOR CLASS name USING index_method OWNER TO newowner
>
> template1=#


The reason this happens is because both ALTER OPERATOR and ALTER
OPERATOR CLASS are supported so for the third word you would have to do
tab complete only when the C-L-A-S-S is unique. I suppose you could say
as soon as they type 'C' it can't match an operator name but it hardly
seems worth the complexity.

> I noticed another other issues too, like CREATE CONSTRAINT TRIGGER doesnt show
> up when you do \h CREATE and when you do \h CREATE CON
> you get CREATE CONVERSION instead.

CREATE CONSTRAINT TRIGGER is not supported because it is designed to be
used only by pg_dump and is not for general use. I added a source file
comment mentioning why we don't support tab completion for it.

--
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 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
From:Alvaro Herrera
Subject:Re: inconsitent tab completion in psql
Date:Sun, 23 Jan 2005 14:01:34 -0300
On Sun, Jan 23, 2005 at 11:01:14AM -0500, Bruce Momjian wrote:

> The reason this happens is because both ALTER OPERATOR and ALTER
> OPERATOR CLASS are supported so for the third word you would have to do
> tab complete only when the C-L-A-S-S is unique. I suppose you could say
> as soon as they type 'C' it can't match an operator name but it hardly
> seems worth the complexity.

Maybe you could add, to the query that extract operator names to
complete, a UNION clause with the constant CLASS. So tab completion for
ALTER OPERATOR would show both the operators and the CLASS constant.
But beware of

ALTER OPERATOR ~

you'd have to add a LIKE clause to the CLASS arm of the union to prevent
that, I think.

--
Alvaro Herrera ()
"Para tener más hay que desear menos"

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
   

Copyright © 2006 knowledge-database   -   All rights reserved