Hi, Thank you for the review.
I wasn't quite sure where to start counting the characters,but I used pgindent to properly format it, so hopefully everything is okay.
Also, I sorted them in alphabetical order just to make it look prettier.
* The below change crosses the 80-character limit in a line. Please maintain the same. - "LARGE OBJECT", "TABLESPACE", "TEXT SEARCH", "ROLE"); + "LARGE OBJECT", "TABLESPACE", "TEXT SEARCH", "TRANSFORM FOR", "ROLE");
I made sure there is no whitespaces this time.
* There are trailing whitespaces after COMPLETE_WITH_QUERY(Query_for_list_of_languages);. Remove these extra whitespaces. surajkhamkar@localhost:tab_comment$ git apply fix_tab_complete_comment.patch fix_tab_complete_comment.patch:38: trailing whitespace. COMPLETE_WITH_QUERY(Query_for_list_of_languages); warning: 1 line adds whitespace errors.
Best wishes, Ken Kato
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 5cd5838668..0fc7b12f3f 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -494,7 +494,6 @@ static const SchemaQuery Query_for_list_of_partitioned_indexes = { .result = "pg_catalog.quote_ident(c.relname)", }; - /* All relations */ static const SchemaQuery Query_for_list_of_relations = { .catname = "pg_catalog.pg_class c", @@ -628,7 +627,6 @@ static const SchemaQuery Query_for_list_of_collations = { .result = "pg_catalog.quote_ident(c.collname)", }; - /* * Queries to get lists of names of various kinds of things, possibly * restricted to names matching a partially entered name. In these queries, @@ -2399,22 +2397,28 @@ psql_completion(const char *text, int start, int end) else if (Matches("COMMENT")) COMPLETE_WITH("ON"); else if (Matches("COMMENT", "ON")) - COMPLETE_WITH("ACCESS METHOD", "CAST", "COLLATION", "CONVERSION", - "DATABASE", "EVENT TRIGGER", "EXTENSION", - "FOREIGN DATA WRAPPER", "FOREIGN TABLE", "SERVER", - "INDEX", "LANGUAGE", "POLICY", "PUBLICATION", "RULE", - "SCHEMA", "SEQUENCE", "STATISTICS", "SUBSCRIPTION", - "TABLE", "TYPE", "VIEW", "MATERIALIZED VIEW", - "COLUMN", "AGGREGATE", "FUNCTION", - "PROCEDURE", "ROUTINE", - "OPERATOR", "TRIGGER", "CONSTRAINT", "DOMAIN", - "LARGE OBJECT", "TABLESPACE", "TEXT SEARCH", "ROLE"); + COMPLETE_WITH("ACCESS METHOD", "AGGREGATE", "CAST", "COLLATION", "COLUMN", + "CONSTRAINT", "CONVERSION", "DATABASE", "DOMAIN", + "EXTENSION", "EVENT TRIGGER", "FOREIGN DATA WRAPPER", + "FOREIGN TABLE", "FUNCTION", "INDEX", "LANGUAGE", + "LARGE OBJECT", "MATERIALIZED VIEW", "OPERATOR", + "POLICY", "PROCEDURE", "PUBLICATION", "ROLE", + "ROUTINE", "RULE", "SCHEMA", "SEQUENCE", "SERVER", + "STATISTICS", "SUBSCRIPTION", "TABLE", "TABLESPACE", + "TEXT SEARCH", "TRANSFORM FOR", "TRIGGER", "TYPE", + "VIEW"); else if (Matches("COMMENT", "ON", "ACCESS", "METHOD")) COMPLETE_WITH_QUERY(Query_for_list_of_access_methods); else if (Matches("COMMENT", "ON", "FOREIGN")) COMPLETE_WITH("DATA WRAPPER", "TABLE"); else if (Matches("COMMENT", "ON", "TEXT", "SEARCH")) COMPLETE_WITH("CONFIGURATION", "DICTIONARY", "PARSER", "TEMPLATE"); + else if (Matches("COMMENT", "ON", "TRANSFORM", "FOR")) + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes, NULL); + else if (Matches("COMMENT", "ON", "TRANSFORM", "FOR", MatchAny)) + COMPLETE_WITH("LANGUAGE"); + else if (Matches("COMMENT", "ON", "TRANSFORM", "FOR", MatchAny, "LANGUAGE")) + COMPLETE_WITH_QUERY(Query_for_list_of_languages); else if (Matches("COMMENT", "ON", "CONSTRAINT")) COMPLETE_WITH_QUERY(Query_for_all_table_constraints); else if (Matches("COMMENT", "ON", "CONSTRAINT", MatchAny)) @@ -2430,7 +2434,8 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH_QUERY(Query_for_list_of_event_triggers); else if (Matches("COMMENT", "ON", MatchAny, MatchAnyExcept("IS")) || Matches("COMMENT", "ON", MatchAny, MatchAny, MatchAnyExcept("IS")) || - Matches("COMMENT", "ON", MatchAny, MatchAny, MatchAny, MatchAnyExcept("IS"))) + Matches("COMMENT", "ON", MatchAny, MatchAny, MatchAny, MatchAnyExcept("IS")) || + Matches("COMMENT", "ON", MatchAny, MatchAny, MatchAny, MatchAny, MatchAnyExcept("IS"))) COMPLETE_WITH("IS"); /* COPY */