From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | David Rowley <dgrowleyml(at)gmail(dot)com> |
Cc: | James Coleman <jtc331(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Use of "long" in incremental sort code |
Date: | 2020-06-30 04:20:00 |
Message-ID: | 452412.1593490800@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
David Rowley <dgrowleyml(at)gmail(dot)com> writes:
> I noticed the incremental sort code makes use of the long datatype a
> few times, e.g in TuplesortInstrumentation and
> IncrementalSortGroupInfo. (64-bit windows machines have sizeof(long)
> == 4). I understand that the values are in kilobytes and it would
> take 2TB to cause them to wrap. Never-the-less, I think it would be
> better to choose a better-suited type. work_mem is still limited to
> 2GB on 64-bit Windows machines, so perhaps there's some argument that
> it does not matter about fields that related to in-memory stuff, but
> the on-disk fields are wrong. The in-memory fields likely raise the
> bar further for fixing the 2GB work_mem limit on Windows.
> Maybe Size would be better for the in-memory fields and uint64 for the
> on-disk fields?
There is a fairly widespread issue that memory-size-related GUCs and
suchlike variables are limited to represent sizes that fit in a "long".
Although Win64 is the *only* platform where that's an issue, maybe
it's worth doing something about. But we shouldn't just fix the sort
code, if we do do something.
(IOW, I don't agree with doing a fix that doesn't also fix work_mem.)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Bapat | 2020-06-30 04:22:44 | Re: POC: postgres_fdw insert batching |
Previous Message | Michael Paquier | 2020-06-30 04:13:39 | Re: [PATCH] Better cleanup in TLS tests for -13beta2 |