diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-04-28 14:52:29 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-04-28 14:52:29 -0300 |
commit | d3821e70c9b6d76083f4eb0f4cc25716e961c89d (patch) | |
tree | 95056cc698003fd6e689e102af43803dec7866a8 | |
parent | cbf9f0ec312e54481e777ffbe941b548d909081e (diff) | |
download | postgresql-d3821e70c9b6d76083f4eb0f4cc25716e961c89d.tar.gz postgresql-d3821e70c9b6d76083f4eb0f4cc25716e961c89d.zip |
Code review for multixact bugfix
Reword messages, rename a confusingly named function.
Per Robert Haas.
-rw-r--r-- | src/backend/access/transam/multixact.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index 7a5095723fc..c8faa177030 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -347,7 +347,7 @@ static void ExtendMultiXactMember(MultiXactOffset offset, int nmembers); static void DetermineSafeOldestOffset(MultiXactId oldestMXact); static bool MultiXactOffsetWouldWrap(MultiXactOffset boundary, MultiXactOffset start, uint32 distance); -static MultiXactOffset read_offset_for_multi(MultiXactId multi); +static MultiXactOffset find_multixact_start(MultiXactId multi); static void WriteMZeroPageXlogRec(int pageno, uint8 info); @@ -1074,12 +1074,12 @@ GetNewMultiXactId(int nmembers, MultiXactOffset *offset) ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), errmsg("multixact \"members\" limit exceeded"), - errdetail_plural("This command would create a multixact with %u members, which exceeds remaining space (%u member.)", - "This command would create a multixact with %u members, which exceeds remaining space (%u members.)", + errdetail_plural("This command would create a multixact with %u members, but the remaining space is only enough for %u member.", + "This command would create a multixact with %u members, but the remaining space is only enough for %u members.", MultiXactState->offsetStopLimit - nextOffset - 1, nmembers, MultiXactState->offsetStopLimit - nextOffset - 1), - errhint("Execute a database-wide VACUUM in database with OID %u, with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings.", + errhint("Execute a database-wide VACUUM in database with OID %u with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings.", MultiXactState->oldestMultiXactDB))); else if (MultiXactOffsetWouldWrap(MultiXactState->offsetStopLimit, nextOffset, @@ -1089,7 +1089,7 @@ GetNewMultiXactId(int nmembers, MultiXactOffset *offset) errmsg("database with OID %u must be vacuumed before %d more multixact members are used", MultiXactState->oldestMultiXactDB, MultiXactState->offsetStopLimit - nextOffset + nmembers), - errhint("Execute a database-wide VACUUM in that database, with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."))); + errhint("Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."))); ExtendMultiXactMember(nextOffset, nmembers); @@ -2487,7 +2487,7 @@ DetermineSafeOldestOffset(MultiXactId oldestMXact) * one-segment hole at a minimum. We start spewing warnings a few * complete segments before that. */ - oldestOffset = read_offset_for_multi(oldestMXact); + oldestOffset = find_multixact_start(oldestMXact); /* move back to start of the corresponding segment */ oldestOffset -= oldestOffset / MULTIXACT_MEMBERS_PER_PAGE * SLRU_PAGES_PER_SEGMENT; @@ -2543,20 +2543,16 @@ MultiXactOffsetWouldWrap(MultiXactOffset boundary, MultiXactOffset start, *----------------------------------------------------------------------- */ if (start < boundary) - { return finish >= boundary || finish < start; - } else - { return finish >= boundary && finish < start; - } } /* - * Read the offset of the first member of the given multixact. + * Find the starting offset of the given MultiXactId. */ static MultiXactOffset -read_offset_for_multi(MultiXactId multi) +find_multixact_start(MultiXactId multi) { MultiXactOffset offset; int pageno; @@ -2709,7 +2705,7 @@ TruncateMultiXact(void) * First, compute the safe truncation point for MultiXactMember. This is * the starting offset of the oldest multixact. */ - oldestOffset = read_offset_for_multi(oldestMXact); + oldestOffset = find_multixact_start(oldestMXact); /* * To truncate MultiXactMembers, we need to figure out the active page |