Include partitioned tables for tab completion of VACUUM in psql
authorMichael Paquier <michael@paquier.xyz>
Thu, 30 Jul 2020 07:57:37 +0000 (16:57 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 30 Jul 2020 07:57:37 +0000 (16:57 +0900)
The relkinds that support indexing are the same as the ones supporting
VACUUM, so the code gets refactored a bit with the completion query used
for CLUSTER, but there is no change for CLUSTER in this commit.

Author: Justin Pryzby
Reviewed-by: Fujii Masao, Michael Paquier, Masahiko Sawada
Discussion: https://postgr.es/m/20200728170408.GI20393@telsasoft.com

src/bin/psql/tab-complete.c

index 8b735476ade43d3e2fed66c6a181fef3a7b63428..c4af40bfa9fa7ebbb5f824433c7fce21558f1d04 100644 (file)
@@ -330,6 +330,9 @@ do { \
 
 /*
  * Assembly instructions for schema queries
+ *
+ * Note that toast tables are not included in those queries to avoid
+ * unnecessary bloat in the completions generated.
  */
 
 static const SchemaQuery Query_for_list_of_aggregates[] = {
@@ -573,8 +576,14 @@ static const SchemaQuery Query_for_list_of_indexables = {
    .result = "pg_catalog.quote_ident(c.relname)",
 };
 
-/* Relations supporting VACUUM */
-static const SchemaQuery Query_for_list_of_vacuumables = {
+/*
+ * Relations supporting VACUUM are currently same as those supporting
+ * indexing.
+ */
+#define Query_for_list_of_vacuumables Query_for_list_of_indexables
+
+/* Relations supporting CLUSTER */
+static const SchemaQuery Query_for_list_of_clusterables = {
    .catname = "pg_catalog.pg_class c",
    .selcondition =
    "c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
@@ -584,9 +593,6 @@ static const SchemaQuery Query_for_list_of_vacuumables = {
    .result = "pg_catalog.quote_ident(c.relname)",
 };
 
-/* Relations supporting CLUSTER are currently same as those supporting VACUUM */
-#define Query_for_list_of_clusterables Query_for_list_of_vacuumables
-
 static const SchemaQuery Query_for_list_of_constraints_with_schema = {
    .catname = "pg_catalog.pg_constraint c",
    .selcondition = "c.conrelid <> 0",