diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/psql/tab-complete.in.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c index d1cd7c54f6e..9e23272fc0e 100644 --- a/src/bin/psql/tab-complete.in.c +++ b/src/bin/psql/tab-complete.in.c @@ -3981,11 +3981,26 @@ match_previous_words(int pattern_id, /* CREATE MATERIALIZED VIEW */ else if (Matches("CREATE", "MATERIALIZED")) COMPLETE_WITH("VIEW"); - /* Complete CREATE MATERIALIZED VIEW <name> with AS */ + /* Complete CREATE MATERIALIZED VIEW <name> with AS or USING */ else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny)) + COMPLETE_WITH("AS", "USING"); + + /* + * Complete CREATE MATERIALIZED VIEW <name> USING with list of access + * methods + */ + else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny, "USING")) + COMPLETE_WITH_QUERY(Query_for_list_of_table_access_methods); + /* Complete CREATE MATERIALIZED VIEW <name> USING <access method> with AS */ + else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny, "USING", MatchAny)) COMPLETE_WITH("AS"); - /* Complete "CREATE MATERIALIZED VIEW <sth> AS with "SELECT" */ - else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny, "AS")) + + /* + * Complete CREATE MATERIALIZED VIEW <name> [USING <access method> ] AS + * with "SELECT" + */ + else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny, "AS") || + Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny, "USING", MatchAny, "AS")) COMPLETE_WITH("SELECT"); /* CREATE EVENT TRIGGER */ |