@@ -2025,8 +2025,16 @@ psql_completion(const char *text, int start, int end)
2025
2025
"DETACH PARTITION" , "FORCE ROW LEVEL SECURITY" );
2026
2026
/* ALTER TABLE xxx ADD */
2027
2027
else if (Matches ("ALTER" , "TABLE" , MatchAny , "ADD" ))
2028
+ {
2029
+ /* make sure to keep this list and the !Matches() below in sync */
2028
2030
COMPLETE_WITH ("COLUMN" , "CONSTRAINT" , "CHECK" , "UNIQUE" , "PRIMARY KEY" ,
2029
2031
"EXCLUDE" , "FOREIGN KEY" );
2032
+ }
2033
+ /* ATER TABLE xxx ADD [COLUMN] yyy */
2034
+ else if (Matches ("ALTER" , "TABLE" , MatchAny , "ADD" , "COLUMN" , MatchAny ) ||
2035
+ (Matches ("ALTER" , "TABLE" , MatchAny , "ADD" , MatchAny ) &&
2036
+ !Matches ("ALTER" , "TABLE" , MatchAny , "ADD" , "COLUMN|CONSTRAINT|CHECK|UNIQUE|PRIMARY|EXCLUDE|FOREIGN" )))
2037
+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_datatypes , NULL );
2030
2038
/* ALTER TABLE xxx ADD CONSTRAINT yyy */
2031
2039
else if (Matches ("ALTER" , "TABLE" , MatchAny , "ADD" , "CONSTRAINT" , MatchAny ))
2032
2040
COMPLETE_WITH ("CHECK" , "UNIQUE" , "PRIMARY KEY" , "EXCLUDE" , "FOREIGN KEY" );
0 commit comments