Re: I am confused after reading codes of PostgreSQL three week
От | Kevin Grittner |
---|---|
Тема | Re: I am confused after reading codes of PostgreSQL three week |
Дата | |
Msg-id | 4D81E74D020000250003BA30@gw.wicourts.gov обсуждение исходный текст |
Ответ на | I am confused after reading codes of PostgreSQL three week (hom <obsidianhom@gmail.com>) |
Ответы |
Re: I am confused after reading codes of PostgreSQL three
week
Re: I am confused after reading codes of PostgreSQL three week |
Список | pgsql-hackers |
hom <obsidianhom@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
В списке pgsql-hackers по дате отправления: