24
24
import reactor .util .annotation .Nullable ;
25
25
26
26
import java .time .LocalDate ;
27
- import java .time .LocalDateTime ;
28
27
import java .time .LocalTime ;
29
28
import java .time .OffsetDateTime ;
30
29
import java .time .OffsetTime ;
31
30
import java .time .ZoneOffset ;
32
- import java .time .ZonedDateTime ;
33
31
import java .time .temporal .Temporal ;
34
32
import java .util .EnumSet ;
35
33
import java .util .Set ;
@@ -118,28 +116,28 @@ private Temporal decodeTemporal(ByteBuf buffer, PostgresqlObjectId dataType, @Nu
118
116
return EpochTime .fromLong (buffer .readLong ()).toLocalDateTime ();
119
117
}
120
118
121
- return PostgresqlDateTimeFormatter .parse (ByteBufUtils .decode (buffer ), LocalDateTime :: from );
119
+ return PostgresqlDateTimeFormatter .parseLocalDateTime (ByteBufUtils .decode (buffer ));
122
120
case DATE :
123
121
case DATE_ARRAY :
124
122
if (FORMAT_BINARY == format ) {
125
123
return LocalDate .ofEpochDay (EpochTime .fromInt (buffer .readInt ()).getJavaDays ());
126
124
}
127
125
128
- return LocalDate . parse (ByteBufUtils .decode (buffer ));
126
+ return PostgresqlDateTimeFormatter . parseLocalDate (ByteBufUtils .decode (buffer ));
129
127
case TIME :
130
128
case TIME_ARRAY :
131
129
if (FORMAT_BINARY == format ) {
132
130
return LocalTime .ofNanoOfDay (buffer .readLong () * 1000 );
133
131
}
134
132
135
- return LocalTime . parse (ByteBufUtils .decode (buffer ));
133
+ return PostgresqlTimeFormatter . parseLocalTime (ByteBufUtils .decode (buffer ));
136
134
case TIMESTAMPTZ :
137
135
case TIMESTAMPTZ_ARRAY :
138
136
if (FORMAT_BINARY == format ) {
139
137
return EpochTime .fromLong (buffer .readLong ()).toInstant ().atOffset (OffsetDateTime .now ().getOffset ());
140
138
}
141
139
142
- return PostgresqlDateTimeFormatter .parse (ByteBufUtils .decode (buffer ), ZonedDateTime :: from );
140
+ return PostgresqlDateTimeFormatter .parseOffsetDateTime (ByteBufUtils .decode (buffer ));
143
141
case TIMETZ :
144
142
case TIMETZ_ARRAY :
145
143
if (FORMAT_BINARY == format ) {
@@ -148,7 +146,7 @@ private Temporal decodeTemporal(ByteBuf buffer, PostgresqlObjectId dataType, @Nu
148
146
return OffsetTime .of (LocalTime .ofNanoOfDay (timeNano ), ZoneOffset .ofTotalSeconds (offsetSec ));
149
147
}
150
148
151
- return PostgresqlTimeFormatter .parse (ByteBufUtils .decode (buffer ), OffsetTime :: from );
149
+ return PostgresqlTimeFormatter .parseOffsetTime (ByteBufUtils .decode (buffer ));
152
150
}
153
151
154
152
throw new UnsupportedOperationException (String .format ("Cannot decode value for type %s, format %s" , dataType , format ));
0 commit comments