v6-0002-Add-CASCADE-RESRTICT-to-ALTER-TYPE-patterns.patch
application/octet-stream
Filename: v6-0002-Add-CASCADE-RESRTICT-to-ALTER-TYPE-patterns.patch
Type: application/octet-stream
Part: 2
Patch
Format: format-patch
Series: patch v6-0002
Subject: Add CASCADE/RESRTICT to ALTER TYPE patterns
| File | + | − |
|---|---|---|
| src/bin/psql/tab-complete.in.c | 12 | 0 |
From 5dd7359549dfddbf64195681853ed7974593306d Mon Sep 17 00:00:00 2001
From: reshke kirill <reshke@double.cloud>
Date: Thu, 7 Nov 2024 11:30:18 +0000
Subject: [PATCH v6 2/4] Add CASCADE/RESRTICT to ALTER TYPE patterns
ALTER TYPE ... DROP/ADD/RENAME ATTRIBUTE ... will be completed with CASCADE/RESRTICT
where appropriate.
ALTER TYPE ... ALTER ATTRIBUTE ... TYPE ... will also be completed
with CASCADE/RESRTICT
Author: Kirill Reshke <reshkekirill@gmail.com>
Reviewed-By: Karina Litskevich <litskevichkarina(at)gmail(dot)com>
---
src/bin/psql/tab-complete.in.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c
index d2c7f940008..79b02047174 100644
--- a/src/bin/psql/tab-complete.in.c
+++ b/src/bin/psql/tab-complete.in.c
@@ -2992,6 +2992,9 @@ match_previous_words(int pattern_id,
/* ALTER TYPE xxx RENAME (ATTRIBUTE|VALUE) yyy */
else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "ATTRIBUTE|VALUE", MatchAny))
COMPLETE_WITH("TO");
+ /* ALTER TYPE xxx RENAME ATTRIBUTE yyy TO zzz */
+ else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "ATTRIBUTE", MatchAny, "TO", MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
/*
* If we have ALTER TYPE <sth> ALTER/DROP/RENAME ATTRIBUTE, provide list
@@ -3002,9 +3005,18 @@ match_previous_words(int pattern_id,
/* complete ALTER TYPE ADD ATTRIBUTE <foo> with list of types */
else if (Matches("ALTER", "TYPE", MatchAny, "ADD", "ATTRIBUTE", MatchAny))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes);
+ /* complete ALTER TYPE ADD ATTRIBUTE <foo> <footype> with CASCADE/RESTRICT */
+ else if (Matches("ALTER", "TYPE", MatchAny, "ADD", "ATTRIBUTE", MatchAny, MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
+ /* complete ALTER TYPE DROP ATTRIBUTE <foo> with CASCADE/RESTRICT */
+ else if (Matches("ALTER", "TYPE", MatchAny, "DROP", "ATTRIBUTE", MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
/* ALTER TYPE ALTER ATTRIBUTE <foo> */
else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny))
COMPLETE_WITH("TYPE");
+ /* ALTER TYPE ALTER ATTRIBUTE <foo> TYPE <footype> */
+ else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny, "TYPE", MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
/* complete ALTER TYPE <sth> RENAME VALUE with list of enum values */
else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "VALUE"))
COMPLETE_WITH_ENUM_VALUE(prev3_wd);
--
2.34.1