diff options
Diffstat (limited to 'doc/FAQ_DEV')
-rw-r--r-- | doc/FAQ_DEV | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/doc/FAQ_DEV b/doc/FAQ_DEV index c1f7dcda1ea..c66c3fb64cc 100644 --- a/doc/FAQ_DEV +++ b/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. |