| Bug #30892 | setObject delegate is buggy in | ||
|---|---|---|---|
| Submitted: | 7 Sep 2007 14:58 | Modified: | 11 Sep 2007 18:38 |
| Reporter: | Krisztián Szitás | ||
| Status: | Closed | ||
| Category: | Connector/J | Severity: | S2 (Serious) |
| Version: | all | OS: | Any |
| Assigned to: | Target Version: | ||
| Tags: | setObject, XADataSource | ||
[7 Sep 2007 15: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 16: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 16: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 18: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 18: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 18: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 20: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 20: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 22: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 22: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 22: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 1: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 3: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); } }