Re: Use of "long" in incremental sort code
James Coleman <jtc331@gmail.com>
From: James Coleman <jtc331@gmail.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: David Rowley <dgrowleyml@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2020-07-02T16:01:21Z
Lists: pgsql-hackers
Attachments
- v1-0001-Use-unint64-instead-of-long-for-space-used-variab.patch (application/octet-stream) patch v1-0001
On Tue, Jun 30, 2020 at 7:21 AM Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > > On 2020-06-30 06:24, David Rowley wrote: > > On Tue, 30 Jun 2020 at 16:20, Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> 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.) > > > > I raised it mostly because this new-to-PG13-code is making the problem worse. > > Yeah, we recently got rid of a bunch of inappropriate use of long, so it > seems reasonable to make this new code follow that. I've attached a patch to make this change but with one tweak: I decided to use unint64 for both memory and disk (rather than Size in some cases) since we aggregated across multiple runs and have shared code that deals with both values. James
Commits
-
Use int64 instead of long in incremental sort code
- 6ee3b5fb990e 14.0 landed
- 22c105595fc7 13.0 landed