Re: Re: BUG #12990: Missing pg_multixact/members files (appears to have wrapped, then truncated)
От | Alvaro Herrera |
---|---|
Тема | Re: Re: BUG #12990: Missing pg_multixact/members files (appears to have wrapped, then truncated) |
Дата | |
Msg-id | 20150428145614.GA4369@alvh.no-ip.org обсуждение исходный текст |
Ответ на | Re: Re: BUG #12990: Missing pg_multixact/members files (appears to have wrapped, then truncated) (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Re: BUG #12990: Missing pg_multixact/members files
(appears to have wrapped, then truncated)
Re: Re: BUG #12990: Missing pg_multixact/members files (appears to have wrapped, then truncated) |
Список | pgsql-bugs |
I sure wish this had arrived two minutes earlier ... Robert Haas wrote: > Putting the period inside the parentheses here looks weird? > > + "This command would create a > multixact with %u members, which exceeds remaining space (%u > members.)", > > Maybe rephrase as: "This command would create a multixact with %u > members, but the remaining space is only enough for %u members." WFM, will change. > I don't think this should have a comma: > > + errhint("Execute a database-wide VACUUM in that > database, with reduced vacuum_multixact_freeze_min_age and > vacuum_multixact_freeze_table_age settings."))); Ditto. > This looks like excess brace-ifiaction: > > + if (start < boundary) > + { > + return finish >= boundary || finish < start; > + } > + else > + { > + return finish >= boundary && finish < start; > + } Yeah, agreed. Will undo that change. (I disliked the comment above the indented single-statement, so added braces, but then moved the comment. I should have removed the braces at that point.) > I think this is confusing: > > +/* > + * Read the offset of the first member of the given multixact. > + */ > > This is confusing to me because the two subdirectories of pg_multixact > are called "members" and "offsets". Here you are talking about the > offset of the first member. Maybe I'm just slow, but that seems like > conflating terminology. You end up with a function called > read_offset_for_multi() that is actually looking up information about > members. Ick. Yeah, I introduced the confusing terminology while inventing multixacts initially and have regretted it many times. I will think about a better name for this. (Meanwhile, on IM Robert suggested find_start_of_first_multi_member) -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-bugs по дате отправления: