Guide to PostgreSQL source tree - Mailing list pgsql-hackers

From Gavin Sherry
Subject Guide to PostgreSQL source tree
Date
Msg-id Pine.LNX.4.21.0108191703280.7654-100000@linuxworld.com.au
Whole thread Raw
Responses Re: Guide to PostgreSQL source tree
List pgsql-hackers
Hi all,

For a few months now I've been thinking about whether or not a guide
('line-by-line') to the Postgres source tree would be of any value. 

Such a guide would, most probably, trace an 'ultimate' query (ie,
one which requires the use of all source level functionality) through the
source as well as reference appendices guides to underlying functionality
(backend lib, transactions, macros) and client interfaces (inc. FE/BE
protocol, internals of the libs etc), procedural language interfaces, SPI
and any other part of the source I have left out.

The guide would look at all non-trivial functions and code segments in the
source. Examination would involve explanation of complex code (at a
line-by-line level), background information of reasoning behind the
code-level design of important functionality, analysis of algorithms and
what ever else seems helpful to people approaching the source.

I think it would be most useful as a non-commercial project intended for
distribution from the Postgres Web site.

Obviously such a project would take a very long time and would have to
involve more people than myself. So the questions which go unanswered
are: Would such a work be of any real use? Would it be of use to enough
people? Is this the right way to go about introducing people to the
source? Is it desirable to introduce (lots of) people to the source?

For my part, I think such a project would be a good way of countering two
things which are affecting Postgres's popularity. Firstly, in Australia
(and I imagine other parts of the world) University courses dealing with
database/information systems (whether it be as basic as an introduction to
SQL or as detailed as developing complicated/sophisticated data storage
systems) are more often than not sponsored by vendors (Oracle, IBM,
Sybase) or 'consultancy' companies who may as well be sales reps for
vendors. Which ever it is, in the end courses are full of marketing drivel
and very little analysis and exploration of real concepts/problems. 

Secondly, where Postgres really out performs proprietary databases is in
its source being open. Problems which cause major functionality problems
and downtime in critical vendor installations could often easily be
resolved if developers had the source. I think a thorough source guide
would go some way to bolstering the appeal of Postgres to such developers
whilst countering some of the arguments for throwing hefty sums of money
at support.

So, what do people think?

Gavin



pgsql-hackers by date:

Previous
From: "Serguei Mokhov"
Date:
Subject: Re: Re: [PATCHES] encoding names
Next
From: "Hiroshi Inoue"
Date:
Subject: RE: Progress report on locale safe LIKE indexing