Обсуждение: JDBC & custom type of variable types (!)

Поиск
Список
Период
Сортировка

JDBC & custom type of variable types (!)

От
Marc Mamin
Дата:
Hello,
 
I'd like to retrieve a custom type from a result set,
but problem: I don't know exactly the structure.
It may be float/text or int/text, so I'd need to map it to one of those java custom types:
 
   deciType <Double,String>;
   intType  <Long, String>;
 
 
Can I rely on a ClassCastException  as below to find the correct matching?
even when the custom type has NULL(s) in it ?
 
Or is there a better approach ?
 
case Types.STRUCT:
 
            try
            {
                foo = (intType)resultset1.getObject(1);
            }
            catch (ClassCastException e)
            {
                blah = (deciType)resultset1.getObject(1);
            }
 
(Postgres 9.3 , JDBC4 Postgresql Driver, Version 9.3-1100)
 
many thanks,
 
Marc Mamin
 

Re: JDBC & custom type of variable types (!)

От
Dave Cramer
Дата:
I expect that if it has a null you will have a problem, however I'm sure there is a quick way to test this. Just populate some data with NULL

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca


On Wed, Nov 27, 2013 at 4:04 AM, Marc Mamin <M.Mamin@intershop.de> wrote:
Hello,
 
I'd like to retrieve a custom type from a result set,
but problem: I don't know exactly the structure.
It may be float/text or int/text, so I'd need to map it to one of those java custom types:
 
   deciType <Double,String>;
   intType  <Long, String>;
 
 
Can I rely on a ClassCastException  as below to find the correct matching?
even when the custom type has NULL(s) in it ?
 
Or is there a better approach ?
 
case Types.STRUCT:
 
            try
            {
                foo = (intType)resultset1.getObject(1);
            }
            catch (ClassCastException e)
            {
                blah = (deciType)resultset1.getObject(1);
            }
 
(Postgres 9.3 , JDBC4 Postgresql Driver, Version 9.3-1100)
 
many thanks,
 
Marc Mamin
 

Re: JDBC & custom type of variable types (!)

От
David Johnston
Дата:
Marc Mamin-2 wrote
> Can I rely on a ClassCastException  as below to find the correct matching?
> even when the custom type has NULL(s) in it ?

Even if you could you should not.  Generating exceptions is expensive.  Try
"instanceof" testing instead.

I don't know enough bounce custom types in JDBC but as the column has the
type, not the value, the result of getObject should be known even if NULL is
involved.

David J.




--
View this message in context:
http://postgresql.1045698.n5.nabble.com/JDBC-custom-type-of-variable-types-tp5780512p5780590.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.