Hi, When tab-completing after GRANT EXECUTE, currently psql injects "PROCEDURE", rather than the expected "ON".
The code for completing with "ON" is there, but it's not reached due to falling earlier into another branch, one that handles CREATE TRIGGER. A trivial patch is attached. It adds the condition that if EXECUTE is preceded by GRANT itself preceded by nothing, then that completion with PROCEDURE is skipped. I've looked at fixing it more directly, by testing if the EXECUTE is part of a CREATE TRIGGER, but it didn't seem fitting to go looking backwards that many words into the string (more than the 5 words suggested by the rest of the code). Best regards, -- Daniel Vérité PostgreSQL-powered mailer: http://www.manitou-mail.org Twitter: @DanielVerite
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 62cb721..816deda 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2622,6 +2622,7 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_views, NULL); /* complete CREATE TRIGGER ... EXECUTE with PROCEDURE */ else if (pg_strcasecmp(prev_wd, "EXECUTE") == 0 && + !(pg_strcasecmp(prev2_wd, "GRANT") == 0 && prev3_wd[0] == '\0') && prev2_wd[0] != '\0') COMPLETE_WITH_CONST("PROCEDURE");
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers