Thread: pgsql: Handle integer overflow in interval justification functions.
Handle integer overflow in interval justification functions. justify_interval, justify_hours, and justify_days didn't check for overflow when promoting hours to days or days to months; but that's possible when the upper field's value is already large. Detect and report any such overflow. Also, we can avoid unnecessary overflow in some cases in justify_interval by pre-justifying the days field. (Thanks to Nathan Bossart for this idea.) Joe Koshakow Discussion: https://postgr.es/m/CAAvxfHeNqsJ2xYFbPUf_8nNQUiJqkag04NW6aBQQ0dbZsxfWHA@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/54bd1e43ca56e323aef309dc2dc0e1391825ce68 Modified Files -------------- src/backend/utils/adt/timestamp.c | 35 +++++++++++++++++++++++++++++---- src/test/regress/expected/interval.out | 36 ++++++++++++++++++++++++++++++++++ src/test/regress/sql/interval.sql | 12 ++++++++++++ 3 files changed, 79 insertions(+), 4 deletions(-)