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 dj...@apache.org on 2005/04/22 20:49:44 UTC

svn commit: r164266 - /incubator/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java /incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/NumericConstantNode.java

Author: djd
Date: Fri Apr 22 11:49:43 2005
New Revision: 164266

URL: http://svn.apache.org/viewcvs?rev=164266&view=rev
Log:
Cleanup in SQLDecimal to explictly call the static getWHoleDigits method
using SQLDecimal.getWHoleDigits as a prelude to fixing Derby-225.
Fix minor error in NumericContstantNode where a String is obtained from
a DataValueDescriptoor using toString() but the correct method for the type
system is getString(). toString() may return debugging info, some implementations
return "NULL" for a null value, where getString() correctly returns null.

Modified:
    incubator/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java
    incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/NumericConstantNode.java

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java?rev=164266&r1=164265&r2=164266&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java (original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLDecimal.java Fri Apr 22 11:49:43 2005
@@ -931,7 +931,7 @@
 									divisorBigDecimal,
 									scale > -1 ? scale :
 									Math.max((dividendBigDecimal.scale() + 
-											getWholeDigits(divisorBigDecimal) +
+											SQLDecimal.getWholeDigits(divisorBigDecimal) +
 											1), 
 										NumberDataValue.MIN_DECIMAL_DIVIDE_SCALE),
 									BigDecimal.ROUND_DOWN));
@@ -1051,7 +1051,7 @@
 	{
 		if (isNull())
 			return this;
-
+				
 		// the getWholeDigits() call will ensure via getBigDecimal()
 		// that the rawData is translated into the BigDecimal in value.
 		if (desiredPrecision != IGNORE_PRECISION &&
@@ -1083,7 +1083,7 @@
 			return 0;
 		}	
 
-		return getWholeDigits(decimalValue) + decimalValue.scale();
+		return SQLDecimal.getWholeDigits(decimalValue) + decimalValue.scale();
 	}
 
 	public int getDecimalValueScale()
@@ -1127,7 +1127,7 @@
 
 	private int getWholeDigits()
 	{
-		return getWholeDigits(getBigDecimal());
+		return SQLDecimal.getWholeDigits(getBigDecimal());
 	}
 
 	private static int getWholeDigits(BigDecimal decimalValue)

Modified: incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/NumericConstantNode.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/NumericConstantNode.java?rev=164266&r1=164265&r2=164266&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/NumericConstantNode.java (original)
+++ incubator/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/NumericConstantNode.java Fri Apr 22 11:49:43 2005
@@ -235,7 +235,7 @@
 			break;
 		case C_NodeTypes.DECIMAL_CONSTANT_NODE:
 			mb.pushNewStart("java.math.BigDecimal");
-			mb.push(value.toString());
+			mb.push(value.getString());
 			mb.pushNewComplete(1);
 			break;
 		case C_NodeTypes.DOUBLE_CONSTANT_NODE: