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:
46
doc/FAQ_DEV
46
doc/FAQ_DEV
@ -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.
|
||||
|
Reference in New Issue
Block a user