aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2024-02-02 15:34:29 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2024-02-02 15:34:29 -0500
commit329b9688208e43668b002bcc756b13e1afa75911 (patch)
treec2f37c10dd565495057b778f9bcd55cd0aea2375
parent35b8b2c4a3c67a1bb00bad7f7ead3dc7f15a416c (diff)
downloadpostgresql-329b9688208e43668b002bcc756b13e1afa75911.tar.gz
postgresql-329b9688208e43668b002bcc756b13e1afa75911.zip
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
-rw-r--r--src/backend/utils/error/elog.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 001b87ea999..8d33686510a 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -760,6 +760,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;