Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
in 2.7, using String representation on a Timestamp was corresponding to java Timestamp.toString() representation.
in 3.x version, this now correspond to what server display, corresponding to microsecond precision.
Example of differences:
value | Field format | 2.7 string representation | 3.x string representation |
---|---|---|---|
2025-01-23 09:20:45 | TIMESTAMP(0) | "2025-01-23 09:20:45.0" | "2025-01-23 09:20:45" |
2025-01-23 09:20:45 | TIMESTAMP(2) | "2025-01-23 09:20:45.0" | "2025-01-23 09:20:45.00" |
2025-01-23 09:20:45 | TIMESTAMP(6) | "2025-01-23 09:20:45.0" | "2025-01-23 09:20:45.000000" |
2025-01-23 09:20:45.12 | TIMESTAMP(6) | "2025-01-23 09:20:45.12" | "2025-01-23 09:20:45.120000" |
2025-01-23 09:20:45.123450 | TIMESTAMP(6) | "2025-01-23 09:20:45.12345" | "2025-01-23 09:20:45.123450" |
goal is to have a compatibility option `oldModeNoPrecisionTimestamp` of this buggy behavior.
The `oldModeNoPrecisionTimestamp` option (disabled by default) will now allows compatibility with version 2.7's timestamp behavior when enabled.
available using SNAPSHOT:
<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
</dependency>
</dependencies>