8000 Add tab-completion for ALTER TABLE not-nulls · postgres/postgres@a604aff · GitHub
[go: up one dir, main page]

Skip to content

Commit a604aff

Browse files
author
Álvaro Herrera
committed
Add tab-completion for ALTER TABLE not-nulls
The command is: ALTER TABLE x ADD [CONSTRAINT y] NOT NULL z This syntax was 8000 added in 18, but I got pushback for getting commit dbf42b8 in 18 (also tab-completion for new syntax) after the feature freeze, so I'll put this in master only for now. Author: Álvaro Herrera <alvherre@kurilemu.de> Reported-by: Fujii Masao <masao.fujii@oss.nttdata.com> Reviewed-by: Fujii Masao <masao.fujii@oss.nttdata.com> Reviewed-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> Discussion: https://postgr.es/m/d4f14c6b-086b-463c-b15f-01c7c9728eab@oss.nttdata.com Discussion: https://postgr.es/m/202505111448.bwbfomrymq4b@alvherre.pgsql
1 parent c84698c commit a604aff

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/bin/psql/tab-complete.in.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2733,17 +2733,24 @@ match_previous_words(int pattern_id,
27332733
/* ALTER TABLE xxx ADD */
27342734
else if (Matches("ALTER", "TABLE", MatchAny, "ADD"))
27352735
{
2736-
/* make sure to keep this list and the !Matches() below in sync */
2737-
COMPLETE_WITH("COLUMN", "CONSTRAINT", "CHECK", "UNIQUE", "PRIMARY KEY",
2738-
"EXCLUDE", "FOREIGN KEY");
2736+
/*
2737+
* make sure to keep this list and the MatchAnyExcept() below in sync
2738+
*/
2739+
COMPLETE_WITH("COLUMN", "CONSTRAINT", "CHECK (", "NOT NULL", "UNIQUE",
2740+
"PRIMARY KEY", "EXCLUDE", "FOREIGN KEY");
27392741
}
27402742
/* ALTER TABLE xxx ADD [COLUMN] yyy */
27412743
else if (Matches("ALTER", "TABLE", MatchAny, "ADD", "COLUMN", MatchAny) ||
2742-
Matches("ALTER", "TABLE", MatchAny, "ADD", MatchAnyExcept("COLUMN|CONSTRAINT|CHECK|UNIQUE|PRIMARY|EXCLUDE|FOREIGN")))
2744+
Matches("ALTER", "TABLE", MatchAny, "ADD", MatchAnyExcept("COLUMN|CONSTRAINT|CHECK|UNIQUE|PRIMARY|NOT|EXCLUDE|FOREIGN")))
27432745
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes);
27442746
/* ALTER TABLE xxx ADD CONSTRAINT yyy */
27452747
else if (Matches("ALTER", "TABLE", MatchAny, "ADD", "CONSTRAINT", MatchAny))
2746-
COMPLETE_WITH("CHECK", "UNIQUE", "PRIMARY KEY", "EXCLUDE", "FOREIGN KEY");
2748+
COMPLETE_WITH("CHECK (", "NOT NULL", "UNIQUE", "PRIMARY KEY", "EXCLUDE", "FOREIGN KEY");
2749+
/* ALTER TABLE xxx ADD NOT NULL */
2750+
else if (Matches("ALTER", "TABLE", MatchAny, "ADD", "NOT", "NULL"))
2751+
COMPLETE_WITH_ATTR(prev4_wd);
2752+
else if (Matches("ALTER", "TABLE", MatchAny, "ADD", "CONSTRAINT", MatchAny, "NOT", "NULL"))
2753+
COMPLETE_WITH_ATTR(prev6_wd);
27472754
/* ALTER TABLE xxx ADD [CONSTRAINT yyy] (PRIMARY KEY|UNIQUE) */
27482755
else if (Matches("ALTER", "TABLE", MatchAny, "ADD", "PRIMARY", "KEY") ||
27492756
Matches("ALTER", "TABLE", MatchAny, "ADD", "UNIQUE") ||

0 commit comments

Comments
 (0)
0