postgres.git / summary / log / commit / refs
commit 3766b8b64e1c6e2798accd321b1d027553ca7ae3
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri Feb 02 20:34:29 2024 +0000
First released in: 17.0, 12.18, 13.14, 14.11, 15.6, 16.2
Translate ENOMEM to ERRCODE_OUT_OF_MEMORY in errcode_for_file_access().
Previously you got ERRCODE_INTERNAL_ERROR, which seems inappropriate,
especially given that we're trying to avoid emitting that in reachable
cases.
Alexander Kuzmenkov
Discussion: https://postgr.es/m/CALzhyqzgQph0BY8-hFRRGdHhF8CoqmmDHW9S=hMZ-HMzLxRqDQ@mail.gmail.com
src/backend/utils/error/elog.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 6fa4f2c3424..01066832e18 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -755,6 +755,10 @@ errcode_for_file_access(void)
edata->sqlerrcode = ERRCODE_DISK_FULL;
break;
+ case ENOMEM: /* Out of memory */
+ edata->sqlerrcode = ERRCODE_OUT_OF_MEMORY;
+ break;
+
case ENFILE: /* File table overflow */
case EMFILE: /* Too many open files */
edata->sqlerrcode = ERRCODE_INSUFFICIENT_RESOURCES;
[parent: 8fa4a1ac6118]