First, let's talk numbers: this CF started with 106 patches, peaked at 108 patches, and finished with 102 patches (6 were moved to September). This is over 50% more patches than we've had for the first CommitFest of the annual development cycle and more patches than we've had in any single CF before. Last year, CF1 only involved 59 patches. So if you are a committer and you feel exhausted, that's why. Some graphs:
Why so many patches? Well, I can think of a few reasons:
- contributions from the staffs of SalesForce and Huawei
- beginning of 2ndQuadrant's work on streaming logical replication
- a bunch of regression test patches
- some new major contributors, including one from Google Summer of Code
- more people submitting WIP patches to get spec feedback
So what did we get out of all this patch activity? Some highlight features:
- new pgbench options
- ALTER TABLE ... ALTER CONSTRAINT
- improvements in compression of BLOBs and large rows
- a bunch more regression tests
- REFRESH MATERIALIZED VIEW CONCURRENTLY
- create background workers at runtime
- FILTER option for aggregates
- Part 1 of streaming logical replication
- WITH ORDINALITY to supply "row numbers" for set-returning functions
So, what are we going to do to handle more patches? I have some thoughts on that in my next blog post ...
Hi,
ReplyDeleteA nice summary.
Btw, in the previous CommitFest, what will be happened with patches marked as "Returned with Feedback"?
Will it be moved to next CommitFest?
If I'm not mistaken, this 9.4CF1, contains valuable tsearch2 optimization from A. Korotkov.
The author of a "Returned with Feedback" patch is encouraged to update their submission and resubmit it for the next CommitFest. They don't get moved forward automatically.
DeleteWe don't move most patches automatically to the next commitfest for two reasons: (1) generally the author needs to make changes to the patch somehow before the next CF, and (2) the author needs to *be available* during the next CF. For any individual author either of those things could not happen. Maybe they need to skip the next CF and move to the succeeding one. Maybe they're now rethinking their whole approach.
DeleteThe ones I moved were moved because they were already near commit, and were only on hold because people were still discussing spec items.