Patch adding empty missing columns for getTables

Lists: pgsql-jdbc
From: "Xavier Poinsard" <xpoinsard(at)free(dot)fr>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Patch adding empty missing columns for getTables
Date: 2006-04-18 15:21:31
Message-ID: 444503FB.30204@free.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Hi,

The attached patch add empty columns to the resultset returned by
AbstractJdbc2MetaData.getTables().
According to JAVA 1.5 javadoc, it should return 10 columns and we are
currently returning only 5.
Maybe someone familiar with the system tables could modify the query to
return the expected values. With this patch, at least (and it is
allowed) null columns are returned and we don't get array indices
exceptions.

Xavier Poinsard.

Attachment Content-Type Size
getTables.diff text/plain 5.1 KB

From: Kris Jurka <books(at)ejurka(dot)com>
To: Xavier Poinsard <xpoinsard(at)free(dot)fr>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Patch adding empty missing columns for getTables
Date: 2006-04-18 16:18:38
Message-ID: Pine.BSO.4.63.0604181101060.6623@leary2.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Tue, 18 Apr 2006, Xavier Poinsard wrote:

> The attached patch add empty columns to the resultset returned by
> AbstractJdbc2MetaData.getTables().
> According to JAVA 1.5 javadoc, it should return 10 columns and we are
> currently returning only 5.

There are a number of differences in the metadata returned between JDBC2
and JDBC3. The correct place to make this change would be to
AbstractJdbc3DatabaseMetaData so that it overrides the JDBC3 behavior, but
leaves the JDBC2 format unchanged. This should be done for all the places
that have changed in JDBC3, see section 7.8 of the JDBC3 spec.

> Maybe someone familiar with the system tables could modify the query to
> return the expected values. With this patch, at least (and it is
> allowed) null columns are returned and we don't get array indices
> exceptions.
>

I'm not particularly excited about filling some unknown columns with NULL
values. I think some attempt should be made to understand what these
columns are supposed to be, my quick reading of the javadoc yields no
hints though. Even if you don't know the system catalogs well we can help
you with that if you tell us what you're looking for.

Kris Jurka