From 4c56df45327aee448f1f55a7aef24b01f3f343b9 Mon Sep 17 00:00:00 2001 From: Vignesh C Date: Fri, 17 Jul 2020 17:06:15 +0530 Subject: [PATCH 2/2] Tab completion for copy statement. Tab completion for suggesting WITH, OPTIONS & WHERE was missing, this patch has the fix to suggest the same. I did not see any tests for tab completion, hence no tests were added. --- src/bin/psql/tab-complete.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index eb01885..f835758 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2346,6 +2346,16 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH("BINARY", "DELIMITER", "NULL", "CSV", "ENCODING"); + /* Offer options after COPY FROM|TO filename WITH ( */ + else if (Matches("COPY|\\copy", MatchAny, "FROM|TO", MatchAny, "WITH", "(")) + COMPLETE_WITH("FORMAT", "FREEZE", "DELIMITER", "NULL", + "HEADER", "QUOTE", "ESCAPE", "FORCE_QUOTE", + "FORCE_NOT_NULL", "FORCE_NULL", "ENCODING"); + + /* Offer options after COPY FROM filename WITH options */ + else if (Matches("COPY|\\copy", MatchAny, "FROM", MatchAny, "WITH", MatchAny)) + COMPLETE_WITH("WHERE"); + /* Offer options after COPY [BINARY] FROM|TO filename CSV */ else if (Matches("COPY|\\copy", MatchAny, "FROM|TO", MatchAny, "CSV") || Matches("COPY", "BINARY", MatchAny, "FROM|TO", MatchAny, "CSV")) -- 1.8.3.1