v6-0004-Suggest-table-access-method-for-create-maateriali.patch
application/octet-stream
Filename: v6-0004-Suggest-table-access-method-for-create-maateriali.patch
Type: application/octet-stream
Part: 3
Patch
Format: format-patch
Series: patch v6-0004
Subject: Suggest table access method for create maaterialized view in tab-complete
| File | + | − |
|---|---|---|
| src/bin/psql/tab-complete.in.c | 18 | 3 |
From de8cb36bb97ae0c570ae710a375fc4bf4fdb6e64 Mon Sep 17 00:00:00 2001
From: reshke kirill <reshke@double.cloud>
Date: Mon, 4 Nov 2024 16:22:59 +0000
Subject: [PATCH v6 4/4] Suggest table access method for create maaterialized
view in tab-complete
Author: Kirill Reshke <reshkekirill@gmail.com>
Reviewed-By: Karina Litskevich <litskevichkarina@gmail.com>
---
src/bin/psql/tab-complete.in.c | 21 ++++++++++++++++++---
1 file 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 */
--
2.34.1