At Tue, 2 Apr 2019 22:49:25 -0300, Alvaro Herrera <[email protected]>
wrote in <[email protected]>
> Hi Amit
>
> On 2019-Apr-03, Amit Langote wrote:
>
> > Thanks. I'm getting an error while applying v12:
> >
> > patching file src/bin/psql/po/es.po
> > Hunk #1 FAILED at 12.
> > 1 out of 2 hunks FAILED -- saving rejects to file src/bin/psql/po/es.po.rej
>
> Uh, I certainly did not intend to send the es.po part of the patch, I
> was just testing that the translation worked as intended. That's what I
> get for doing stuff till the last minute ...
\dPn doesn't show children because the are of 'r' relkind. And
\dPn * doesn't show type for children.
create table pa (a int, b int) partition by range (a);
create table c1 partition of pa for values from (0) to (10);
create table c2 partition of pa for values from (10) to (20);
create index on pa(a);
postgres=# \dPn *
List of partitioned tables and indexes
Schema | Name | Owner | Type | Parent name | On table
--------+----------+----------+-------------------+-------------+----------
public | pa | horiguti | partitioned table | |
public | pa_a_idx | horiguti | partitioned index | | pa
(2 rows)
With the attached on top of the latest patch, we get the following result.
postgres=# \dPn *
List of partitioned tables and indexes
Schema | Name | Owner | Type | Parent name | On table
--------+----------+----------+-------------------+-------------+----------
public | c1 | horiguti | partition table | pa |
public | c1_a_idx | horiguti | partition index | pa_a_idx | c1
public | c2 | horiguti | partition table | pa |
public | c2_a_idx | horiguti | partition index | pa_a_idx | c2
public | pa | horiguti | partitioned table | |
public | pa_a_idx | horiguti | partitioned index | | pa
(6 rows)
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index 736cca33d6..5f97bfc4b2 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -3954,7 +3954,11 @@ listPartitions(const char *pattern, bool verbose, bool show_indexes,
}
}
- appendPQExpBuffer(&buf, "\nWHERE c.relkind IN (%s)", relkind_str);
+ if (show_nested)
+ appendPQExpBuffer(&buf, "\nWHERE (c.relkind IN (%s) OR c3.relkind IN (%s))", relkind_str, relkind_str);
+ else
+ appendPQExpBuffer(&buf, "\nWHERE c.relkind IN (%s)", relkind_str);
+
appendPQExpBufferStr(&buf, !show_nested ? " AND NOT c.relispartition\n" : "\n");
if (!pattern)
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index 5f97bfc4b2..41075f9a67 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -3864,9 +3864,13 @@ listPartitions(const char *pattern, bool verbose, bool show_indexes,
",\n CASE c.relkind"
" WHEN " CppAsString2(RELKIND_PARTITIONED_TABLE) " THEN '%s'"
" WHEN " CppAsString2(RELKIND_PARTITIONED_INDEX) " THEN '%s'"
+ " WHEN " CppAsString2(RELKIND_RELATION) " THEN '%s'"
+ " WHEN " CppAsString2(RELKIND_INDEX) " THEN '%s'"
" END as \"%s\"",
gettext_noop("partitioned table"),
gettext_noop("partitioned index"),
+ gettext_noop("partition table"),
+ gettext_noop("partition index"),
gettext_noop("Type"));
translate_columns[3] = true;