hom <obsidian...@gmail.com> wrote:
 
> I try to known how a database is implemented and I have been
> reading PG source codes for a month.
 
That's ambitious.
 
find -name '*.h' -or -name '*.c' \
  | egrep -v '^\./src/test/.+/tmp_check/' \
  | xargs cat | wc -l
1059144
 
Depending on how you do the math, that's about 50,000 lines of code
per day to get through it in the time you mention.
 
> Is there any article or some way could help understand the source
> code ?
 
Your best bet would be to follow links from the Developers tab on
the main PostgreSQL web site:
 
http://www.postgresql.org/developer/
 
In particular the Developer FAQ page:
 
http://wiki.postgresql.org/wiki/Developer_FAQ
 
And the "Coding" links:
 
http://www.postgresql.org/developer/coding
 
may help.
 
Before reading code in a directory, be sure to read any README
file(s) in that directory carefully.
 
It helps to read this list.
 
In spite of reviewing all of that myself, it was rather intimidating
when I went to work on a major patch 14 months ago.  Robert Haas
offered some good advice which served me well in that effort --
divide the effort in to a series of incremental steps, each of which
deals with a small enough portion of the code to get your head
around.  As you work in any one narrow area, it becomes increasingly
clear; with that as a base you can expand your scope.
 
When you're working in the code, it is tremendously helpful to use
an editor with ctags support (or similar IDE functionality).
 
I hope this is helpful.  Good luck.
 
-Kevin

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to