Re: FlexLocks
Kevin Grittner <kevin.grittner@wicourts.gov>
From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
To: "Robert Haas" <robertmhaas@gmail.com>
Cc: "Simon Riggs" <simon@2ndquadrant.com>, "Alvaro Herrera" <alvherre@commandprompt.com>, "Pg Hackers" <pgsql-hackers@postgresql.org>, "Tom Lane" <tgl@sss.pgh.pa.us>
Date: 2011-11-16T17:25:15Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix copyright notices, other minor editing in new range-types code.
- f1585362856d 9.2.0 cited
Robert Haas <robertmhaas@gmail.com> wrote: > Kevin Grittner <Kevin.Grittner@wicourts.gov> wrote: >> Is there any way to typedef our way out of it [?] > Well, if we just say: > > typedef FlexLockId LWLockId; > > ...that's about equivalent to the #define from the compiler's > point of view. Bummer -- I was hoping there was some equivalent to "subclassing" that I just didn't know about. :-( > We could alternatively change one or the other of them to be a > struct with one member, but I think the cure might be worse than > the disease. By my count, we are talking about saving perhaps as > many as 34 lines of code changes here, and that's only if > complicating the type handling doesn't require any changes to > places that are untouched at present, which I suspect it would. So I stepped through all the changes of this type, and I notice that most of them are in areas where we've talked about likely benefits of creating new FlexLock variants instead of staying with LWLocks; if any of that is done (as seems likely), it further reduces the impact from 34 lines. If we take care of LWLockHeldByMe() as you describe, I'll concede the FlexLockId changes. -Kevin