On Wed, Jun 14, 2017 at 4:10 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> I was hoping we'd get some more votes in this thread, but it seems like
> we've only got three, and by my count two of them are for just printing
> "all tables".

The following looks right - given a publication it would nice to know if
its for all tables or not.

!                                    List of publications
!         Name        |          Owner           | All Tables | Inserts |
Updates | Deletes
!  testpib_ins_trunct | regress_publication_user | f          | t       | f
      | f
!  testpub_default    | regress_publication_user | f          | t       | t
      | t
This [I couldn't find a regression diff entry where "All Tables" is true :(

  \dRp+ testpub3
!            Publication testpub3
!  All Tables | Inserts | Updates | Deletes
! ------------+---------+---------+---------
!  f          | t       | t       | t

I agree with Tom and Masahiko Sawada, if "All Tables" is false we continue
to show "Tables:\n\t[tables]" but when "All Tables" is true we'd write
something like "Tables: All Tables in Database".  The user can query the
database if they wish to know the names of all those tables exactly.

I suppose we could go further here, say by simplifying "public.tbl1,
public.tbl2", when public only contains two tables, to "public.*".  Or
consider never listing more than some small number of rows and provide a
"show all" option (\dRp++ or just a function/view) that would list every
single table.  But I would go with the default "+" behavior being to show
table names when the listing of tables is fixed and to say "All Tables in
Database" when it is dynamic.  In "+" mode that makes the "All Tables"
boolean redundant though I'd keep it around for consistency.

David J.

Reply via email to