mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
Fix alignment problems with SharedInvalSmgrMsg.
SharedInvalSmgrMsg can't require 8-byte alignment, because then
SharedInvalidationMessage will require 8-byte alignment, which will
then cause ParseCommitRecord to fail on machines that are picky
about alignment, because it assumes that everything that gets
packed into a commit record requires only 4-byte alignment.
Another problem with 05d4cbf9b6.
Discussion: http://postgr.es/m/3825454.1664310917@sss.pgh.pa.us
This commit is contained in:
@@ -86,11 +86,14 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* note: field layout chosen to pack into 16 bytes */
|
||||
/* note: field layout chosen to pack into 20 bytes */
|
||||
int8 id; /* type field --- must be first */
|
||||
int8 backend_hi; /* high bits of backend ID, if temprel */
|
||||
uint16 backend_lo; /* low bits of backend ID, if temprel */
|
||||
RelFileLocator rlocator; /* spcOid, dbOid, relNumber */
|
||||
Oid dbOid;
|
||||
Oid spcOid;
|
||||
uint32 relNumber_hi; /* avoid 8 byte alignment requirement */
|
||||
uint32 relNumber_lo;
|
||||
} SharedInvalSmgrMsg;
|
||||
|
||||
#define SHAREDINVALRELMAP_ID (-4)
|
||||
|
||||
Reference in New Issue
Block a user