Guide to PostgreSQL source tree

From: Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Guide to PostgreSQL source tree
Date: 2001-08-19 07:40:33
Message-ID: Pine.LNX.4.21.0108191703280.7654-100000@linuxworld.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hiroshi Inoue 2001-08-19 08:56:36 RE: Progress report on locale safe LIKE indexing
Previous Message Serguei Mokhov 2001-08-19 04:37:36 Re: Re: [PATCHES] encoding names