1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Update stuff for 6.5.1 release.

This commit is contained in:
Bruce Momjian
1999-07-10 16:28:02 +00:00
parent 4fceee0e71
commit 5a3fa95c39
9 changed files with 551 additions and 485 deletions

View File

@ -1,12 +1,12 @@
Developer's Frequently Asked Questions (FAQ) for PostgreSQL
Last updated: Mon Feb 22 17:15:06 EST 1999
Last updated: Sat Jul 10 00:38:09 EDT 1999
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
The most recent version of this document can be viewed at the
postgreSQL Web site, http://postgreSQL.org.
postgreSQL Web site, http://PostgreSQL.org.
_________________________________________________________________
Questions
@ -24,6 +24,8 @@
9) How do I efficiently access information in tables from the backend
code?
10) What is elog()?
11) What is configure all about?
12) How do I add a new port?
_________________________________________________________________
1) What tools are available for developers?
@ -294,7 +296,7 @@ s
While scans automatically lock/unlock rows from the buffer cache, with
heap_fetch(), you must pass a Buffer pointer, and ReleaseBuffer() it
when completed. Once you have the row, you can get data that is common
to all tuples, like t_self and t_oid, by mererly accessing the
to all tuples, like t_self and t_oid, by merely accessing the
HeapTuple structure entries. If you need a table-specific column, you
should take the HeapTuple pointer, and use the GETSTRUCT() macro to
access the table-specific start of the tuple. You then cast the
@ -324,3 +326,41 @@ s
current query, never returning from the call. FATAL terminates the
backend process. The remaining parameters of elog are a printf-style
set of parameters to print.
11) What is configure all about?
The files configure and configure.in are part of the GNU autoconf
package. Configure allows us to test for various capabilities of the
OS, and to set variables that can then be tested in C programs and
Makefiles. Autoconf is installed on the PostgreSQL main server. To add
options to configure, edit configure.in, and then run autoconf to
generate configure.
When configure is run by the user, it tests various OS capabilities,
stores those in config.status and config.cache, and modifies a list of
*.in files. For example, if there exists a Makefile.in, configure
generates a Makefile that contains substitutions for all @var@
parameters found by configure.
When you need to edit files, make sure you don't waste time modifying
files generated by configure. Edit the *.in file, and re-run configure
to recreate the needed file. If you run make distclean from the
top-level source directory, all files derived by configure are
removed, so you see only the file contained in the source
distribution.
12) How do I add a new port?
There are a variety of places that need to be modified to add a new
port. First, start in the src/template directory. Add an appropriate
entry for your OS. Also, use src/config.guess to add your OS to
src/template/.similar. You shouldn't match the OS version exactly. The
configure test will look for an exact OS version number, and if not
found, find a match without version number. Edit src/configure.in to
add your new OS. (See configure item above.) You will need to run
autoconf, or patch src/configure too.
Then, check src/include/port and add your new OS file, with
appropriate values. Hopefully, there is already locking code in
src/include/storage/s_lock.h for your CPU. There is a backend/port
directory if you need special files for your OS.