Re: WIP: [[Parallel] Shared] Hash
Thomas Munro <thomas.munro@enterprisedb.com>
On Mon, Mar 27, 2017 at 11:03 AM, Thomas Munro <thomas.munro@enterprisedb.com> >> Is there a risk that this ends up running afoul of filename length >> limits on some platforms? > > Hmm. I didn't think so. Do we have a project guideline on maximum > path lengths based on some kind of survey? There are various limits > involved (filesystem and OS per-path-component limits, total limits, > and the confusing PATH_MAX, MAX_PATH etc macros), but I was under the > impression that these numbers were always at least 255. This scheme > seems capable of producing ~50 bytes in the final component > (admittedly more if int is 64 bits), and then nowhere near enough to > reach a limit of that order in the earlier components. Err, plus prefix. Still seems unlikely to be too long. >> I'm a bit unhappy with the partition terminology around this. It's >> getting a bit confusing. We have partitions, participants and >> segements. Most of them could be understood for something entirely >> different than the meaning you have here... > > Ok. Let me try to explain and defend them and see if we can come up > with something better. > > 1. Segments are what buffile.c already calls the individual > capped-at-1GB files that it manages. They are an implementation > detail that is not part of buffile.c's user interface. There seems to > be no reason to change that. After reading your next email I realised this is not quite true: BufFileTell and BufFileSeek expose the existence of segments. -- Thomas Munro http://www.enterprisedb.com
Commits
-
Add shared tuplestores.
- ab9e0e718acb 11.0 landed
-
Remove BufFile's isTemp flag.
- 11e264517dff 11.0 landed
-
Provide DSM segment to ExecXXXInitializeWorker functions.
- 7082e614c0dd 11.0 landed
-
Optimize joins when the inner relation can be proven unique.
- 9c7f5229ad68 10.0 cited
-
Fix failure to use clamp_row_est() for parallel joins.
- 1ea60ad602f9 10.0 cited
-
Document lack of validation when attaching foreign partitions.
- b54aad8e34bd 10.0 cited
-
Fix inclusions of c.h from .h files.
- a72f0365db41 10.0 landed
-
Fix inclusions of postgres_fe.h from .h files.
- 9722bb5757c5 10.0 landed
-
Bring plpgsql into line with header inclusion policy.
- 08da52859a1f 10.0 landed
-
Document intentional violations of header inclusion policy.
- d6b059ec740a 10.0 landed
-
Shut down Gather's children before shutting down Gather itself.
- acf555bc53ac 10.0 landed
-
btree: Support parallel index scans.
- 569174f1be92 10.0 cited
-
Add explicit ORDER BY to a few tests that exercise hash-join code.
- 7c5d8c16e12e 10.0 landed
-
Revise hash join code so that we can increase the number of batches
- 849074f9ae42 8.1.0 cited
-
Rewrite hash join to use simple linked lists instead of a
- 26069a58e8e4 7.1.1 cited