OSDN Git Service

applied patch submitted by Florian (mailing-list@urbanet.ch) for BigDecimal support
authorBarry Lind <barry@xythos.com>
Tue, 26 Mar 2002 06:33:21 +0000 (06:33 +0000)
committerBarry Lind <barry@xythos.com>
Tue, 26 Mar 2002 06:33:21 +0000 (06:33 +0000)
src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
src/interfaces/jdbc/org/postgresql/jdbc2/Array.java
src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java

index 31bbaf2..7084887 100644 (file)
@@ -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());
+               }
        }
 
        /*
index f68106e..7539141 100644 (file)
@@ -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 ];
index 49c5f2d..d0c0771 100644 (file)
@@ -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());
+           }
        }
 
        /*