Search Postgresql Archives

SQLData user-defined-types and getObject()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,
  I am quite confused (PLEASE PLEASE Help), I cannot find anything on
the web). I read that you can declare a class that implements SQLData
(in this case I set up a class called Complex from the /src/tutorial
datatype that mimics the user-defined datatype in the db) and then set
the mapping appropriately (see below).
   But it does not work ( I maybe doing something wrong)!!!
The "getObject" code throws:
Exception in thread "main" org.postgresql.util.PSQLException:
Unsupported Types value: 2,000
and the setObject code throws:
Exception in thread "main" java.lang.ClassCastException: java.lang.Class
 (points to the getObject() line

ANY help would be much appreciated!
much thanks in advance.
-assad

Reference:
//Mapping type setup
		java.util.Map map = db.getTypeMap();
		if(map == null) map = new HashMap();
		map.put("complex", Class.forName("Complex"));
		db.setTypeMap(map);
		
		map = db.getTypeMap();

and then I can set and get as follows:

//set info
		Complex test = new Complex();
		test.a = 5.6;
		test.b = 3.4;
		Statement stmt = db.createStatement();
		PreparedStatement temp = db.prepareStatement("INSERT INTO
test_complex VALUES (DEFAULT, ?);");
		temp.setObject(1,test);
	temp.executeUpdate();

//I also  tried with setObject with the type specified to
java.sql.TYPE_JavaObject

//get info

	ResultSet rs = stmt.executeQuery("SELECT * FROM test_complex");
		System.out.println("Got ");
		
		while(rs.next()){
			System.out.println("Got ");
		ResultSetMetaData metaData = rs.getMetaData();
		System.out.println("Type from SQL: " +
		metaData.getColumnTypeName(2));

		Object foo = (Object) rs.getObject(2, map);

		if (foo instanceof Complex) {
		Complex cp = (Complex)foo;
		System.out.println("Got: " + cp + " from DB");


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux