On Fri, Mar 18, 2016 at 2:25 PM, Andres Freund <and...@anarazel.de> wrote: > On 2016-03-17 20:11:00 +0000, Robert Haas wrote: >> Improve memory management for external sorts. >> >> Introduce a new memory context which stores tuple data, and reset it >> at the end of each merge pass; this helps avoid memory fragmentation >> and, consequently, overallocation. Also, for the final merge patch, >> eliminate memory context chunk header overhead entirely by allocating >> all of the memory used for buffering tuples during the merge in a >> single chunk. Since this modestly increases the number of tuples we >> can store, grow the memtuples array a bit so that we're less likely to >> run short of slots there. >> >> Peter Geoghegan. Review and testing of patches in this series by >> Jeff Janes, Greg Stark, Mithun Cy, and me. > > Cross compiling for windows results in: > /home/andres/src/postgresql/src/backend/utils/sort/tuplesort.c: In function > ‘beginmerge’: > /home/andres/src/postgresql/src/backend/utils/sort/tuplesort.c:2695:34: > warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has > type ‘int64 {aka long long int}’ [-Wformat=] > elog(LOG, "tape %d initially used %ld KB of %ld KB batch " > ^ > /home/andres/src/postgresql/src/backend/utils/sort/tuplesort.c:2695:34: > warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has > type ‘int64 {aka long long int}’ [-Wformat=] > config.status: creating src/interfaces/ecpg/include/ecpg_config.h > > /home/andres/src/postgresql/src/backend/utils/sort/tuplesort.c: In > function ‘beginmerge’: > /home/andres/src/postgresql/src/backend/utils/sort/tuplesort.c:2695:34: > warning: format ‘%ld’ expects argument of type ‘long int’, but argument > 4 has type ‘int64 {aka long long int}’ [-Wformat=] > elog(LOG, "tape %d initially used %ld KB of %ld KB batch " > > Which seems like a valid complain on a LLP64 platform (i.e. where long > is 32bit) like windows.
Oops. Thanks for the report. Does this fix it? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers