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)