pgsql: Break out xxx2yyy_opt_overflow APIs for more datetime conversion
От | Tom Lane |
---|---|
Тема | pgsql: Break out xxx2yyy_opt_overflow APIs for more datetime conversion |
Дата | |
Msg-id | E1uXQZy-004ZLj-1E@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Break out xxx2yyy_opt_overflow APIs for more datetime conversions. Previous commits invented timestamp2timestamptz_opt_overflow, date2timestamp_opt_overflow, and date2timestamptz_opt_overflow functions to perform non-error-throwing conversions between datetime types. This patch completes the set by adding timestamp2date_opt_overflow, timestamptz2date_opt_overflow, and timestamptz2timestamp_opt_overflow. In addition, adjust timestamp2timestamptz_opt_overflow so that it doesn't throw error if timestamp2tm fails, but treats that as an overflow case. The situation probably can't arise except with an invalid timestamp value, and I can't think of a way that that would happen except data corruption. However, it's pretty silly to have a function whose entire reason for existence is to not throw errors for out-of-range inputs nonetheless throw an error for out-of-range input. The new APIs are not used in this patch, but will be needed in upcoming btree_gin changes. Author: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Arseniy Mukhin <arseniy.mukhin.dev@gmail.com> Discussion: https://postgr.es/m/262624.1738460652@sss.pgh.pa.us Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/0059bbe1ecaa5f7f19a8b3aae059f352c02e1d88 Modified Files -------------- src/backend/utils/adt/date.c | 86 ++++++++++++++++++++++++++++++++++++++- src/backend/utils/adt/timestamp.c | 81 +++++++++++++++++++++++++++++------- src/include/utils/date.h | 2 + src/include/utils/timestamp.h | 3 ++ 4 files changed, 156 insertions(+), 16 deletions(-)
В списке pgsql-committers по дате отправления: