aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/psql/tab-complete.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index afb5e9962e0..6126f7407ae 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -1483,7 +1483,7 @@ psql_completion(const char *text, int start, int end)
else if (pg_strcasecmp(prev4_wd, "ALTER") == 0 &&
pg_strcasecmp(prev3_wd, "TABLE") == 0 &&
pg_strcasecmp(prev_wd, "ALTER") == 0)
- COMPLETE_WITH_ATTR(prev2_wd, " UNION SELECT 'COLUMN'");
+ COMPLETE_WITH_ATTR(prev2_wd, " UNION SELECT 'COLUMN' UNION SELECT 'CONSTRAINT'");
/* ALTER TABLE xxx RENAME */
else if (pg_strcasecmp(prev4_wd, "ALTER") == 0 &&
@@ -1533,12 +1533,13 @@ psql_completion(const char *text, int start, int end)
COMPLETE_WITH_ATTR(prev3_wd, "");
/*
- * If we have ALTER TABLE <sth> DROP|RENAME|VALIDATE CONSTRAINT, provide
- * list of constraints
+ * If we have ALTER TABLE <sth> ALTER|DROP|RENAME|VALIDATE CONSTRAINT,
+ * provide list of constraints
*/
else if (pg_strcasecmp(prev5_wd, "ALTER") == 0 &&
pg_strcasecmp(prev4_wd, "TABLE") == 0 &&
- (pg_strcasecmp(prev2_wd, "DROP") == 0 ||
+ (pg_strcasecmp(prev2_wd, "ALTER") == 0 ||
+ pg_strcasecmp(prev2_wd, "DROP") == 0 ||
pg_strcasecmp(prev2_wd, "RENAME") == 0 ||
pg_strcasecmp(prev2_wd, "VALIDATE") == 0) &&
pg_strcasecmp(prev_wd, "CONSTRAINT") == 0)