diff options
author | Dave Cramer <davec@fastcrypt.com> | 2003-06-30 21:10:55 +0000 |
---|---|---|
committer | Dave Cramer <davec@fastcrypt.com> | 2003-06-30 21:10:55 +0000 |
commit | df08f5c0030590980a203b72cdfdba817ff95b30 (patch) | |
tree | ec2e0a64ab23e3876b76e1d768a0e026ea4b9fee /src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java | |
parent | ede1734cf885854ff63a65ed04ae3a3a577d072e (diff) | |
download | postgresql-df08f5c0030590980a203b72cdfdba817ff95b30.tar.gz |
patches by Kim Ho to fix
getByte, getSort if input has decimal or whitespace
setObject if object is a BIT
boolean not on list of SQLKeywords
Diffstat (limited to 'src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java')
-rw-r--r-- | src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java index ee1db017cf..5f10f11046 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java @@ -9,7 +9,7 @@ * Copyright (c) 2003, PostgreSQL Global Development Group * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1ResultSet.java,v 1.12 2003/05/03 20:40:45 barry Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1ResultSet.java,v 1.13 2003/06/30 21:10:55 davec Exp $ * *------------------------------------------------------------------------- */ @@ -189,6 +189,19 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet { try { + switch(fields[columnIndex-1].getSQLType()) + { + case Types.NUMERIC: + case Types.REAL: + case Types.DOUBLE: + case Types.FLOAT: + case Types.DECIMAL: + s = (s.indexOf(".")==-1) ? s : s.substring(0,s.indexOf(".")); + break; + case Types.CHAR: + s = s.trim(); + break; + } return Byte.parseByte(s); } catch (NumberFormatException e) @@ -207,6 +220,19 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet { try { + switch(fields[columnIndex-1].getSQLType()) + { + case Types.NUMERIC: + case Types.REAL: + case Types.DOUBLE: + case Types.FLOAT: + case Types.DECIMAL: + s = (s.indexOf(".")==-1) ? s : s.substring(0,s.indexOf(".")); + break; + case Types.CHAR: + s = s.trim(); + break; + } return Short.parseShort(s); } catch (NumberFormatException e) @@ -778,6 +804,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet { try { + s = s.trim(); return Integer.parseInt(s); } catch (NumberFormatException e) @@ -794,6 +821,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet { try { + s = s.trim(); return Long.parseLong(s); } catch (NumberFormatException e) @@ -811,6 +839,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet { try { + s = s.trim(); val = new BigDecimal(s); } catch (NumberFormatException e) @@ -837,6 +866,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet { try { + s = s.trim(); return Float.valueOf(s).floatValue(); } catch (NumberFormatException e) @@ -853,6 +883,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet { try { + s = s.trim(); return Double.valueOf(s).doubleValue(); } catch (NumberFormatException e) @@ -871,6 +902,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet // length > 10: SQL Timestamp, assumes PGDATESTYLE=ISO try { + s = s.trim(); return java.sql.Date.valueOf((s.length() == 10) ? s : s.substring(0, 10)); } catch (NumberFormatException e) @@ -885,6 +917,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet return null; // SQL NULL try { + s = s.trim(); if (s.length() == 8) { //value is a time value @@ -952,6 +985,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet if (s == null) return null; + s = s.trim(); // We must be synchronized here incase more theads access the ResultSet // bad practice but possible. Anyhow this is to protect sbuf and // SimpleDateFormat objects |