Fix psql tab completion for CREATE USER MAPPING.
authorTom Lane <[email protected]>
Thu, 27 Jul 2017 18:13:15 +0000 (14:13 -0400)
committerTom Lane <[email protected]>
Thu, 27 Jul 2017 18:13:15 +0000 (14:13 -0400)
After typing CREATE USER M..., it would not fill in MAPPING FOR,
even though that was clearly intended behavior.

Jeff Janes

Discussion: https://postgr.es/m/CAMkU=1wo2iQ6jWnN=egqOb5NxEPn0PpANEtKHr3uPooQ+nYPtw@mail.gmail.com

src/bin/psql/tab-complete.c

index 175833576019ef2382531ee2f564857d6f614e71..06f09d50d522d9a4b0bff9beaeec7bad0aa52daa 100644 (file)
@@ -676,7 +676,7 @@ static const pgsql_thing_t words_after_create[] = {
    {"UNIQUE", NULL, NULL, THING_NO_DROP},      /* for CREATE UNIQUE INDEX ... */
    {"UNLOGGED", NULL, NULL, THING_NO_DROP},    /* for CREATE UNLOGGED TABLE
                                                 * ... */
-   {"USER", Query_for_list_of_roles},
+   {"USER", Query_for_list_of_roles " UNION SELECT 'MAPPING FOR'"},
    {"USER MAPPING FOR", NULL, NULL},
    {"VIEW", NULL, &Query_for_list_of_views},
    {NULL}                      /* end of list */