aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBarry Lind <barry@xythos.com>2002-03-26 06:33:21 +0000
committerBarry Lind <barry@xythos.com>2002-03-26 06:33:21 +0000
commitda631e931f9da4bc5df4bfd39f0c42684adfb8e5 (patch)
treedccd0d98e230641d4002800b432f43b541601ca3 /src
parentef7d7910745cf2812007668138eaaf0a8e1d8d99 (diff)
downloadpostgresql-da631e931f9da4bc5df4bfd39f0c42684adfb8e5.tar.gz
postgresql-da631e931f9da4bc5df4bfd39f0c42684adfb8e5.zip
applied patch submitted by Florian (mailing-list@urbanet.ch) for BigDecimal support
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java7
-rw-r--r--src/interfaces/jdbc/org/postgresql/jdbc2/Array.java2
-rw-r--r--src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java4
3 files changed, 11 insertions, 2 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
index 31bbaf2eece..7084887cfd7 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
@@ -243,7 +243,12 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta
*/
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
{
- set(parameterIndex, x.toString());
+ if (x == null)
+ setNull(parameterIndex, Types.OTHER);
+ else
+ {
+ set(parameterIndex, x.toString());
+ }
}
/*
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java b/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java
index f68106ee7b6..75391411527 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java
@@ -140,7 +140,7 @@ public class Array implements java.sql.Array
case Types.NUMERIC:
retVal = new BigDecimal[ count ];
for ( ; count > 0; count-- )
- ((BigDecimal[])retVal)[i] = ResultSet.toBigDecimal( arrayContents[(int)index++], 0 );
+ ((BigDecimal[])retVal)[i++] = ResultSet.toBigDecimal( arrayContents[(int)index++], 0 );
break;
case Types.REAL:
retVal = new float[ count ];
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
index 49c5f2da804..d0c07718bdb 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
@@ -251,7 +251,11 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta
*/
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
{
+ if (x == null) {
+ setNull(parameterIndex, Types.OTHER);
+ } else {
set(parameterIndex, x.toString());
+ }
}
/*