https://forge.softwareheritage.org/source/swh-scheduler.git
Revision 0c7ef27b7e0542d2795a9720ebb5af2a3b274e18 authored by Nicolas Dandrimont on 27 October 2021, 13:45:09 UTC, committed by Nicolas Dandrimont on 27 October 2021, 13:45:09 UTC
When the database is in a non-UTC timezone with DST, and a `timestamptz
- interval` calculation crosses a DST change, the result of the
calculation can be one hour off from the expected value:

PostgreSQL will vary the timestamp by the amount of days in the
interval, and will keep the same (local) time, which will be offset by
an hour because of the DST change.

Doing the datetime +- timedelta calculations in Python instead of
PostgreSQL avoids this caveat altogether.
1 parent ecc0e28
History
Tip revision: 0c7ef27b7e0542d2795a9720ebb5af2a3b274e18 authored by Nicolas Dandrimont on 27 October 2021, 13:45:09 UTC
grab_next_visits: avoid time interval calculations in PostgreSQL
Tip revision: 0c7ef27
File Mode Size
data
docs
sql
swh
.gitignore -rw-r--r-- 129 bytes
.pre-commit-config.yaml -rw-r--r-- 1.0 KB
AUTHORS -rw-r--r-- 112 bytes
CODE_OF_CONDUCT.md -rw-r--r-- 3.3 KB
CONTRIBUTORS -rw-r--r-- 14 bytes
LICENSE -rw-r--r-- 34.3 KB
LICENSE.Celery -rw-r--r-- 2.6 KB
MANIFEST.in -rw-r--r-- 154 bytes
Makefile -rw-r--r-- 163 bytes
README.md -rw-r--r-- 292 bytes
conftest.py -rw-r--r-- 664 bytes
mypy.ini -rw-r--r-- 750 bytes
pyproject.toml -rw-r--r-- 237 bytes
pytest.ini -rw-r--r-- 33 bytes
requirements-journal.txt -rw-r--r-- 12 bytes
requirements-simulator.txt -rw-r--r-- 21 bytes
requirements-swh.txt -rw-r--r-- 50 bytes
requirements-test.txt -rw-r--r-- 155 bytes
requirements.txt -rw-r--r-- 384 bytes
setup.cfg -rw-r--r-- 247 bytes
setup.py -rwxr-xr-x 2.5 KB
tox.ini -rw-r--r-- 1.5 KB

README.md

back to top