mirror of
https://github.com/jackc/pgx.git
synced 2025-05-05 23:21:11 +00:00
Do not encode interval microseconds when they are 0
This make the encode match what postgres does
This commit is contained in:
parent
48ae1f4b2c
commit
01d649b2bf
@ -135,6 +135,9 @@ func (encodePlanIntervalCodecText) Encode(value any, buf []byte) (newBuf []byte,
|
|||||||
buf = append(buf, " day"...)
|
buf = append(buf, " day"...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if interval.Microseconds != 0 {
|
||||||
|
buf = append(buf, " "...)
|
||||||
|
|
||||||
absMicroseconds := interval.Microseconds
|
absMicroseconds := interval.Microseconds
|
||||||
if absMicroseconds < 0 {
|
if absMicroseconds < 0 {
|
||||||
absMicroseconds = -absMicroseconds
|
absMicroseconds = -absMicroseconds
|
||||||
@ -144,10 +147,16 @@ func (encodePlanIntervalCodecText) Encode(value any, buf []byte) (newBuf []byte,
|
|||||||
hours := absMicroseconds / microsecondsPerHour
|
hours := absMicroseconds / microsecondsPerHour
|
||||||
minutes := (absMicroseconds % microsecondsPerHour) / microsecondsPerMinute
|
minutes := (absMicroseconds % microsecondsPerHour) / microsecondsPerMinute
|
||||||
seconds := (absMicroseconds % microsecondsPerMinute) / microsecondsPerSecond
|
seconds := (absMicroseconds % microsecondsPerMinute) / microsecondsPerSecond
|
||||||
microseconds := absMicroseconds % microsecondsPerSecond
|
|
||||||
|
|
||||||
timeStr := fmt.Sprintf("%02d:%02d:%02d.%06d", hours, minutes, seconds, microseconds)
|
timeStr := fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
|
||||||
buf = append(buf, timeStr...)
|
buf = append(buf, timeStr...)
|
||||||
|
|
||||||
|
microseconds := absMicroseconds % microsecondsPerSecond
|
||||||
|
if microseconds != 0 {
|
||||||
|
buf = append(buf, fmt.Sprintf(".%06d", microseconds)...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return buf, nil
|
return buf, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user