@@ -1090,7 +1090,7 @@ psql_completion(char *text, int start, int end)
1090
1090
pg_strcasecmp (prev2_wd ,"DOMAIN" )== 0 )
1091
1091
{
1092
1092
static const char * const list_ALTERDOMAIN []=
1093
- {"ADD" ,"DROP" ,"OWNER TO" ,"SET" ,NULL };
1093
+ {"ADD" ,"DROP" ,"OWNER TO" ,"RENAME" , " SET" , "VALIDATE CONSTRAINT " ,NULL };
1094
1094
1095
1095
COMPLETE_WITH_LIST (list_ALTERDOMAIN );
1096
1096
}
@@ -1104,6 +1104,22 @@ psql_completion(char *text, int start, int end)
1104
1104
1105
1105
COMPLETE_WITH_LIST (list_ALTERDOMAIN2 );
1106
1106
}
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
+
1107
1123
/* ALTER DOMAIN <sth> SET */
1108
1124
else if (pg_strcasecmp (prev4_wd ,"ALTER" )== 0 &&
1109
1125
pg_strcasecmp (prev3_wd ,"DOMAIN" )== 0 &&
@@ -1220,12 +1236,18 @@ psql_completion(char *text, int start, int end)
1220
1236
COMPLETE_WITH_LIST (list_ALTERDISABLE );
1221
1237
}
1222
1238
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 )
1227
1243
COMPLETE_WITH_ATTR (prev2_wd ," UNION SELECT 'COLUMN'" );
1228
1244
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
+
1229
1251
/*
1230
1252
* If we have TABLE <sth> ALTER COLUMN|RENAME COLUMN, provide list of
1231
1253
* columns
@@ -1239,13 +1261,15 @@ psql_completion(char *text, int start, int end)
1239
1261
/* ALTER TABLE xxx RENAME yyy */
1240
1262
else if (pg_strcasecmp (prev4_wd ,"TABLE" )== 0 &&
1241
1263
pg_strcasecmp (prev2_wd ,"RENAME" )== 0 &&
1264
+ pg_strcasecmp (prev_wd ,"CONSTRAINT" )!= 0 &&
1242
1265
pg_strcasecmp (prev_wd ,"TO" )!= 0 )
1243
1266
COMPLETE_WITH_CONST ("TO" );
1244
1267
1245
- /* ALTER TABLE xxx RENAME COLUMN yyy */
1268
+ /* ALTER TABLE xxx RENAME COLUMN/CONSTRAINT yyy */
1246
1269
else if (pg_strcasecmp (prev5_wd ,"TABLE" )== 0 &&
1247
1270
pg_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 )&&
1249
1273
pg_strcasecmp (prev_wd ,"TO" )!= 0 )
1250
1274
COMPLETE_WITH_CONST ("TO" );
1251
1275