Re: Why don't we have a small reserved OID range for patch revisions? - Mailing list pgsql-hackers
From | Robert Haas |
---|---|
Subject | Re: Why don't we have a small reserved OID range for patch revisions? |
Date | |
Msg-id | CA+TgmoY_6fBrUjMHWmyGWrjiQrgo5Y36TbLk-7ZR1=Ct=GLiiA@mail.gmail.com Whole thread Raw |
In response to | Re: Why don't we have a small reserved OID range for patch revisions? (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: Why don't we have a small reserved OID range for patch revisions?
Re: Why don't we have a small reserved OID range for patch revisions? |
List | pgsql-hackers |
On Thu, Feb 28, 2019 at 10:27 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > This seems like a big piece of new mechanism being invented > > to solve an occasional annoyance. Your statistics are not convincing > > at all: you're arguing that this is a big problem because 2-3% of > > pending patches current have an issue here, and some others have in > > the past, but that's a really small percentage, and the time spent > > doing OID renumbering must be a tiny percentage of the total time > > anyone spends hacking on PostgreSQL. > > TBH, I find this position utterly baffling. It's true that only a > small percentage of patches have an issue here, because only a small > percentage of patches dabble in manually-assigned OIDs at all. But > *among those that do*, there is a huge problem. I had not actually > realized how bad it is until I gathered those stats, but it's bad. > > I don't understand the objection to inventing a mechanism that will > help those patches and has no impact whatever when working on patches > that don't involve manually-assigned OIDs. > > And, yeah, I'd like us not to have patches hanging around for years > either, but that's a reality that's not going away. I don't think this is the worst proposal ever. However, I also think that it's not unreasonable to raise the issue that writing OR reviewing OR committing a patch already involves adhering to a thicket of undocumented rules. When somebody fails to adhere to one of those rules, they get ignored or publicly shamed. Now you want to add yet another step to the process - really two. If you want to submit a patch that requires new catalog entries, you must know that you're supposed to put those OIDs in this new range that we're going to set aside for such things, and if you want to commit one, you must know that you're suppose to renumber those OID assignments into some other range. And people are going to screw it up - submitters are going to fail to know about this new policy (which will probably be documented nowhere, just like all the other ones) - and committers are going to fail to remember to renumber things. So, I suspect that for every unit of work it saves somebody, it's probably going to generate about one unit of extra work for somebody else. A lot of projects have a much less painful process for getting patches integrated than we do. I don't know how those projects maintain adequate code quality, but I do know that making it easy to get a patch accepted makes people more likely to contribute patches, and increases overall development velocity. It is not even vaguely unreasonable to worry about whether making this more complicated is going to hurt more than it helps, and I don't know why you think otherwise. > > but > > just as a thought, what if we stopped assigning manual OIDs for new > > catalog entries altogether, except for once at the end of each release > > cycle? > > And that's another idea without any basis in reality. What are you > going to do instead? What mechanism will you use to track these > OIDs so you can clean up later? Right now every entry in pg_proc.dat includes an OID assignment. What I'm proposing is that we would also allow entries that did not have one, and the build process would assign one while processing the .dat files. Then later, somebody could use a script that went through and rewrote the .dat file to add OID assignments to any entries that lacked them. Since the topic of having tools for automated rewrite of those files has been discussed at length, and since we already have a script called reformat_dat_file.pl in the tree which contains comments indicating that it could be modified for bulk editing, said script having been committed BY YOU, I don't understand why you think that bulk editing is infeasible. > Who's going to write the code that > will support this? Not me. I think the proposal that is on the > table is superior. OK. Well, I think that doing nothing is superior to this proposal, for reasons similar to what Peter Eisentraut has already articulated. And I think rather than blasting forward with your own preferred alternative in the face of disagreement, you should be willing to discuss other possible options. But if you're not willing to do that, I can't make you. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
pgsql-hackers by date: