You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by rh...@apache.org on 2011/11/08 20:16:46 UTC
svn commit: r1199392 - in /db/derby/code/trunk/java:
engine/org/apache/derby/iapi/types/
testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/
Author: rhillegas
Date: Tue Nov 8 19:16:46 2011
New Revision: 1199392
URL: http://svn.apache.org/viewvc?rev=1199392&view=rev
Log:
DERBY-5488: Eliminate some NPEs in ParameterMappingTest when run on OJEC.
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/BigIntegerDecimal.java
db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/J2SEDataValueFactory.java
db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/NumberDataType.java
db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ParameterMappingTest.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/BigIntegerDecimal.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/BigIntegerDecimal.java?rev=1199392&r1=1199391&r2=1199392&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/BigIntegerDecimal.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/BigIntegerDecimal.java Tue Nov 8 19:16:46 2011
@@ -21,6 +21,7 @@
package org.apache.derby.iapi.types;
+import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Types;
@@ -195,6 +196,12 @@ public final class BigIntegerDecimal ext
}
+ public Object getObject() throws StandardException
+ {
+ if ( isNull() ) { return null; }
+ else { return new BigDecimal( getString() ); }
+ }
+
/* (non-Javadoc)
* @see org.apache.derby.iapi.types.DataValueDescriptor#getString()
*/
@@ -526,6 +533,16 @@ public final class BigIntegerDecimal ext
}
return bi;
}
+
+ public void setBigDecimal(Number theValue) throws StandardException
+ {
+ if ( theValue == null ) { setToNull(); }
+ else
+ {
+ setValue( theValue.toString() );
+ }
+ }
+
/*
* String display of value
*/
Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/J2SEDataValueFactory.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/J2SEDataValueFactory.java?rev=1199392&r1=1199391&r2=1199392&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/J2SEDataValueFactory.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/J2SEDataValueFactory.java Tue Nov 8 19:16:46 2011
@@ -39,9 +39,6 @@ public class J2SEDataValueFactory extend
public void boot(boolean create, Properties properties) throws StandardException {
- NumberDataType.MINLONG_MINUS_ONE = SQLDecimal.MINLONG_MINUS_ONE;
- NumberDataType.MAXLONG_PLUS_ONE = SQLDecimal.MAXLONG_PLUS_ONE;
-
super.boot(create, properties);
}
Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/NumberDataType.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/NumberDataType.java?rev=1199392&r1=1199391&r2=1199392&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/NumberDataType.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/NumberDataType.java Tue Nov 8 19:16:46 2011
@@ -21,6 +21,8 @@
package org.apache.derby.iapi.types;
+import java.math.BigDecimal;
+
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.types.NumberDataValue;
import org.apache.derby.iapi.services.sanity.SanityManager;
@@ -48,14 +50,10 @@ public abstract class NumberDataType ext
*/
static DataValueDescriptor ZERO_DECIMAL;
- /**
- * Set by the booting DataValueFactory implementation.
- */
- static Comparable MINLONG_MINUS_ONE;
- /**
- * Set by the booting DataValueFactory implementation.
- */
- static Comparable MAXLONG_PLUS_ONE;
+ static final BigDecimal ZERO = BigDecimal.valueOf(0L);
+ static final BigDecimal ONE = BigDecimal.valueOf(1L);
+ static final BigDecimal MAXLONG_PLUS_ONE = BigDecimal.valueOf(Long.MAX_VALUE).add(ONE);
+ static final BigDecimal MINLONG_MINUS_ONE = BigDecimal.valueOf(Long.MIN_VALUE).subtract(ONE);
/**
* Numbers check for isNegative first and negate it if negative.
Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java?rev=1199392&r1=1199391&r2=1199392&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java Tue Nov 8 19:16:46 2011
@@ -67,13 +67,6 @@ import java.sql.Types;
*/
public final class SQLDecimal extends NumberDataType implements VariableSizeDataValue
{
- private static final BigDecimal ZERO = BigDecimal.valueOf(0L);
- private static final BigDecimal ONE = BigDecimal.valueOf(1L);
- static final BigDecimal MAXLONG_PLUS_ONE = BigDecimal.valueOf(Long.MAX_VALUE).add(ONE);
- static final BigDecimal MINLONG_MINUS_ONE = BigDecimal.valueOf(Long.MIN_VALUE).subtract(ONE);
-
-
-
/**
* object state. Note that scale and precision are
* always determined dynamically from value when
@@ -236,8 +229,8 @@ public final class SQLDecimal extends Nu
// e.g. 9223372036854775807.1 converts to 9223372036854775807
// this matches DB2 UDB behaviour
- if ( (localValue.compareTo(SQLDecimal.MINLONG_MINUS_ONE) == 1)
- && (localValue.compareTo(SQLDecimal.MAXLONG_PLUS_ONE) == -1)) {
+ if ( (localValue.compareTo(MINLONG_MINUS_ONE) == 1)
+ && (localValue.compareTo(MAXLONG_PLUS_ONE) == -1)) {
return localValue.longValue();
}
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ParameterMappingTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ParameterMappingTest.java?rev=1199392&r1=1199391&r2=1199392&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ParameterMappingTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/ParameterMappingTest.java Tue Nov 8 19:16:46 2011
@@ -563,7 +563,7 @@ public class ParameterMappingTest extend
try {
if (!HAVE_BIG_DECIMAL && SQLTypes[type].equals("DECIMAL(10,5)"))
continue;
- //System.out.println(procSQL);
+ println(procSQL);
s.execute(procSQL);
} catch (SQLException sqle) {
// may get error that column is not allowed
@@ -1090,7 +1090,8 @@ public class ParameterMappingTest extend
}
catch (SQLException se )
{
- assertEquals( errorState, se.getSQLState() );
+ assertEquals
+ ( "Expecting failure for seed = " + seed + " and insertText = '" + insertText + "'" , errorState, se.getSQLState() );
}
}
@@ -4292,11 +4293,7 @@ public class ParameterMappingTest extend
public static Test suite() {
- // Don't run for JSR169 until DERBY-2403 is resolved.
- if (JDBC.vmSupportsJDBC3())
- return TestConfiguration.defaultSuite(ParameterMappingTest.class);
- else
- return new TestSuite("ParameterMapping");
+ return TestConfiguration.defaultSuite(ParameterMappingTest.class);
}
/*
** Procedures for parameter mapping testing.