]> granicus.if.org Git - postgresql/commitdiff
Minor fixes for psql tab completion.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Sep 2018 19:24:56 +0000 (15:24 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Sep 2018 19:25:12 +0000 (15:25 -0400)
* Include partitioned tables in what's offered after ANALYZE.

* Include toast_tuple_target in what's offered after ALTER TABLE ... SET|RESET.

* Include HASH in what's offered after PARTITION BY.

This is extracted from a larger patch; these bits seem like
uncontroversial bug fixes for v11 features, so back-patch them into v11.

Justin Pryzby

Discussion: https://postgr.es/m/20180529000623.GA21896@telsasoft.com

src/bin/psql/tab-complete.c

index ee2aac7b5880df9302ab0c031d8b3f385f9844c6..7549b401922cad18abfdcc7f5785d8fb35b60af2 100644 (file)
@@ -558,6 +558,7 @@ static const SchemaQuery Query_for_list_of_tmf = {
        .catname = "pg_catalog.pg_class c",
        .selcondition =
        "c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
+       CppAsString2(RELKIND_PARTITIONED_TABLE) ", "
        CppAsString2(RELKIND_MATVIEW) ", "
        CppAsString2(RELKIND_FOREIGN_TABLE) ")",
        .viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
@@ -2026,6 +2027,7 @@ psql_completion(const char *text, int start, int end)
                        "fillfactor",
                        "parallel_workers",
                        "log_autovacuum_min_duration",
+                       "toast_tuple_target",
                        "toast.autovacuum_enabled",
                        "toast.autovacuum_freeze_max_age",
                        "toast.autovacuum_freeze_min_age",
@@ -2507,7 +2509,7 @@ psql_completion(const char *text, int start, int end)
                COMPLETE_WITH_LIST2("TABLE", "MATERIALIZED VIEW");
        /* Complete PARTITION BY with RANGE ( or LIST ( or ... */
        else if (TailMatches2("PARTITION", "BY"))
-               COMPLETE_WITH_LIST2("RANGE (", "LIST (");
+               COMPLETE_WITH_LIST3("RANGE (", "LIST (", "HASH (");
        /* If we have xxx PARTITION OF, provide a list of partitioned tables */
        else if (TailMatches2("PARTITION", "OF"))
                COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_partitioned_tables, "");