From 1029bdec2d641f378eaa59f00a93b136f191f3c7 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Mon, 1 Jul 2024 12:11:10 +1200 Subject: [PATCH] Improve enlargeStringInfo's ERROR message Until now, when an enlargeStringInfo() call would cause the StringInfo to exceed its maximum size, we reported an "out of memory" error. This is misleading as it's no such thing. Here we remove the "out of memory" text and replace it with something more relevant to better indicate that it's a program limitation that's been reached. Reported-by: Michael Banck Reviewed-by: Daniel Gustafsson, Tom Lane Discussion: https://postgr.es/m/18484-3e357ade5fe50e61@postgresql.org --- src/common/stringinfo.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/stringinfo.c b/src/common/stringinfo.c index ec5fc2422d..eb9d6502fc 100644 --- a/src/common/stringinfo.c +++ b/src/common/stringinfo.c @@ -311,13 +311,13 @@ enlargeStringInfo(StringInfo str, int needed) #ifndef FRONTEND ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("out of memory"), + errmsg("string buffer exceeds maximum allowed length (%zu bytes)", MaxAllocSize), errdetail("Cannot enlarge string buffer containing %d bytes by %d more bytes.", str->len, needed))); #else fprintf(stderr, - _("out of memory\n\nCannot enlarge string buffer containing %d bytes by %d more bytes.\n"), - str->len, needed); + _("string buffer exceeds maximum allowed length (%zu bytes)\n\nCannot enlarge string buffer containing %d bytes by %d more bytes.\n"), + MaxAllocSize, str->len, needed); exit(EXIT_FAILURE); #endif }