]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
psql: Fix incorrect tab completion after CREATE PUBLICATION ... EXCEPT (...)
authorFujii Masao <fujii@postgresql.org>
Fri, 17 Apr 2026 05:31:05 +0000 (14:31 +0900)
committerFujii Masao <fujii@postgresql.org>
Fri, 17 Apr 2026 05:31:05 +0000 (14:31 +0900)
Previously, tab completion after EXCEPT (...) always suggested FROM SERVER.
This was correct for IMPORT FOREIGN SCHEMA ... EXCEPT (...), but became
incorrect once commit fd366065e06 added CREATE PUBLICATION ... EXCEPT (...).

This commit updates tab completion so FROM SERVER is no longer suggested
after CREATE PUBLICATION ... EXCEPT (...), while preserving the existing
behavior for IMPORT FOREIGN SCHEMA ... EXCEPT (...).

Author: Vignesh C <vignesh21@gmail.com>
Reviewed-by: Shveta Malik <shveta.malik@gmail.com>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Discussion: https://postgr.es/m/CALDaNm1-Fx6Msw6zcRuSjgQdw6asdTyp2DwP-4TCKGYAT+ndsA@mail.gmail.com

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

index 9990f818942ecfd622773903e56690b3960497bc..db65d130fcbbfdc7d267bfa7de34537af1fb2ec5 100644 (file)
@@ -4900,7 +4900,7 @@ match_previous_words(int pattern_id,
        else if (Matches("IMPORT", "FOREIGN", "SCHEMA", MatchAny))
                COMPLETE_WITH("EXCEPT (", "FROM SERVER", "LIMIT TO (");
        else if (TailMatches("LIMIT", "TO", "(*)") ||
-                        TailMatches("EXCEPT", "(*)"))
+                        Matches("IMPORT", "FOREIGN", "SCHEMA", MatchAny, "EXCEPT", "(*)"))
                COMPLETE_WITH("FROM SERVER");
        else if (TailMatches("FROM", "SERVER", MatchAny))
                COMPLETE_WITH("INTO");