Modified:
branches/branch_5_0/connector-j/CHANGES
branches/branch_5_0/connector-j/src/com/mysql/jdbc/ResultSet.java
branches/branch_5_0/connector-j/src/testsuite/regression/StatementRegressionTest.java
Log:
Removed Java5-specific calls to BigDecimal constructor (when
result set value is '', (int)0 was being used as an argument
in-directly via method return value. This signature doesn't exist
prior to Java5.)
Modified: branches/branch_5_0/connector-j/CHANGES
===================================================================
--- branches/branch_5_0/connector-j/CHANGES 2005-11-01 01:01:09 UTC (rev 4492)
+++ branches/branch_5_0/connector-j/CHANGES 2005-11-01 04:23:54 UTC (rev 4493)
@@ -53,6 +53,11 @@
- Moved all SQLException constructor usage to a factory in SQLError
(ground-work for JDBC-4.0 SQLState-based exception classes).
+ - Removed Java5-specific calls to BigDecimal constructor (when
+ result set value is '', (int)0 was being used as an argument
+ in-directly via method return value. This signature doesn't exist
+ prior to Java5.)
+
09-xx-05 - Version 3.1.11-stable
- Fixed BUG#11629 - Spurious "!" on console when character
Modified: branches/branch_5_0/connector-j/src/com/mysql/jdbc/ResultSet.java
===================================================================
--- branches/branch_5_0/connector-j/src/com/mysql/jdbc/ResultSet.java 2005-11-01 01:01:09 UTC (rev 4492)
+++ branches/branch_5_0/connector-j/src/com/mysql/jdbc/ResultSet.java 2005-11-01 04:23:54 UTC (rev 4493)
@@ -747,7 +747,18 @@
throw SQLError.createSQLException("Can't convert empty string ('') to numeric",
SQLError.SQL_STATE_INVALID_CHARACTER_VALUE_FOR_CAST);
}
+
+ private String convertToZeroLiteralStringWithEmptyCheck()
+ throws SQLException {
+
+ if (this.connection.getEmptyStringsConvertToZero()) {
+ return "0";
+ }
+ throw SQLError.createSQLException("Can't convert empty string ('') to numeric",
+ SQLError.SQL_STATE_INVALID_CHARACTER_VALUE_FOR_CAST);
+ }
+
//
// Note, row data is linked between these two result sets
//
@@ -1080,12 +1091,9 @@
if (stringVal != null) {
if (stringVal.length() == 0) {
- if (!this.connection.isRunningOnJDK13()) {
- val = new BigDecimal(convertToZeroWithEmptyCheck());
- } else {
- val = new BigDecimal(
- String.valueOf(convertToZeroWithEmptyCheck()));
- }
+
+ val = new BigDecimal(
+ convertToZeroLiteralStringWithEmptyCheck());
return val;
}
@@ -1133,13 +1141,9 @@
if (stringVal != null) {
if (stringVal.length() == 0) {
- if (!this.connection.isRunningOnJDK13()) {
- val = new BigDecimal(convertToZeroWithEmptyCheck());
- } else {
- val = new BigDecimal(
- String.valueOf(convertToZeroWithEmptyCheck()));
- }
-
+ val = new BigDecimal(
+ convertToZeroLiteralStringWithEmptyCheck());
+
try {
return val.setScale(scale);
} catch (ArithmeticException ex) {
@@ -1235,13 +1239,9 @@
if (stringVal != null) {
if (stringVal.length() == 0) {
- if (!this.connection.isRunningOnJDK13()) {
- bdVal = new BigDecimal(convertToZeroWithEmptyCheck());
- } else {
- bdVal = new BigDecimal(
- String.valueOf(convertToZeroWithEmptyCheck()));
- }
+ bdVal = new BigDecimal(convertToZeroLiteralStringWithEmptyCheck());
+
return bdVal.setScale(scale);
}
@@ -1281,7 +1281,7 @@
}
/**
- * A column value can also be retrieved as a binary strea. This method is
+ * A column value can also be retrieved as a binary stream. This method is
* suitable for retrieving LONGVARBINARY values.
*
* @param columnIndex
@@ -2745,12 +2745,8 @@
if (stringVal != null) {
if (stringVal.length() == 0) {
- if (!this.connection.isRunningOnJDK13()) {
- val = new BigDecimal(convertToZeroWithEmptyCheck());
- } else {
- val = new BigDecimal(
- String.valueOf(convertToZeroWithEmptyCheck()));
- }
+
+ val = new BigDecimal(convertToZeroLiteralStringWithEmptyCheck());
try {
return val.setScale(scale);
Modified: branches/branch_5_0/connector-j/src/testsuite/regression/StatementRegressionTest.java
===================================================================
--- branches/branch_5_0/connector-j/src/testsuite/regression/StatementRegressionTest.java 2005-11-01 01:01:09 UTC (rev 4492)
+++ branches/branch_5_0/connector-j/src/testsuite/regression/StatementRegressionTest.java 2005-11-01 04:23:54 UTC (rev 4493)
@@ -617,7 +617,7 @@
try {
this.pstmt = this.conn.prepareStatement("SELECT ?");
this.pstmt.setObject(1, Boolean.TRUE, Types.BOOLEAN);
- this.pstmt.setObject(1, new BigDecimal(1), Types.BOOLEAN);
+ this.pstmt.setObject(1, new BigDecimal("1"), Types.BOOLEAN);
this.pstmt.setObject(1, "true", Types.BOOLEAN);
} finally {
if (this.pstmt != null) {
| Thread |
|---|
| • Connector/J commit: r4493 - in branches/branch_5_0/connector-j: . src/com/mysql/jdbc src/testsuite/regression | mmatthews | 1 Nov |