Better psql tab-completion support for schemas and tables

Started by Greg Sabino Mullanealmost 19 years ago3 messagespatches
Jump to latest
#1Greg Sabino Mullane
greg@turnstep.com

(oops, this time with -c, thanks Alvaro)

Full support for all schema and table name combinations when
getting a list of attributes. All of the following will now work:

select * from information_schema.columns where <tab>
select * from foo where <tab>
select * from "user" where <tab>
select * from "foo" where <tab>
select * from "Uppercase".lower where <tab>
select * from "gtsm.com"."foo.Bar" where <tab>
select * from "GTSM.com".foo where <tab>

Also applies to other places that get lists of columns: insert into,
alter table, create index, etc.

--
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200710211532
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8

Attachments:

tabcomplete_schema_table.patchtext/x-patch; charset=UTF-8; name=tabcomplete_schema_table.patchDownload+90-39
#2Bruce Momjian
bruce@momjian.us
In reply to: Greg Sabino Mullane (#1)
Re: Better psql tab-completion support for schemas and tables

This has been saved for the 8.4 release:

http://momjian.postgresql.org/cgi-bin/pgpatches_hold

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

Greg Sabino Mullane wrote:

(oops, this time with -c, thanks Alvaro)

Full support for all schema and table name combinations when
getting a list of attributes. All of the following will now work:

select * from information_schema.columns where <tab>
select * from foo where <tab>
select * from "user" where <tab>
select * from "foo" where <tab>
select * from "Uppercase".lower where <tab>
select * from "gtsm.com"."foo.Bar" where <tab>
select * from "GTSM.com".foo where <tab>

Also applies to other places that get lists of columns: insert into,
alter table, create index, etc.

--
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200710211532
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 1: 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

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Greg Sabino Mullane (#1)
Re: Better psql tab-completion support for schemas and tables

Greg Sabino Mullane <greg@turnstep.com> writes:

Full support for all schema and table name combinations when
getting a list of attributes. All of the following will now work:

select * from information_schema.columns where <tab>
select * from foo where <tab>
select * from "user" where <tab>
select * from "foo" where <tab>
select * from "Uppercase".lower where <tab>
select * from "gtsm.com"."foo.Bar" where <tab>
select * from "GTSM.com".foo where <tab>

Applied with minor revisions. I noticed while testing this that
although you fixed it for the case of the user having unnecessarily
quoted the preceding name, for example given a table foo,

update "foo" set <tab>

it's still not bright about letting you complete such an entry in the
first place -- try

update "f<tab>

That doesn't invalidate this patch, but there's still more work to do
on the completion queries.

regards, tom lane