New Developers FAQ

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: hackers(at)postgreSQL(dot)org (PostgreSQL-development)
Subject: New Developers FAQ
Date: 1998-01-22 19:43:13
Message-ID: 199801221943.OAA12545@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Here is a new developer's FAQ. I have asked it to be added to our web
page. I will add it to the distribution under /tools.

Comments? I want to add some stuff on Nodes, and palloc, and fopen().

---------------------------------------------------------------------------

Developers Frequently Asked Questions (FAQ) for PostgreSQL

Last updated: Thu Jan 22 14:41:11 EST 1998

Current maintainer: Bruce Momjian (maillist(at)candle(dot)pha(dot)pa(dot)us)

The most recent version of this document can be viewed at the postgreSQL Web
site, http://postgreSQL.org.

------------------------------------------------------------------------

Questions answered:

1) General questions

1) What tools are available for developers?
------------------------------------------------------------------------

1) What tools are available for developers?

Aside from the User documentation mentioned in the regular FAQ, there are
several development tools available. First, all the files in the /tools
directory are designed for developers.

RELEASE_CHANGES changes we have to make for each release
SQL_keywords standard SQL'92 keywords
backend web flowchart of the backend directories
ccsym find standard defines made by your compiler
entab converts tabs to spaces, used by pgindent
find_static finds functions that could be made static
find_typedef get a list of typedefs in the source coe
make_ctags make vi 'tags' file in each directory
make_diff make *.orig and diffs of source
make_etags make emacs 'etags' files
make_keywords.README make comparison of our keywords and SQL'92
make_mkid make mkid ID files
mkldexport create AIX exports file
pgindent indents C source files

Let me note some of these. If you point your browser at the tools/backend
directory, you will see all the backend components in a flow chart. You can
click on any one to see a description. If you then click on the directory
name, you will be taken to the source directory, to browse the actual source
code behind it. We also have several README files in some source directories
to describe the function of the module. The browser will display these when
you enter the directory also. The tools/backend directory is also contained
on our web page under the title Backend Flowchart.

Second, you really should have an editor that can handle tags, so you can
tag a function call to see the function definition, and then tag inside that
function to see an even lower-level function, and then back out twice to
return to the original function. Most editors support this via tags or etags
files.

Third, you need to get mkid from ftp.postgresql.org. By running
tools/make_mkid, an archive of source symbols can be created that can be
rapidly queried like grep or edited.

make_diff has tools to create patch diff files that can be applied to the
distribution.

pgindent will format source files to match our standard format, which has
four-space tabs, and an indenting format specified by flags to the your
operating system's utility indent.

--
Bruce Momjian
maillist(at)candle(dot)pha(dot)pa(dot)us

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-01-22 20:05:37 new DEV FAQ
Previous Message Bruce Momjian 1998-01-22 18:47:25 Re: [HACKERS] Profiling the backend (gprof output) [current devel]