From 74527c3e022d3ace648340b79a6ddec3419f6732 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Sat, 15 Jan 2022 11:22:24 +0900 Subject: [PATCH] Add tab-completion for CREATE FOREIGN TABLE. Unlike CREATE TABLE, CREATE FOREIGN TABLE is not allowed inside CREATE SCHEMA, so Matches() is used instead of TailMatches() for the tab-completion. Author: Tang Reviewed-by: Fujii Masao Discussion: https://postgr.es/m/OS0PR01MB61137E96E0551278782D11CDFB519@OS0PR01MB6113.jpnprd01.prod.outlook.com --- src/bin/psql/tab-complete.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 39be6f556a..71f1a5c00d 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2636,6 +2636,10 @@ psql_completion(const char *text, int start, int end) else if (Matches("CREATE", "FOREIGN", "DATA", "WRAPPER", MatchAny)) COMPLETE_WITH("HANDLER", "VALIDATOR", "OPTIONS"); + /* CREATE FOREIGN TABLE */ + else if (Matches("CREATE", "FOREIGN", "TABLE", MatchAny)) + COMPLETE_WITH("(", "PARTITION OF"); + /* CREATE INDEX --- is allowed inside CREATE SCHEMA, so use TailMatches */ /* First off we complete CREATE UNIQUE with "INDEX" */ else if (TailMatches("CREATE", "UNIQUE"))