summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDean Rasheed2023-01-06 11:09:56 +0000
committerDean Rasheed2023-01-06 11:09:56 +0000
commitc54b888700814c5075f35995e4c0e32335e27d23 (patch)
tree447d72d1bf9102965a3b24360bcb897b5bba20b1 /src
parent0b496bc9881fdcb3c20aeaa08bcdc196b8ec6946 (diff)
Fix tab completion of ALTER FUNCTION/PROCEDURE/ROUTINE ... SET SCHEMA.
The ALTER DATABASE|FUNCTION|PROCEDURE|ROLE|ROUTINE|USER ... SET <name> case in psql tab completion failed to exclude <name> = "SCHEMA", which caused ALTER FUNCTION|PROCEDURE|ROUTINE ... SET SCHEMA to complete with "FROM CURRENT" and "TO", which won't work. Fix that, so that those cases now complete with the list of schemas, like other ALTER ... SET SCHEMA commands. Noticed while testing the recent patch to improve tab completion for ALTER FUNCTION/PROCEDURE/ROUTINE, but this is not directly related to that patch. Rather, this is a long-standing bug, so back-patch to all supported branches. Discussion: https://postgr.es/m/CALDaNm0s7GQmkLP_mx5Cvk=UzYMnjhPmXBxU8DsHEunFbC5sTg@mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/bin/psql/tab-complete.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index d6b4a5bc31f..afc9c26259d 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -3528,11 +3528,12 @@ psql_completion(const char *text, int start, int end)
COMPLETE_WITH_CONST("TO");
/*
- * Complete ALTER DATABASE|FUNCTION||PROCEDURE|ROLE|ROUTINE|USER ... SET
+ * Complete ALTER DATABASE|FUNCTION|PROCEDURE|ROLE|ROUTINE|USER ... SET
* <name>
*/
else if (HeadMatches2("ALTER", "DATABASE|FUNCTION|PROCEDURE|ROLE|ROUTINE|USER") &&
- TailMatches2("SET", MatchAny))
+ TailMatches2("SET", MatchAny) &&
+ !TailMatches1("SCHEMA"))
COMPLETE_WITH_LIST2("FROM CURRENT", "TO");
/*