From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Thor Michael Støre <thormichael(at)gmail(dot)com> |
Cc: | "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: Finding exact column type via java.sql.ResultSetMetaData |
Date: | 2013-02-14 17:00:15 |
Message-ID: | CADK3HHLr4v2SCQ-xUv0bEXsPKsvmn-r+NZjTy6Sc1EmoRcMzow@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Yes, you are correct. The backend does not provide that information
Dave Cramer
dave.cramer(at)credativ(dot)ca
http://www.credativ.ca
On Thu, Feb 14, 2013 at 11:43 AM, Thor Michael Støre
<thormichael(at)gmail(dot)com>wrote:
> Hello,
>
> I'm scratching my head over ResultSetMetaData yet again, this time related
> to figuring out the correct type of a column.
>
> Am I right in understanding that given a SQL command whose resultset
> contains a field of a user defined type not originating from a table, you
> cannot look up the exact type for that field via the result set meta data
> if multiple types of the same name are defined in different schemas? AFAICT
> ResultSetMetaData only gives the name the type is defined with in the
> database, via getColumnTypeName, but not the schema of that type. Should
> the result for getColumnTypeName have been prefixed with schema-plus-dot,
> or is that not possible or not according to the spec? Unless I'm missing
> something the code I'm writing will basically have to throw an exception
> and apologize that different types with the same name in different schemas
> is not supported when it runs into that.
>
>
> I'm testing with:
>
> CREATE SCHEMA test_schema;
> CREATE SCHEMA another_test_schema;
>
> CREATE TYPE test_schema.test_type AS ( intfield int, textfield varchar );
> CREATE TYPE another_test_schema.test_type AS ( other_textfield varchar,
> other_intfield int );
>
> And given the query:
> SELECT (1,'adsf')::test_schema.test_type,
> ('zxcv',2)::another_test_schema.test_type;
>
> Then java.sql.ResultSetMetaData gives the exact same information for each
> column, with getColumnTypeName giving "test_type" for both. Simple
> test-case with this and a bit of runnable Java included.
>
> Thanks,
> Thor Michael Støre
>
>
>
>
>
>
> --
> Sent via pgsql-jdbc mailing list (pgsql-jdbc(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-jdbc
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Kris Jurka | 2013-02-14 17:11:31 | Re: Finding exact column type via java.sql.ResultSetMetaData |
Previous Message | Thor Michael Støre | 2013-02-14 16:43:53 | Finding exact column type via java.sql.ResultSetMetaData |