Class DurationArgumentFactory
- All Implemented Interfaces:
ArgumentFactory
,ArgumentFactory.Preparable
Duration
.
For simplicity, this implementation makes the duration positive before proceeding. However, this can cause an
ArithmeticException
to be thrown. E.g., this can occur if your duration is -2^63 seconds.
Not all Duration
s can be represented as intervals in Postgres.
One incompatibility results from Duration
s that are too large. This is due to (1) Duration
s using
a long
internally, and PGInterval
s using int
s; and (2) the conversion of days to months or
years being ambiguous.
Another results from Duration
s being too precise; they have nanosecond precision, whereas Postgres has only
microsecond.
An IllegalArgumentException
will be thrown in these cases.
The handling of the second is subject to revision in the future; for example, it would be reasonable to have a
configurable truncation option.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jdbi.v3.core.argument.ArgumentFactory
ArgumentFactory.Preparable
-
Constructor Summary
-
Method Summary
Methods inherited from class org.jdbi.v3.core.argument.AbstractArgumentFactory
build, prepare, prePreparedTypes
-
Constructor Details
-
DurationArgumentFactory
public DurationArgumentFactory()
-
-
Method Details
-
build
-