pgsql: Improve error message for MaxAllocSize overrun in accumArrayResu

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Improve error message for MaxAllocSize overrun in accumArrayResu
Date: 2023-07-14 14:38:30
Message-ID: E1qKJwE-000LIU-8h@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Improve error message for MaxAllocSize overrun in accumArrayResult.

Before, if you went past about 64M array elements in array_agg() and
allied functions, you got a generic "invalid memory alloc request
size" error. This patch replaces that with "array size exceeds the
maximum allowed", which seems more user-friendly since it points you
to needing to reduce the size of your array result. (This is the
same error text you'd get from construct_md_array in the event of
overrunning the maximum physical size for the finished array.)

Per question from Shaozhong Shi. Since this hasn't come up often,
I don't feel a need to back-patch.

Discussion: https://postgr.es/m/CA+i5JwYtVS9z2E71PcNKAVPbOn4R2wuj-LqbJsYr_XOz73q7dQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b8d3dae00f6c49d0c41abd5b36e2588a81abe5be

Modified Files
--------------
src/backend/utils/adt/arrayfuncs.c | 6 ++++++
1 file changed, 6 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2023-07-14 15:46:42 pgsql: Account for optimized MinMax aggregates during SS_finalize_plan.
Previous Message Amit Langote 2023-07-14 05:56:56 pgsql: Add missing initializations of p_perminfo