[CONJ-409] PrepareStatement.setObject(...) with java 8 temporal object not implemented Created: 2017-01-11  Updated: 2017-01-31  Resolved: 2017-01-24

Status: Closed
Project: MariaDB Connector/J
Component/s: JDBC 4.2 compatibility
Affects Version/s: None
Fix Version/s: 2.0.0-RC

Type: Task Priority: Critical
Reporter: Diego Dupin Assignee: Diego Dupin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
PartOf
is part of CONJ-410 Ensure java 8 compliance and implemen... Closed

 Description   

PrepareStatement.setObject(...) with java 8 temporal object is not implemented.
Data for java 8 object are the object deserialization, not the temporal value.

Workaround : convert with java 8 temporal object, like :
LocalDate -> Date.valueOf((LocalDate) x)
LocalDateTime -> Timestamp.valueOf((LocalDateTime) x)
LocalTime -> Time.valueOf((LocalTime) x)

Jdbc1.2 object type that must be map:

Java Object Type JDBC Type
String CHAR, VARCHAR, LONGVARCHAR, NCHAR,
NVARCHAR or LONGNVARCHAR
java.math.BigDecimal NUMERIC
Boolean BIT or BOOLEAN
Byte TINYINT
Short SMALLINT
Integer INTEGER
Long BIGINT
Float REAL
Double DOUBLE
byte[] BINARY, VARBINARY, or LONGVARBINARY
java.math.BigInteger BIGINT
java.sql.Date DATE
java.sql.Time TIME
java.sql.Timestamp TIMESTAMP
java.sql.Clob CLOB
java.sql.Blob BLOB
java.sql.Array ARRAY
java.sql.Struct STRUCT
java.sql.Ref REF
java.net.URL DATALINK
java.sql.RowId ROWID
java.sql.NClob NCLOB
java.sql.SQLXML SQLXML
java.util.Calendar TIMESTAMP
java.util.Date TIMESTAMP
java.time.LocalDate DATE
java.time.LocalTime TIME
java.time.LocalDateTime TIMESTAMP
java.time.OffsetTime TIME_WITH_TIMEZONE
java.time.OffsetDatetime TIMESTAMP_WITH_TIMEZONE

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