Commit 6e7fe235 authored by Marcin Siodelski's avatar Marcin Siodelski
Browse files

[3673] One more update to the comment in the time conversion for PgSQL.

parent efe72946
......@@ -315,10 +315,11 @@ public:
int64_t expire_time_64 = static_cast<int64_t>(cltt) +
static_cast<int64_t>(valid_lifetime);
// On 32-bit systems the time_t is implemented as the int32_t value.
// We want to detect overflows beyond maximum int32_t value here
// to avoid the overflow in the PostgreSQL database. The PostgreSQL
// doesn't catch those overflows on its own.
// It has been observed that the PostgreSQL doesn't deal well with the
// timestamp values beyond the LeaseMgr::MAX_DB_TIME seconds since the
// beginning of the epoch (around year 2038). The value is often
// stored in the database but it is invalid when read back (overflow?).
// Hence, the maximum timestamp value is restricted here.
if (expire_time_64 > LeaseMgr::MAX_DB_TIME) {
isc_throw(isc::BadValue, "Time value is too large: " << expire_time_64);
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment