From 5bbd9b4cae6e316115919d73e957164d444c3851 Mon Sep 17 00:00:00 2001
From: Sho Ito <i.sho.0628@gmail.com>
Date: Mon, 12 Oct 2026 23:23:15 -0400
Subject: [PATCH v1] Fix tab completion for concurrent materialized view
 refresh

The backend rejects CONCURRENTLY combined with WITH NO DATA, but
psql suggests that combination. Offer only DATA after concurrent
WITH and stop completing a manually entered concurrent WITH NO.
---
 src/bin/psql/tab-complete.in.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c
index f86684e..ee023c8 100644
--- a/src/bin/psql/tab-complete.in.c
+++ b/src/bin/psql/tab-complete.in.c
@@ -5072,10 +5072,8 @@ match_previous_words(int pattern_id,
 	else if (Matches("REFRESH", "MATERIALIZED", "VIEW", MatchAny, "WITH"))
 		COMPLETE_WITH("NO DATA", "DATA");
 	else if (Matches("REFRESH", "MATERIALIZED", "VIEW", "CONCURRENTLY", MatchAny, "WITH"))
-		COMPLETE_WITH("NO DATA", "DATA");
-	else if (Matches("REFRESH", "MATERIALIZED", "VIEW", MatchAny, "WITH", "NO"))
 		COMPLETE_WITH("DATA");
-	else if (Matches("REFRESH", "MATERIALIZED", "VIEW", "CONCURRENTLY", MatchAny, "WITH", "NO"))
+	else if (Matches("REFRESH", "MATERIALIZED", "VIEW", MatchAny, "WITH", "NO"))
 		COMPLETE_WITH("DATA");
 
 /* REINDEX */
-- 
2.48.1

