From: | jon(at)univits(dot)se |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | SQLData, PostgreSQL and typemap woes |
Date: | 2002-05-07 08:09:38 |
Message-ID: | 3cx4e5vh.fsf@univits.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
we're currently trying to evaluate PostgreSQL as an Object Storage, using the JDBC SQLData interface. We're using the PostgreSQL provided tutorial UDT Complex and we're trying to instantiate a Java Complex class with it.
Here's what we're trying to do:
java.util.Map map = dbConnection.getTypeMap();
map.put("complex",
Class.forName("Complex"));
dbConnection.setTypeMap(map);
map = dbConnection.getTypeMap();
Statement stmt = dbConnection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT cp FROM complex_test WHERE id=1");
rs.next();
ResultSetMetaData metaData = rs.getMetaData();
System.out.println("Type from SQL: " + metaData.getColumnTypeName(1));
Object foo = rs.getObject(1);
if (foo instanceof Complex) {
Complex cp = (Complex)foo;
System.out.println("Got: " + cp + " from DB");
}
else {
System.out.println("Class name: " + foo.getClass().getName());
System.out.println("Got " + foo);
}
stmt.close();
The above mentioned code always returns a java.lang.String instance, which makes us believe that the type map is incorrect.
The name of the logical database is 'server', the table name is 'complex_test'. Here's the table definition:
server=# \d complex_test
Table "complex_test"
Column | Type | Modifiers
--------+---------+-----------
id | integer |
cp | complex |
server=# select * from complex_test;
id | cp
----+---------
1 | (55,33)
We're using jxDBCon (http://sourceforge.net/projects/jxdbcon) PostgreSQL
JDBC driver.
Cheers,
Jon & Jens
From | Date | Subject | |
---|---|---|---|
Next Message | Andrey Y. Mosienko | 2002-05-07 08:34:19 | How to get description of table field in trigger |
Previous Message | Jean-Paul ARGUDO | 2002-05-07 07:46:18 | Re: [DOCS] Migrating Oracle to PostgreSQL |