Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 60ae37a

Browse filesBrowse files
committed
Add tab completion for partition MERGE/SPLIT operations
This commit implements psql tab completion for ALTER TABLE ... SPLIT PARTITION and ALTER TABLE ... MERGE PARTITIONS commands. Reported-by: Alexander Lakhin Discussion: https://postgr.es/m/5dee3937-8e9f-cca4-11fb-737709a92b37%40gmail.com Author: Dagfinn Ilmari Mannsåker, Pavel Borisov
1 parent f4fc7cb commit 60ae37a
Copy full SHA for 60ae37a

File tree

1 file changed

+16
-2
lines changed
Filter options

1 file changed

+16
-2
lines changed

‎src/bin/psql/tab-complete.c

Copy file name to clipboardExpand all lines: src/bin/psql/tab-complete.c
+16-2Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2353,6 +2353,7 @@ psql_completion(const char *text, int start, int end)
23532353
"OWNER TO", "SET", "VALIDATE CONSTRAINT",
23542354
"REPLICA IDENTITY", "ATTACH PARTITION",
23552355
"DETACH PARTITION", "FORCE ROW LEVEL SECURITY",
2356+
"SPLIT PARTITION", "MERGE PARTITIONS (",
23562357
"OF", "NOT OF");
23572358
/* ALTER TABLE xxx ADD */
23582359
else if (Matches("ALTER", "TABLE", MatchAny, "ADD"))
@@ -2609,17 +2610,30 @@ psql_completion(const char *text, int start, int end)
26092610
COMPLETE_WITH("FROM (", "IN (", "WITH (");
26102611

26112612
/*
2612-
* If we have ALTER TABLE <foo> DETACH PARTITION, provide a list of
2613+
* If we have ALTER TABLE <foo> DETACH|SPLIT PARTITION, provide a list of
26132614
* partitions of <foo>.
26142615
*/
2615-
else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION"))
2616+
else if (Matches("ALTER", "TABLE", MatchAny, "DETACH|SPLIT", "PARTITION"))
26162617
{
26172618
set_completion_reference(prev3_wd);
26182619
COMPLETE_WITH_SCHEMA_QUERY(Query_for_partition_of_table);
26192620
}
26202621
else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION", MatchAny))
26212622
COMPLETE_WITH("CONCURRENTLY", "FINALIZE");
26222623

2624+
/* ALTER TABLE <name> SPLIT PARTITION <name> */
2625+
else if (Matches("ALTER", "TABLE", MatchAny, "SPLIT", "PARTITION", MatchAny))
2626+
COMPLETE_WITH("INTO ( PARTITION");
2627+
2628+
/* ALTER TABLE <name> MERGE PARTITIONS ( */
2629+
else if (Matches("ALTER", "TABLE", MatchAny, "MERGE", "PARTITIONS", "("))
2630+
{
2631+
set_completion_reference(prev4_wd);
2632+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_partition_of_table);
2633+
}
2634+
else if (Matches("ALTER", "TABLE", MatchAny, "MERGE", "PARTITIONS", "(*)"))
2635+
COMPLETE_WITH("INTO");
2636+
26232637
/* ALTER TABLE <name> OF */
26242638
else if (Matches("ALTER", "TABLE", MatchAny, "OF"))
26252639
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_composite_datatypes);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.