On Sun, Sep 25, 2011 at 15:06, Dean Rasheed <dean.a.rash...@gmail.com> wrote: > On 24 September 2011 11:59, Magnus Hagander <mag...@hagander.net> 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 <tab>" 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