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.
REL6_4
Marc G. Fournier 28 years ago
parent 7eddadee87
commit 31a925c4d0
  1. 3
      src/interfaces/jdbc/postgresql/Field.java
  2. 4
      src/interfaces/jdbc/postgresql/ResultSetMetaData.java
  3. 2
      src/interfaces/jdbc/postgresql/util/PGobject.java

@ -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…
Cancel
Save