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]

Reply via email to