]> granicus.if.org Git - postgresql/commitdiff
Slightly reorganize struct SnapshotData.
authorRobert Haas <rhaas@postgresql.org>
Sat, 7 Jan 2012 03:56:00 +0000 (22:56 -0500)
committerRobert Haas <rhaas@postgresql.org>
Sat, 7 Jan 2012 03:56:00 +0000 (22:56 -0500)
This squeezes out a bunch of alignment padding, reducing the size
from 72 to 56 bytes on my machine.  At least in my testing, this
didn't produce any measurable performance improvement, but the space
savings seem like enough justification.

Andres Freund

src/include/utils/snapshot.h

index 93c02fa42d3e4bdb665f9bb416e87d1e1fc26bec..900272e7043de33e592ec75aef5b984d449b7c40 100644 (file)
@@ -46,13 +46,14 @@ typedef struct SnapshotData
         */
        TransactionId xmin;                     /* all XID < xmin are visible to me */
        TransactionId xmax;                     /* all XID >= xmax are invisible to me */
-       uint32          xcnt;                   /* # of xact ids in xip[] */
        TransactionId *xip;                     /* array of xact IDs in progress */
+       uint32          xcnt;                   /* # of xact ids in xip[] */
        /* note: all ids in xip[] satisfy xmin <= xip[i] < xmax */
        int32           subxcnt;                /* # of xact ids in subxip[] */
        TransactionId *subxip;          /* array of subxact IDs in progress */
        bool            suboverflowed;  /* has the subxip array overflowed? */
        bool            takenDuringRecovery;    /* recovery-shaped snapshot? */
+       bool            copied;                 /* false if it's a static snapshot */
 
        /*
         * note: all ids in subxip[] are >= xmin, but we don't bother filtering
@@ -61,7 +62,6 @@ typedef struct SnapshotData
        CommandId       curcid;                 /* in my xact, CID < curcid are visible */
        uint32          active_count;   /* refcount on ActiveSnapshot stack */
        uint32          regd_count;             /* refcount on RegisteredSnapshotList */
-       bool            copied;                 /* false if it's a static snapshot */
 } SnapshotData;
 
 /*