Skip to content

Restrict accepted timestamps to values that can be processed all along

Current validation of swh.model.model.TimeStamp allows second values in the [-2**63, 2**63[ range, but these limits are way too large for several storage backends.

The postgresql backend for example can only deal with year up to 294276, which cannot even be handled by python's datetime object (which are used as intermediate structure in swh.storage.postgresql.converters.date_to_db() and db_to_date()).

Python's datetime max year is 9999 (see https://docs.python.org/3/library/datetime.html#datetime.MAXYEAR).

Related to T3200


Migrated from T3214 (view on Phabricator)