From a57a1883694edc08704715f286b6a3b5b6442778 Mon Sep 17 00:00:00 2001 From: reshke kirill Date: Mon, 4 Nov 2024 16:22:59 +0000 Subject: [PATCH v5 4/4] Suggest table access method for create maaterialized view in tab-complete --- src/bin/psql/tab-complete.in.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c index e06afddcfe..1576a3e4ca 100644 --- a/src/bin/psql/tab-complete.in.c +++ b/src/bin/psql/tab-complete.in.c @@ -3981,11 +3981,18 @@ match_previous_words(int pattern_id, /* CREATE MATERIALIZED VIEW */ else if (Matches("CREATE", "MATERIALIZED")) COMPLETE_WITH("VIEW"); - /* Complete CREATE MATERIALIZED VIEW with AS */ + /* Complete CREATE MATERIALIZED VIEW with AS or USING */ else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny)) + COMPLETE_WITH("AS", "USING"); + /* Complete CREATE MATERIALIZED VIEW 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 USING with AS */ + else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny, "USING", MatchAny)) COMPLETE_WITH("AS"); - /* Complete "CREATE MATERIALIZED VIEW AS with "SELECT" */ - else if (Matches("CREATE", "MATERIALIZED", "VIEW", MatchAny, "AS")) + /* Complete CREATE MATERIALIZED VIEW [USING ] 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 */ -- 2.34.1