Re: On Complex Source Code Reading Strategy

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Geoghegan <pg(at)bowt(dot)ie>, Zeray Kalayu <tiggreen87(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: On Complex Source Code Reading Strategy
Date: 2017-07-28 03:23:54
Message-ID: CAMsr+YGHZDkOn5FpF6nQ7gwCAPLCXSUYZRJpFs7TKCndD3n2-w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 28 July 2017 at 07:45, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Peter Geoghegan <pg(at)bowt(dot)ie> writes:
> > 2. Start somewhere. I have no idea where that should be, but it has to
> > be some particular place that seems interesting to you.
>
> Don't forget to start with the available documentation, ie
> https://www.postgresql.org/docs/devel/static/internals.html
> You should certainly read
> https://www.postgresql.org/docs/devel/static/overview.html
> and depending on what your interests are, there are probably other
> chapters of Part VII that are worth your time.
>
> Also keep an eye out for README files in the part of the source
> tree you're browsing in.

In fact, even though you won't initially understand much from some of them,
reading most of

find src/ -name README\*

can be quite useful. It's nearly time for me to do that again myself; each
time I absorb more.

There are very useful comments at the start of some of the source files
too. Unfortunately in some cases the really important explanation will be
on some function that you won't know to look for, not the comment at the
top of the file, so there's an element of discovery there.

I'd start with the docs as Tom suggested, then

* https://www.postgresql.org/developer/
* https://momjian.us/main/presentations/internals.html
* https://wiki.postgresql.org/wiki/Development_information
* https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F
* https://wiki.postgresql.org/wiki/Developer_FAQ

(some of which need to be added to the "developer information" wiki page I
think)

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-07-28 03:58:08 Re: PL_stashcache, or, what's our minimum Perl version?
Previous Message Tatsuo Ishii 2017-07-28 03:03:01 Re: Incorrect comment of XLByteToSeg() and XLByteToPrevSeg()