| From: | Kris Jurka <books(at)ejurka(dot)com> |
|---|---|
| To: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
| Cc: | pgsql-jdbc(at)postgresql(dot)org |
| Subject: | Re: Driver not returning the type for TYPEs |
| Date: | 2010-05-01 16:56:09 |
| Message-ID: | alpine.BSO.2.00.1005011252560.13830@leary.csoft.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-jdbc |
On Sun, 7 Mar 2010, Thomas Kellerer wrote:
>> When creating types using e.g.:
>>
>> CREATE TYPE my_tabpe AS (some_data varchar(100));
>>
>> DatabaseMetaData.getTables() will return that type, but the value for
>> the column TABLE_TYPE is null.
>>
>> I think if the driver returns non-table objects (which is fine, a lot of
>> drivers are doing that), the TABLE_TYPE column of the result set should
>> contain a proper value.
>>
>
> I had a quick look at the source code, and it seems quite simple to fix.
>
> I have attached a patch agains CVS head which (as far as I can tell)
> fixes this. It also supports getTables() passing "TYPE" in the String
> array to select which types to show.
>
> I hope the patch is OK, I have not used the diff tool before ;)
>
I've applied this with additional code to separate out temporary views and
temporary sequences. A couple of notes on your patch for future
reference:
1) You have it reversed. The patch is taking out your changes rather than
adding them.
2) There are two CASE statements that convert relkind to TABLE_TYPE and
you only got one of them.
Kris Jurka
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pierre Queinnec | 2010-05-01 16:59:14 | Concurrency issue in EscapedFunctions |
| Previous Message | Kris Jurka | 2010-05-01 16:20:19 | Re: SQLException.getErrorCode ? |