Обсуждение: pgsql: Make many cast functions error safe
Make many cast functions error safe This adjusts many C functions underlying casts to support soft errors. This is in preparation for a future feature where conversion errors in casts can be caught. This patch covers cast functions that can be adjusted easily by changing ereport to ereturn or making other light changes. The underlying helper functions were already changed to support soft errors some time ago as part of soft error support in type input functions. Other casts and types will require some more work and are being kept as separate patches. Author: jian he <jian.universality@gmail.com> Reviewed-by: Amul Sul <sulamul@gmail.com> Reviewed-by: Corey Huinker <corey.huinker@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/CADkLM%3Dfv1JfY4Ufa-jcwwNbjQixNViskQ8jZu3Tz_p656i_4hQ%40mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/e2f289e5b9b82acaf1523fda827e71b8fc8bd549 Modified Files -------------- src/backend/executor/execExprInterp.c | 2 +- src/backend/utils/adt/bytea.c | 8 ++--- src/backend/utils/adt/char.c | 2 +- src/backend/utils/adt/date.c | 35 +++++++++---------- src/backend/utils/adt/float.c | 8 ++--- src/backend/utils/adt/int.c | 2 +- src/backend/utils/adt/int8.c | 10 +++--- src/backend/utils/adt/mac8.c | 2 +- src/backend/utils/adt/network.c | 2 +- src/backend/utils/adt/numeric.c | 64 +++++++++++++++++++++++++---------- src/backend/utils/adt/timestamp.c | 23 ++++++++++--- src/backend/utils/adt/varbit.c | 8 ++--- src/backend/utils/adt/varchar.c | 4 +-- src/backend/utils/adt/xml.c | 12 ++++--- src/include/utils/xml.h | 2 +- 15 files changed, 116 insertions(+), 68 deletions(-)