aboutsummaryrefslogtreecommitdiff
path: root/src/backend
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
commit3766b8b64e1c6e2798accd321b1d027553ca7ae3 (patch)
treecac125e63c2b51d618e96902b65d0e69b6248590 /src/backend
parent8fa4a1ac61189efffb8b851ee77e1bc87360c445 (diff)
downloadpostgresql-3766b8b64e1c6e2798accd321b1d027553ca7ae3.tar.gz
postgresql-3766b8b64e1c6e2798accd321b1d027553ca7ae3.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
Diffstat (limited to 'src/backend')
-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 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;