From: Peter T Mount <patches@maidast.demon.co.uk>
Ok, this fixes three things: 1. It seems (from tests submitted by two people with JBuilder) that JBuilder expects a responce from ResultSetMetaData.getPrecision() & getScale() when used on non numeric types. This patch makes these methods return 0, instead of throwing an exception. 2. Fixes a small bug where getting the postgresql type name returns null. 3. Fixes a problem with ResultSet.getObject() where getting it's string value returns null if you case the object as (PGobject), but returns the value if you case it as it's self.
This commit is contained in:
parent
7eddadee87
commit
31a925c4d0
@ -58,7 +58,8 @@ public class Field
|
||||
if (result.getColumnCount() != 1 || result.getTupleCount() != 1)
|
||||
throw new SQLException("Unexpected return from query for type");
|
||||
result.next();
|
||||
sql_type = getSQLType(result.getString(1));
|
||||
type_name = result.getString(1);
|
||||
sql_type = getSQLType(type_name);
|
||||
result.close();
|
||||
}
|
||||
return sql_type;
|
||||
|
@ -266,7 +266,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData
|
||||
case Types.DOUBLE:
|
||||
return 16;
|
||||
default:
|
||||
throw new SQLException("no precision for non-numeric data types.");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -295,7 +295,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData
|
||||
case Types.DOUBLE:
|
||||
return 16;
|
||||
default:
|
||||
throw new SQLException("no scale for non-numeric data types");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -97,6 +97,6 @@ public class PGobject implements Serializable,Cloneable
|
||||
*/
|
||||
public String toString()
|
||||
{
|
||||
return value;
|
||||
return getValue();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user