@@ -1090,7 +1090,7 @@ psql_completion(char *text, int start, int end)
10901090pg_strcasecmp (prev2_wd ,"DOMAIN" )== 0 )
10911091{
10921092static const char * const list_ALTERDOMAIN []=
1093- {"ADD" ,"DROP" ,"OWNER TO" ,"SET" ,NULL };
1093+ {"ADD" ,"DROP" ,"OWNER TO" ,"RENAME" , " SET" , "VALIDATE CONSTRAINT " ,NULL };
10941094
10951095COMPLETE_WITH_LIST (list_ALTERDOMAIN );
10961096}
@@ -1104,6 +1104,22 @@ psql_completion(char *text, int start, int end)
11041104
11051105COMPLETE_WITH_LIST (list_ALTERDOMAIN2 );
11061106}
1107+ /* ALTER DOMAIN <sth> RENAME */
1108+ else if (pg_strcasecmp (prev4_wd ,"ALTER" )== 0 &&
1109+ pg_strcasecmp (prev3_wd ,"DOMAIN" )== 0 &&
1110+ pg_strcasecmp (prev_wd ,"RENAME" )== 0 )
1111+ {
1112+ static const char * const list_ALTERDOMAIN []=
1113+ {"CONSTRAINT" ,"TO" ,NULL };
1114+
1115+ COMPLETE_WITH_LIST (list_ALTERDOMAIN );
1116+ }
1117+ /* ALTER DOMAIN <sth> RENAME CONSTRAINT <sth> */
1118+ else if (pg_strcasecmp (prev5_wd ,"DOMAIN" )== 0 &&
1119+ pg_strcasecmp (prev3_wd ,"RENAME" )== 0 &&
1120+ pg_strcasecmp (prev2_wd ,"CONSTRAINT" )== 0 )
1121+ COMPLETE_WITH_CONST ("TO" );
1122+
11071123/* ALTER DOMAIN <sth> SET */
11081124else if (pg_strcasecmp (prev4_wd ,"ALTER" )== 0 &&
11091125pg_strcasecmp (prev3_wd ,"DOMAIN" )== 0 &&
@@ -1220,12 +1236,18 @@ psql_completion(char *text, int start, int end)
12201236COMPLETE_WITH_LIST (list_ALTERDISABLE );
12211237}
12221238
1223- /*If we have TABLE<sth> ALTER|RENAME, provide list of columns */
1224- else if (pg_strcasecmp (prev3_wd ,"TABLE " )== 0 &&
1225- ( pg_strcasecmp (prev_wd ,"ALTER " )== 0 ||
1226- pg_strcasecmp (prev_wd ,"RENAME " )== 0 ) )
1239+ /*ALTER TABLExxx ALTER */
1240+ else if (pg_strcasecmp (prev4_wd ,"ALTER " )== 0 &&
1241+ pg_strcasecmp (prev3_wd ,"TABLE " )== 0 &&
1242+ pg_strcasecmp (prev_wd ,"ALTER " )== 0 )
12271243COMPLETE_WITH_ATTR (prev2_wd ," UNION SELECT 'COLUMN'" );
12281244
1245+ /* ALTER TABLE xxx RENAME */
1246+ else if (pg_strcasecmp (prev4_wd ,"ALTER" )== 0 &&
1247+ pg_strcasecmp (prev3_wd ,"TABLE" )== 0 &&
1248+ pg_strcasecmp (prev_wd ,"RENAME" )== 0 )
1249+ COMPLETE_WITH_ATTR (prev2_wd ," UNION SELECT 'COLUMN' UNION SELECT 'CONSTRAINT' UNION SELECT 'TO'" );
1250+
12291251/*
12301252 * If we have TABLE <sth> ALTER COLUMN|RENAME COLUMN, provide list of
12311253 * columns
@@ -1239,13 +1261,15 @@ psql_completion(char *text, int start, int end)
12391261/* ALTER TABLE xxx RENAME yyy */
12401262else if (pg_strcasecmp (prev4_wd ,"TABLE" )== 0 &&
12411263pg_strcasecmp (prev2_wd ,"RENAME" )== 0 &&
1264+ pg_strcasecmp (prev_wd ,"CONSTRAINT" )!= 0 &&
12421265pg_strcasecmp (prev_wd ,"TO" )!= 0 )
12431266COMPLETE_WITH_CONST ("TO" );
12441267
1245- /* ALTER TABLE xxx RENAME COLUMN yyy */
1268+ /* ALTER TABLE xxx RENAME COLUMN/CONSTRAINT yyy */
12461269else if (pg_strcasecmp (prev5_wd ,"TABLE" )== 0 &&
12471270pg_strcasecmp (prev3_wd ,"RENAME" )== 0 &&
1248- pg_strcasecmp (prev2_wd ,"COLUMN" )== 0 &&
1271+ (pg_strcasecmp (prev2_wd ,"COLUMN" )== 0 ||
1272+ pg_strcasecmp (prev2_wd ,"CONSTRAINT" )== 0 )&&
12491273pg_strcasecmp (prev_wd ,"TO" )!= 0 )
12501274COMPLETE_WITH_CONST ("TO" );
12511275