|
PostgreSQL Source Code git master
|

Go to the source code of this file.
Macros | |
| #define | MultiXactOffset should_not_be_used |
| #define | MULTIXACT_OFFSETS_PER_PAGE (BLCKSZ / sizeof(MultiXactOffset32)) |
| #define | MXACT_MEMBER_BITS_PER_XACT 8 |
| #define | MXACT_MEMBER_FLAGS_PER_BYTE 1 |
| #define | MXACT_MEMBER_XACT_BITMASK ((1 << MXACT_MEMBER_BITS_PER_XACT) - 1) |
| #define | MULTIXACT_FLAGBYTES_PER_GROUP 4 |
| #define | MULTIXACT_MEMBERS_PER_MEMBERGROUP (MULTIXACT_FLAGBYTES_PER_GROUP * MXACT_MEMBER_FLAGS_PER_BYTE) |
| #define | MULTIXACT_MEMBERGROUP_SIZE (sizeof(TransactionId) * MULTIXACT_MEMBERS_PER_MEMBERGROUP + MULTIXACT_FLAGBYTES_PER_GROUP) |
| #define | MULTIXACT_MEMBERGROUPS_PER_PAGE (BLCKSZ / MULTIXACT_MEMBERGROUP_SIZE) |
| #define | MULTIXACT_MEMBERS_PER_PAGE (MULTIXACT_MEMBERGROUPS_PER_PAGE * MULTIXACT_MEMBERS_PER_MEMBERGROUP) |
Functions | |
| static int64 | MultiXactIdToOffsetPage (MultiXactId multi) |
| static int | MultiXactIdToOffsetEntry (MultiXactId multi) |
| static int64 | MXOffsetToMemberPage (MultiXactOffset32 offset) |
| static int | MXOffsetToFlagsOffset (MultiXactOffset32 offset) |
| static int | MXOffsetToMemberOffset (MultiXactOffset32 offset) |
| static int | MXOffsetToFlagsBitShift (MultiXactOffset32 offset) |
| OldMultiXactReader * | AllocOldMultiXactRead (char *pgdata, MultiXactId nextMulti, MultiXactOffset32 nextOffset) |
| bool | GetOldMultiXactIdSingleMember (OldMultiXactReader *state, MultiXactId multi, MultiXactMember *member) |
| void | FreeOldMultiXactReader (OldMultiXactReader *state) |
| #define MULTIXACT_FLAGBYTES_PER_GROUP 4 |
Definition at line 65 of file multixact_read_v18.c.
| #define MULTIXACT_MEMBERGROUP_SIZE (sizeof(TransactionId) * MULTIXACT_MEMBERS_PER_MEMBERGROUP + MULTIXACT_FLAGBYTES_PER_GROUP) |
Definition at line 69 of file multixact_read_v18.c.
| #define MULTIXACT_MEMBERGROUPS_PER_PAGE (BLCKSZ / MULTIXACT_MEMBERGROUP_SIZE) |
Definition at line 71 of file multixact_read_v18.c.
| #define MULTIXACT_MEMBERS_PER_MEMBERGROUP (MULTIXACT_FLAGBYTES_PER_GROUP * MXACT_MEMBER_FLAGS_PER_BYTE) |
Definition at line 66 of file multixact_read_v18.c.
| #define MULTIXACT_MEMBERS_PER_PAGE (MULTIXACT_MEMBERGROUPS_PER_PAGE * MULTIXACT_MEMBERS_PER_MEMBERGROUP) |
Definition at line 72 of file multixact_read_v18.c.
| #define MULTIXACT_OFFSETS_PER_PAGE (BLCKSZ / sizeof(MultiXactOffset32)) |
Definition at line 33 of file multixact_read_v18.c.
| #define MultiXactOffset should_not_be_used |
Definition at line 30 of file multixact_read_v18.c.
| #define MXACT_MEMBER_BITS_PER_XACT 8 |
Definition at line 60 of file multixact_read_v18.c.
| #define MXACT_MEMBER_FLAGS_PER_BYTE 1 |
Definition at line 61 of file multixact_read_v18.c.
| #define MXACT_MEMBER_XACT_BITMASK ((1 << MXACT_MEMBER_BITS_PER_XACT) - 1) |
Definition at line 62 of file multixact_read_v18.c.
| OldMultiXactReader * AllocOldMultiXactRead | ( | char * | pgdata, |
| MultiXactId | nextMulti, | ||
| MultiXactOffset32 | nextOffset | ||
| ) |
Definition at line 119 of file multixact_read_v18.c.
References AllocSlruRead(), MAXPGPATH, pg_malloc(), and pg_sprintf().
Referenced by rewrite_multixacts().
| void FreeOldMultiXactReader | ( | OldMultiXactReader * | state | ) |
Definition at line 334 of file multixact_read_v18.c.
References FreeSlruRead(), and pfree().
Referenced by rewrite_multixacts().
| bool GetOldMultiXactIdSingleMember | ( | OldMultiXactReader * | state, |
| MultiXactId | multi, | ||
| MultiXactMember * | member | ||
| ) |
Definition at line 158 of file multixact_read_v18.c.
References buf, FirstMultiXactId, i, InvalidTransactionId, ISUPDATE_from_mxstatus, MultiXactIdToOffsetEntry(), MultiXactIdToOffsetPage(), MXACT_MEMBER_XACT_BITMASK, MXOffsetToFlagsBitShift(), MXOffsetToFlagsOffset(), MXOffsetToMemberOffset(), MXOffsetToMemberPage(), pg_fatal, SlruReadSwitchPage(), MultiXactMember::status, TransactionIdIsValid, and MultiXactMember::xid.
Referenced by rewrite_multixacts().
|
inlinestatic |
Definition at line 42 of file multixact_read_v18.c.
References MULTIXACT_OFFSETS_PER_PAGE.
Referenced by ExtendMultiXactOffset(), find_multixact_start(), GetMultiXactIdMembers(), GetOldMultiXactIdSingleMember(), RecordMultiXactOffset(), RecordNewMultiXact(), and TrimMultiXact().
|
inlinestatic |
Definition at line 36 of file multixact_read_v18.c.
References MULTIXACT_OFFSETS_PER_PAGE.
Referenced by ExtendMultiXactOffset(), find_multixact_start(), GetMultiXactIdMembers(), GetOldMultiXactIdSingleMember(), multixact_redo(), PerformOffsetsTruncation(), RecordMultiXactOffset(), RecordNewMultiXact(), rewrite_multixacts(), StartupMultiXact(), and TrimMultiXact().
|
inlinestatic |
Definition at line 105 of file multixact_read_v18.c.
References MULTIXACT_MEMBERS_PER_MEMBERGROUP, and MXACT_MEMBER_BITS_PER_XACT.
Referenced by ExtendMultiXactMember(), GetMultiXactIdMembers(), GetOldMultiXactIdSingleMember(), RecordMultiXactMembers(), and RecordNewMultiXact().
|
inlinestatic |
Definition at line 84 of file multixact_read_v18.c.
References MULTIXACT_MEMBERGROUP_SIZE, MULTIXACT_MEMBERGROUPS_PER_PAGE, and MULTIXACT_MEMBERS_PER_MEMBERGROUP.
Referenced by ExtendMultiXactMember(), GetMultiXactIdMembers(), GetOldMultiXactIdSingleMember(), MXOffsetToMemberOffset(), RecordMultiXactMembers(), RecordNewMultiXact(), and TrimMultiXact().
|
inlinestatic |
Definition at line 95 of file multixact_read_v18.c.
References MULTIXACT_FLAGBYTES_PER_GROUP, MULTIXACT_MEMBERS_PER_MEMBERGROUP, and MXOffsetToFlagsOffset().
Referenced by GetMultiXactIdMembers(), GetOldMultiXactIdSingleMember(), RecordMultiXactMembers(), RecordNewMultiXact(), and TrimMultiXact().
|
inlinestatic |
Definition at line 77 of file multixact_read_v18.c.
References MULTIXACT_MEMBERS_PER_PAGE.
Referenced by ExtendMultiXactMember(), GetMultiXactIdMembers(), GetOldMultiXactIdSingleMember(), PerformMembersTruncation(), RecordMultiXactMembers(), RecordNewMultiXact(), rewrite_multixacts(), StartupMultiXact(), and TrimMultiXact().