Skip to content

Commit 73c22dc

Browse files
author
Andrey Oskin
committed
fix: datetime tryparse (JuliaDatabases#265)
1 parent 2d45074 commit 73c22dc

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/parsing.jl

+16-3
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,23 @@ function pqparse(::Type{DateTime}, str::AbstractString)
259259
parsed = _tryparse_datetime_inf(DateTime, str)
260260
isnothing(parsed) || return parsed
261261

262-
parsed = tryparse(DateTime, str, TIMESTAMP_FORMAT)
263-
isnothing(parsed) || return parsed
262+
# Please, do not remove @static, see https://github.com/iamed2/LibPQ.jl/issues/265
263+
# for more details
264+
@static if v"1.6.6" <= VERSION < v"1.7.0" || VERSION > v"1.7.2"
265+
parsed = tryparse(DateTime, str, TIMESTAMP_FORMAT)
266+
isnothing(parsed) || return parsed
264267

265-
return parse(DateTime, _trunc_seconds(str), TIMESTAMP_FORMAT)
268+
return parse(DateTime, _trunc_seconds(str), TIMESTAMP_FORMAT)
269+
else
270+
try
271+
return parse(DateTime, str, TIMESTAMP_FORMAT)
272+
catch err
273+
if !(err isa InexactError)
274+
rethrow(err)
275+
end
276+
end
277+
return parse(DateTime, _trunc_seconds(str), TIMESTAMP_FORMAT)
278+
end
266279
end
267280

268281
# ISO, YMD

0 commit comments

Comments
 (0)