Re: [HACKERS] TABLE tab completion
On Mon, Sep 26, 2011 at 10:37, Magnus Hagander wrote: > On Sun, Sep 25, 2011 at 15:06, Dean Rasheed wrote: >> On 24 September 2011 11:59, Magnus Hagander wrote: >>> TABLE tab completion in psql only completes to tables, not views. but >>> the TABLE command works fine for both tables and views (and also >>> sequences). >>> >>> Seems we should just complete it to relations and not tables - or can >>> anyone see a particular reason why we shouldn't? >>> >> >> Doesn't that mean that "DROP TABLE " would offer up views as well >> as tables, which would be incorrect? > > Meh - you are correct, of course. I guess that's why we have code review :-) > > So - not a oneliner, but how about something like this? > > (Happy to have someone point out a neater way of doing it, not > entirely fluent in how we do the tab completion..) Rebased on top of the changes Tom made to the infrastructure, and applied. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] TABLE tab completion
On Mon, Sep 26, 2011 at 10:37:50AM +0200, Magnus Hagander wrote: > On Sun, Sep 25, 2011 at 15:06, Dean Rasheed wrote: > > On 24 September 2011 11:59, Magnus Hagander wrote: > >> TABLE tab completion in psql only completes to tables, not views. but > >> the TABLE command works fine for both tables and views (and also > >> sequences). > >> > >> Seems we should just complete it to relations and not tables - or can > >> anyone see a particular reason why we shouldn't? > >> > > > > Doesn't that mean that "DROP TABLE " would offer up views as well > > as tables, which would be incorrect? > > Meh - you are correct, of course. I guess that's why we have code review :-) > > So - not a oneliner, but how about something like this? > > (Happy to have someone point out a neater way of doing it, not > entirely fluent in how we do the tab completion..) That's pretty much it. Should it also (eventually) do SRFs? Cheers, David. -- David Fetter http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fet...@gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] TABLE tab completion
On Sun, Sep 25, 2011 at 15:06, Dean Rasheed wrote: > On 24 September 2011 11:59, Magnus Hagander wrote: >> TABLE tab completion in psql only completes to tables, not views. but >> the TABLE command works fine for both tables and views (and also >> sequences). >> >> Seems we should just complete it to relations and not tables - or can >> anyone see a particular reason why we shouldn't? >> > > Doesn't that mean that "DROP TABLE " would offer up views as well > as tables, which would be incorrect? Meh - you are correct, of course. I guess that's why we have code review :-) So - not a oneliner, but how about something like this? (Happy to have someone point out a neater way of doing it, not entirely fluent in how we do the tab completion..) -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 4f7df36..0e2f524 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2648,6 +2648,12 @@ psql_completion(char *text, int start, int end) else if (pg_strcasecmp(prev_wd, "START") == 0) COMPLETE_WITH_CONST("TRANSACTION"); +/* TABLE */ + else if (pg_strcasecmp(prev_wd, "TABLE") == 0 && + pg_strcasecmp(prev2_wd, "TABLE") == 0) + /* must not match DROP TABLE etc */ + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_relations, NULL); + /* TRUNCATE */ else if (pg_strcasecmp(prev_wd, "TRUNCATE") == 0) COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL); -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] TABLE tab completion
On 24 September 2011 11:59, Magnus Hagander wrote: > TABLE tab completion in psql only completes to tables, not views. but > the TABLE command works fine for both tables and views (and also > sequences). > > Seems we should just complete it to relations and not tables - or can > anyone see a particular reason why we shouldn't? > Doesn't that mean that "DROP TABLE " would offer up views as well as tables, which would be incorrect? Regards, Dean -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
[HACKERS] TABLE tab completion
TABLE tab completion in psql only completes to tables, not views. but the TABLE command works fine for both tables and views (and also sequences). Seems we should just complete it to relations and not tables - or can anyone see a particular reason why we shouldn't? Trivial patch attached. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 4f7df36..8515c38 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -636,7 +636,7 @@ static const pgsql_thing_t words_after_create[] = { {"SCHEMA", Query_for_list_of_schemas}, {"SEQUENCE", NULL, &Query_for_list_of_sequences}, {"SERVER", Query_for_list_of_servers}, - {"TABLE", NULL, &Query_for_list_of_tables}, + {"TABLE", NULL, &Query_for_list_of_relations}, {"TABLESPACE", Query_for_list_of_tablespaces}, {"TEMP", NULL, NULL, THING_NO_DROP}, /* for CREATE TEMP TABLE ... */ {"TEMPLATE", Query_for_list_of_ts_templates, NULL, THING_NO_SHOW}, -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers