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.

Reply via email to