diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2022-12-14 17:50:24 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2022-12-14 17:50:24 -0500 |
commit | 47f3f97fcdee28e3eb70cd2ebfd7b4899570b018 (patch) | |
tree | 443f2edbb1c19fe1925f87f30e0edf66bc557b30 /src/backend/utils/adt/xid8funcs.c | |
parent | 332741e73980401895e027eb697bb472860036fb (diff) | |
download | postgresql-47f3f97fcdee28e3eb70cd2ebfd7b4899570b018.tar.gz postgresql-47f3f97fcdee28e3eb70cd2ebfd7b4899570b018.zip |
Convert a few more datatype input functions to report errors softly.
Convert assorted internal-ish datatypes, namely aclitemin,
int2vectorin, oidin, oidvectorin, pg_lsn_in, pg_snapshot_in,
and tidin to the new style.
(Some others you might expect to find in this group, such as
cidin and xidin, need no changes because they never throw
errors at all. That seems a little cheesy ... but it is not in
the charter of this patch series to add new error conditions.)
Amul Sul, minor mods by me
Discussion: https://postgr.es/m/CAAJ_b97KeDWUdpTKGOaFYPv0OicjOu6EW+QYWj-Ywrgj_aEy1g@mail.gmail.com
Diffstat (limited to 'src/backend/utils/adt/xid8funcs.c')
-rw-r--r-- | src/backend/utils/adt/xid8funcs.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/backend/utils/adt/xid8funcs.c b/src/backend/utils/adt/xid8funcs.c index d8e40b3b969..2093776809f 100644 --- a/src/backend/utils/adt/xid8funcs.c +++ b/src/backend/utils/adt/xid8funcs.c @@ -285,7 +285,7 @@ buf_finalize(StringInfo buf) * parse snapshot from cstring */ static pg_snapshot * -parse_snapshot(const char *str) +parse_snapshot(const char *str, Node *escontext) { FullTransactionId xmin; FullTransactionId xmax; @@ -341,11 +341,10 @@ parse_snapshot(const char *str) return buf_finalize(buf); bad_format: - ereport(ERROR, + ereturn(escontext, NULL, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("invalid input syntax for type %s: \"%s\"", "pg_snapshot", str_start))); - return NULL; /* keep compiler quiet */ } /* @@ -447,7 +446,7 @@ pg_snapshot_in(PG_FUNCTION_ARGS) char *str = PG_GETARG_CSTRING(0); pg_snapshot *snap; - snap = parse_snapshot(str); + snap = parse_snapshot(str, fcinfo->context); PG_RETURN_POINTER(snap); } |