[CONJ-820] MySQLPreparedStatement.setObject cannot handle java.lang.Character type Created: 2020-08-17  Updated: 2020-09-23  Resolved: 2020-08-19

Status: Closed
Project: MariaDB Connector/J
Component/s: Other
Affects Version/s: 2.6.2
Fix Version/s: 2.7.0

Type: Bug Priority: Major
Reporter: Riccardo Paolo Bestetti Assignee: Diego Dupin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates CONJ-185 MySQLPreparedStatement.setObject cann... Closed

 Description   

BasePrepareStatement.setObject() doesn't handle the Character data type, resulting in it falling back to sending the serialized version of the Character object.

This is of course compliant with JDBC, which does not define a mapping for the Character data type; however, since this was present in a previous version of the driver, upgrading broke our application and we had to deploy a workaround.



 Comments   
Comment by Diego Dupin [ 2020-08-19 ]

This is slightly different from CONJ-185 where targetSqlType was set to java.sql.Types.CHAR value, but with String object.

setObject(final int parameterIndex, final Object x, final int targetSqlType)

Here is handling char / java.lang.Character Object. I don't know if this was supported of not, I've not found any code change that could have refer to this part. In all case, there is no reason not to support char / java.lang.Character parameters.

Comment by Riccardo Paolo Bestetti [ 2020-08-19 ]

Ah yes, of course. The previous report was referring to a different signature of setObject().

Do you need a PR?

Generated at Thu Feb 08 03:18:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.