postgresql/src/backend
Tom Lane 5dc692f78d Ensure proper alignment of tuples in HashMemoryChunkData buffers.
The previous coding relied (without any documentation) on the data[]
member of HashMemoryChunkData being at a MAXALIGN'ed offset.  If it
was not, the tuples would not be maxaligned either, leading to failures
on alignment-picky machines.  While there seems to be no live bug on any
platform we support, this is clearly pretty fragile: any addition to or
rearrangement of the fields in HashMemoryChunkData could break it.
Let's remove the hazard by getting rid of the data[] member and instead
using pointer arithmetic with an explicitly maxalign'ed offset.

Discussion: https://postgr.es/m/14483.1514938129@sss.pgh.pa.us
2018-01-02 21:23:06 -05:00
..
access Don't cast between GinNullCategory and bool 2018-01-02 12:20:56 -05:00
bootstrap Exclude flex-generated code from coverage testing 2017-10-16 16:28:11 -04:00
catalog Minor edits to catalog files and scripts 2017-12-21 19:07:32 -03:00
commands Fix deadlock hazard in CREATE INDEX CONCURRENTLY 2018-01-02 19:16:16 -03:00
executor Ensure proper alignment of tuples in HashMemoryChunkData buffers. 2018-01-02 21:23:06 -05:00
foreign Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
lib Rethink MemoryContext creation to improve performance. 2017-12-13 13:55:16 -05:00
libpq Move SCRAM-related name definitions to scram-common.h 2017-12-18 16:59:48 -05:00
main Install Windows crash dump handler before all else. 2017-11-12 14:31:00 -08:00
nodes Rearrange execution of PARAM_EXTERN Params for plpgsql's benefit. 2017-12-21 12:57:45 -05:00
optimizer Fix UNION/INTERSECT/EXCEPT over no columns. 2017-12-22 12:08:06 -05:00
parser Fix crash when using CALL on an aggregate 2017-12-13 10:37:48 -05:00
po Translation updates 2017-08-07 13:55:34 -04:00
port Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
postmaster Add parallel-aware hash joins. 2017-12-21 00:43:41 -08:00
regex Mop-up for commit 85feb77aa0. 2017-09-22 11:35:12 -04:00
replication Properly set base backup backends to active in pg_stat_activity 2017-12-29 16:28:32 +01:00
rewrite Fix creation of resjunk tlist entries for inherited mixed UPDATE/DELETE. 2017-11-27 17:54:07 -05:00
snowball Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
statistics Support boolean columns in functional-dependency statistics. 2017-12-04 11:51:43 -05:00
storage Fix race-under-concurrency in PathNameCreateTemporaryDir. 2017-12-27 10:56:14 -08:00
tcop Rearrange execution of PARAM_EXTERN Params for plpgsql's benefit. 2017-12-21 12:57:45 -05:00
tsearch Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
utils Protect against hypothetical memory leaks in RelationGetPartitionKey 2017-12-27 18:06:14 -03:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Inject $(ICU_LIBS) regardless of platform. 2017-08-20 21:22:18 -07:00
common.mk Add ICU_CFLAGS to global CPPFLAGS 2017-06-12 15:57:22 -04:00
nls.mk Translation updates 2017-05-15 12:19:54 -04:00