| Bug #30892 | setObject delegate is buggy in | ||
|---|---|---|---|
| Submitted: | 7 Sep 2007 12:58 | Modified: | 11 Sep 2007 16:38 |
| Reporter: | Krisztián Szitás | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / J | Severity: | S2 (Serious) |
| Version: | all | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | setObject, XADataSource | ||
[7 Sep 2007 13:49]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/33907
[7 Sep 2007 14:01]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/33908
[7 Sep 2007 14:14]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/33911
[11 Sep 2007 16:38]
MC Brown
A note has been added to the 5.0.8 and 5.1.3 changelogs: setObject(int, Object, int, int) delegate in PreparedStatmentWrapper delegates to wrong method.
[3 Oct 2007 16:42]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34839
[3 Oct 2007 16:46]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34840
[3 Oct 2007 18:59]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34855
[5 Oct 2007 18:53]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35011
[11 Oct 2007 20:11]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35407
[11 Oct 2007 20:24]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35410
[11 Oct 2007 20:52]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35414
[19 Nov 2007 0:57]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/38019
[19 Nov 2007 2:52]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/38024

Description: com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException { try { if (this.wrappedStmt != null) { ((PreparedStatement) this.wrappedStmt).setObject( parameterIndex, x, scale); } else { throw SQLError.createSQLException( "No operations allowed after statement closed", SQLError.SQL_STATE_GENERAL_ERROR); } } catch (SQLException sqlEx) { checkAndFireConnectionError(sqlEx); } } targetSqlType did not propagated to original PreparedStatement How to repeat: Just call this method, never works Suggested fix: public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException { try { if (this.wrappedStmt != null) { ((PreparedStatement) this.wrappedStmt).setObject( parameterIndex, x, targetSqlType, scale); } else { throw SQLError.createSQLException( "No operations allowed after statement closed", SQLError.SQL_STATE_GENERAL_ERROR); } } catch (SQLException sqlEx) { checkAndFireConnectionError(sqlEx); } }