This is an automated email from the ASF dual-hosted git repository.
maxyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git
The following commit(s) were added to refs/heads/main by this push:
new c9b6cca9fa Enhace tab completion for partition cmds (#692)
c9b6cca9fa is described below
commit c9b6cca9fa912f45672d1c25eabe2c439554a0ce
Author: reshke <[email protected]>
AuthorDate: Fri Nov 8 06:02:01 2024 +0500
Enhace tab completion for partition cmds (#692)
Enhance CBDB psql tab-completion support for EXCHANGE PARTITION feature and
also ALTER TABLE,
DROP PARTITION / DROP DEDAULT PARTITION
---
src/bin/psql/tab-complete.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 7c6677f906..7af41799f4 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -2138,7 +2138,8 @@ psql_completion(const char *text, int start, int end)
"ENABLE", "INHERIT", "NO", "RENAME",
"RESET",
"OWNER TO", "SET", "VALIDATE
CONSTRAINT",
"REPLICA IDENTITY", "ATTACH
PARTITION",
- "DETACH PARTITION", "FORCE ROW LEVEL
SECURITY");
+ "DETACH PARTITION", "FORCE ROW LEVEL
SECURITY",
+ "EXCHANGE", "TRUNCATE");
/* ALTER TABLE xxx ENABLE */
else if (Matches("ALTER", "TABLE", MatchAny, "ENABLE"))
COMPLETE_WITH("ALWAYS", "REPLICA", "ROW LEVEL SECURITY", "RULE",
@@ -2206,9 +2207,12 @@ psql_completion(const char *text, int start, int end)
else if (Matches("ALTER", "TABLE", MatchAny, "RENAME",
"COLUMN|CONSTRAINT", MatchAnyExcept("TO")))
COMPLETE_WITH("TO");
- /* If we have ALTER TABLE <sth> DROP, provide COLUMN or CONSTRAINT */
+ /* If we have ALTER TABLE <sth> DROP, provide COLUMN, CONSTRAINT or
PARTITION/DEFAULT PARTITION */
else if (Matches("ALTER", "TABLE", MatchAny, "DROP"))
- COMPLETE_WITH("COLUMN", "CONSTRAINT");
+ COMPLETE_WITH("COLUMN", "CONSTRAINT", "PARTITION", "DEFAULT
PARTITION");
+ /* If we have ALTER TABLE <sth> ADD, provide COLUMN, CONSTRAINT or
PARTITION/DEFAULT PARTITION */
+ else if (Matches("ALTER", "TABLE", MatchAny, "ADD"))
+ COMPLETE_WITH("COLUMN", "CONSTRAINT", "PARTITION", "DEFAULT
PARTITION");
/* If we have ALTER TABLE <sth> DROP COLUMN, provide list of columns */
else if (Matches("ALTER", "TABLE", MatchAny, "DROP", "COLUMN"))
COMPLETE_WITH_ATTR(prev3_wd, "");
@@ -2310,7 +2314,12 @@ psql_completion(const char *text, int start, int end)
}
else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION",
MatchAny))
COMPLETE_WITH("CONCURRENTLY", "FINALIZE");
-
+ /* ALTER TABLE <foo> EXCHANGE, provide partition options */
+ else if (Matches("ALTER", "TABLE", MatchAny, "EXCHANGE"))
+ COMPLETE_WITH("PARTITION FOR (" , "DEFAULT PARTITION");
+ /* ALTER TABLE <foo> TRUNCATE, provide partition options */
+ else if (Matches("ALTER", "TABLE", MatchAny, "TRUNCATE"))
+ COMPLETE_WITH("PARTITION FOR (" , "DEFAULT PARTITION");
/* ALTER TABLESPACE <foo> with RENAME TO, OWNER TO, SET, RESET */
else if (Matches("ALTER", "TABLESPACE", MatchAny))
COMPLETE_WITH("RENAME TO", "OWNER TO", "SET", "RESET");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]