@@ -714,7 +714,8 @@ psql_completion(char *text, int start, int end)
714
714
* prev2_wd ,
715
715
* prev3_wd ,
716
716
* prev4_wd ,
717
- * prev5_wd ;
717
+ * prev5_wd ,
718
+ * prev6_wd ;
718
719
719
720
static const char * const sql_commands []= {
720
721
"ABORT" ,"ALTER" ,"ANALYZE" ,"BEGIN" ,"CHECKPOINT" ,"CLOSE" ,"CLUSTER" ,
@@ -762,6 +763,7 @@ psql_completion(char *text, int start, int end)
762
763
prev3_wd = previous_word (start ,2 );
763
764
prev4_wd = previous_word (start ,3 );
764
765
prev5_wd = previous_word (start ,4 );
766
+ prev6_wd = previous_word (start ,5 );
765
767
766
768
/* If a backslash command was started, continue */
767
769
if (text [0 ]== '\\' )
@@ -1547,13 +1549,23 @@ psql_completion(char *text, int start, int end)
1547
1549
pg_strcasecmp (prev_wd ,"ON" )== 0 )
1548
1550
{
1549
1551
static const char * const list_COMMENT []=
1550
- {"CAST" ,"COLLATION" ,"CONVERSION" ,"DATABASE" ,"FOREIGN TABLE" ,"INDEX" ,"LANGUAGE" ,"RULE" ,"SCHEMA" ,
1552
+ {"CAST" ,"COLLATION" ,"CONVERSION" ,"DATABASE" ,"FOREIGN DATA WRAPPER" ,
1553
+ "SERVER" ,"FOREIGN TABLE" ,"INDEX" ,"LANGUAGE" ,"RULE" ,"SCHEMA" ,
1551
1554
"SEQUENCE" ,"TABLE" ,"TYPE" ,"VIEW" ,"COLUMN" ,"AGGREGATE" ,"FUNCTION" ,
1552
1555
"OPERATOR" ,"TRIGGER" ,"CONSTRAINT" ,"DOMAIN" ,"LARGE OBJECT" ,
1553
1556
"TABLESPACE" ,"TEXT SEARCH" ,"ROLE" ,NULL };
1554
1557
1555
1558
COMPLETE_WITH_LIST (list_COMMENT );
1556
1559
}
1560
+ else if (pg_strcasecmp (prev3_wd ,"COMMENT" )== 0 &&
1561
+ pg_strcasecmp (prev2_wd ,"ON" )== 0 &&
1562
+ pg_strcasecmp (prev_wd ,"FOREIGN" )== 0 )
1563
+ {
1564
+ static const char * const list_TRANS2 []=
1565
+ {"DATA WRAPPER" ,"TABLE" ,NULL };
1566
+
1567
+ COMPLETE_WITH_LIST (list_TRANS2 );
1568
+ }
1557
1569
else if (pg_strcasecmp (prev4_wd ,"COMMENT" )== 0 &&
1558
1570
pg_strcasecmp (prev3_wd ,"ON" )== 0 &&
1559
1571
pg_strcasecmp (prev2_wd ,"TEXT" )== 0 &&
@@ -1566,6 +1578,8 @@ psql_completion(char *text, int start, int end)
1566
1578
}
1567
1579
else if ((pg_strcasecmp (prev4_wd ,"COMMENT" )== 0 &&
1568
1580
pg_strcasecmp (prev3_wd ,"ON" )== 0 )||
1581
+ (pg_strcasecmp (prev6_wd ,"COMMENT" )== 0 &&
1582
+ pg_strcasecmp (prev5_wd ,"ON" )== 0 )||
1569
1583
(pg_strcasecmp (prev5_wd ,"ON" )== 0 &&
1570
1584
pg_strcasecmp (prev4_wd ,"TEXT" )== 0 &&
1571
1585
pg_strcasecmp (prev3_wd ,"SEARCH" )== 0 ))