diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2021-03-31 09:15:51 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2021-03-31 09:16:25 +0200 |
commit | 91c5a8caaa61055959aa5fb68a00e5f690e39a34 (patch) | |
tree | 57749510770bcb337e191e0053a69248ef7ad917 /src/backend/utils/error/elog.c | |
parent | 287d2a97c1de07486e4525c8ad06258f04bd6268 (diff) | |
download | postgresql-91c5a8caaa61055959aa5fb68a00e5f690e39a34.tar.gz postgresql-91c5a8caaa61055959aa5fb68a00e5f690e39a34.zip |
Add errhint_plural() function and make use of it
Similar to existing errmsg_plural() and errdetail_plural(). Some
errhint() calls hadn't received the proper plural treatment yet.
Diffstat (limited to 'src/backend/utils/error/elog.c')
-rw-r--r-- | src/backend/utils/error/elog.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index e729ebece7b..9e4ea1b345a 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -1167,6 +1167,29 @@ errhint(const char *fmt,...) /* + * errhint_plural --- add a hint error message text to the current error, + * with support for pluralization of the message text + */ +int +errhint_plural(const char *fmt_singular, const char *fmt_plural, + unsigned long n,...) +{ + ErrorData *edata = &errordata[errordata_stack_depth]; + MemoryContext oldcontext; + + recursion_depth++; + CHECK_STACK_DEPTH(); + oldcontext = MemoryContextSwitchTo(edata->assoc_context); + + EVALUATE_MESSAGE_PLURAL(edata->domain, hint, false); + + MemoryContextSwitchTo(oldcontext); + recursion_depth--; + return 0; /* return value does not matter */ +} + + +/* * errcontext_msg --- add a context error message text to the current error * * Unlike other cases, multiple calls are allowed to build up a stack of |