I created a patch to fix it. Really appreciate to anyone can help to review it. Thanks.
________________________________ From: Hongxu Ma <inte...@outlook.com> Sent: Saturday, August 26, 2023 19:19 To: David G. Johnston <david.g.johns...@gmail.com> Cc: PostgreSQL Hackers <pgsql-hack...@postgresql.org> Subject: Re: PSQL error: total cell count of XXX exceeded Thank you David. >From the code logic, I don't think this check is meant to check the limit: If it enters the double-loop (cont.nrows * cont.ncolumns) in printQuery(), the check should be always false (except overflow happened). So, if want to check the limit, we could have done this check before the double-loop: just checking PGresult and reports error earlier. > I wouldn’t be adverse to an improved error message, and possibly documenting > said limit. Agreed with you, current error message may even report a negative value, it's very confusing for user. It's better to introduce a limit here. Or using a bigger integer type (e.g. long) for them, but it's also have the theoretical upbound. Thanks. ________________________________ From: David G. Johnston <david.g.johns...@gmail.com> Sent: Saturday, August 26, 2023 12:09 To: Hongxu Ma <inte...@outlook.com> Cc: PostgreSQL Hackers <pgsql-hack...@postgresql.org> Subject: Re: PSQL error: total cell count of XXX exceeded On Friday, August 25, 2023, Hongxu Ma <inte...@outlook.com<mailto:inte...@outlook.com>> wrote: When I tried to select a big amount of rows, psql complains a error "Cannot add cell to table content: total cell count of 905032704 exceeded." We should use long for ncolumns and nrows and give a more obvious error message here. Any thoughts? or some other hidden reasons? 9 millions cells seems more than realistic a limit for a psql query result output. In any case it isn’t a bug, the code demonstrates that fact by producing an explicit error. I wouldn’t be adverse to an improved error message, and possibly documenting said limit. David J.
0001-Using-long-type-in-printTableAddCell.patch
Description: 0001-Using-long-type-in-printTableAddCell.patch