今年はPostgreSQL開発に参画してみたいという人のためにレビューしやすいパッチを選びました
昨年9月にPostgreSQL 13がリリースされましたが、PostgreSQL開発コミュニティでは現在PostgreSQL 14の開発を行っています。PostgreSQLの開発はCommitfestと呼ばれるWebページにパッチを登録し、みんなで1ヶ月間レビューする、という形で行われます。PostgreSQL 14に向けたCommitfestはすでに3回行われていて、2021年1月1日から第4回が始まりました(3月から始まる第5回が最後)。
Commitfestには現在260個のパッチが登録されているのですが、それぞれパッチの大きさ、難しさも違いますし、中には何年も議論が続いているパッチがあるので、それらの中からレビューするパッチを選ぶのは一苦労です。
今回のCommitfestでCommit Fest Manager1をやらせてもらっているということもあり、一通り全てのパッチを確認したので、PostgreSQL開発に貢献したい、パッチレビューが初めて、という人に向けて簡単そうなパッチをリストアップしてみました。
以下の観点で選びました。
- パッチが小さく、難易度が高くなさそう
- 機能が単純で、パッチが小さいものを選びました
- クライアントツールや拡張機能(Extension)のパッチは比較的レビューしやすいと思います
- 議論が短い
- 議論が長いと全部読むのも大変ですし、英語の議論をかいつまんで読むのも大変なので、議論がまだあまりされていないものを選びました
パッチレビューの仕方
パッチレビューのやり方はこの辺が参考になるかと思います。
必要なもの
- メールアドレス
- pgsql-hackersメーリングリストへの登録が必要
- PostgreSQLをビルドし動かせる環境
- C言語のソースコードが読める
- (余力があれば)PostgreSQLの公式サイトでアカウントを作成する
- Commitfestでパッチのステータスを操作できるようになります
レビューで貢献するともれなく・・・
- PostgreSQL開発の一通りの流れを経験できます
- コミットログに名前が残ります
- PostgreSQL 14のリリースノートに名前が載ります(こんな感じ)
おすすめパッチ
Clients
- list of extended statistics on psql
- Improve \e, \ef and \ev if the editor is quit
- Add table access method as an option to pgbench
- psql - possibility to specify where status row should be displayed
- allow to set a pager for psql’s watch command
- Improve pg_dump dumping publication tables
- psql \df choose functions by their arguments
Documentation
- Further note require activity aspect of automatic checkpoint and archiving
- document the hook system
- Clarify that CREATEROLE roles can GRANT default roles
Miscellaneous
Monitoring & Control
- pg_stat_statements and “IN” conditions
- About to add WAL write/fsync statistics to pg_stat_wal view
- Add wait_start column to pg_locks
- Simple progress reporting for COPY command
Performance
Replication & Recovery
SQL Commands
System Administration
- New default role allowing to change per-role/database settings
- Add is_toplevel flag in pg_stat_statements
注意点
- レビューしたパッチはコミットされないかもしれない
- 議論の末Rejectされる、という可能性があります
- パッチのステータス(Commitfest上で確認できる)が
Waiting on Author
のものはパッチ作者待ち。Needs review
を優先的にレビューするべし - すでにコミット済みかもしれない
- 比較的簡単そうなパッチをリストアップしたのですでにコミット済みになっているかもしれません。
- コミットされている場合はステータスが
Committed
になっているはずです。
最後に
やってみたけどここがわからない、途中で詰まってしまった、という場合はいつでも@masahiko_sawadaに、もしくは日本PostgreSQLユーザ会が運営しているslackにて相談してください!
-
Commitfestに登録されたパッチの状況を確認してレビューが円滑に進むようにする役割。 ↩