IMHO, it's best to let the generic getTables() simply return all of the tables. Front end tools that need to do special things with different types of tables need to use PG specific meta data anyway.
--Luss
On Sun, May 14, 2017 at 7:39 AM, Dave Cramer <pg@fastcrypt.com> wrote:
Thomas,
thanks for this !
As for the answer to your question. I have no idea what to do with them.
The current JDBC driver returns no information about the new partitioned tables in the upcoming Postgres 10. This is caused by the fact that partitioned tables have a new pg_class.relkind value: 'p'
I have attached a simple patch that fixes the obvious problem that partitioned tables are not returned by getTables() and no column information is returned from getColumns().
The patch essentially treats relkind 'r' and 'p' the same because I think the driver should not make a distinction between regular tables and partitioned tables.
But I think the bigger is: what do do with the partitions themselves?
Technically they are tables, but I think it would make sense to hide them and let frontend tools deal with displaying partitions belonging to a table (this is e.g. how Oracle does it).
However, psql displays them as regular tables just like with the "old" inheritance partitions, so that would probably cause some confusion if getTables() did not return those tables.