Thread: DatabaseMetadata.getTypeInfo resultset returns more than just Postgres/user defined data types
DatabaseMetadata.getTypeInfo resultset returns more than just Postgres/user defined data types
From
the6campbells
Date:
The result set returned from DatabaseMetadata.getTypeInfo contains many rows for instance it returns entries for tables and views in schemas.
This seems inconsistent with the 'spirit' of what this method is intended to facilitiate.
Is this a known Postgres JDBC driver bug?
Re: DatabaseMetadata.getTypeInfo resultset returns more than just Postgres/user defined data types
From
Craig Ringer
Date:
On 09/24/2012 11:12 PM, the6campbells wrote: > The result set returned from DatabaseMetadata.getTypeInfo contains many > rows for instance it returns entries for tables and views in schemas. Everything is in a schema; if you don't specify a schema you just get the schema "public" by default. > This seems inconsistent with the 'spirit' of what this method is > intended to facilitiate. It lists all the types. Seems sensible to me. If you want to filter by schema, you filter by schema. Should types in pg_catalog.* be hidden? If so, what if an extension adds new types? Should they be listed? What if the *same* extension is instead installed into the public schema - should its types be visible, or hidden? What about a type created in `pg_temp`? It's just too messy with an extensible database like PostgreSQL. Without a very strong justification based on the JDBC spec for excluding system types (and how would we even define "system type"?) I'm strongly against changing the current behaviour. -- Craig Ringer