update developers faq
authorBruce Momjian <[email protected]>
Sat, 10 Jun 2000 02:05:55 +0000 (02:05 +0000)
committerBruce Momjian <[email protected]>
Sat, 10 Jun 2000 02:05:55 +0000 (02:05 +0000)
doc/FAQ_DEV

index 22ba1db46ea9ca8211689f6108e08b1e6675cc93..31b27ee73ecad5390d10ebfb24216f273b18ca6d 100644 (file)
@@ -1,7 +1,7 @@
 
           Developer's Frequently Asked Questions (FAQ) for PostgreSQL
                                        
-   Last updated: Fri Dec 24 11:43:42 EST 1999
+   Last updated: Fri Jun 9 21:54:54 EDT 2000
    
    Current maintainer: Bruce Momjian ([email protected])
    
@@ -69,9 +69,14 @@ s
    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. Others prefer glimpse.
+   Third, you need to get id-utils from:
+        ftp://alpha.gnu.org/gnu/id-utils-3.2d.tar.gz
+        ftp://tug.org/gnu/id-utils-3.2d.tar.gz
+        ftp://ftp.enst.fr/pub/gnu/gnits/id-utils-3.2d.tar.gz
+
+   By running tools/make_mkid, an archive of source symbols can be
+   created that can be rapidly queried like grep or edited. Others prefer
+   glimpse.
    
    make_diff has tools to create patch diff files that can be applied to
    the distribution.
@@ -90,16 +95,14 @@ s
                 M-x set-variable tab-width
             or
                 ; Cmd to set tab stops &etc for working with PostgreSQL code
-                (defun pgsql-mode ()
-                  "Set PostgreSQL C indenting conventions in current buffer."
-                  (interactive)
-                  (c-mode)                            ; necessary to make c-set
--offset local!
-                  (setq tab-width 4)                  ; already buffer-local
-                  ; (setq comment-column 48)          ; already buffer-local
-                  (c-set-style "bsd")
-                  (c-set-offset 'case-label '+)
-                )
+             (c-add-style "pgsql"
+                                  '("bsd"
+                                 (indent-tabs-mode . t)
+                                 (c-basic-offset   . 4)
+                                 (tab-width . 4)
+                                             (c-offsets-alist .
+                                            ((case-label . +))))
+                       t) ; t = set this mode on
 
             and add this to your autoload list (modify file path in macro):
 
@@ -311,8 +314,8 @@ c-mode)
    you to query the system catalogs. This is the preferred way to access
    system tables, because the first call to the cache loads the needed
    rows, and future requests can return the results without accessing the
-   base table. Some of the caches use system table indexes to look up
-   tuples. A list of available caches is located in
+   base table. The caches use system table indexes to look up tuples. A
+   list of available caches is located in
    src/backend/utils/cache/syscache.c.
    src/backend/utils/cache/lsyscache.c contains many column-specific
    cache lookup functions.
@@ -355,11 +358,12 @@ c-mode)
    is to use heap_tuplemodify() and pass it your palloc'ed tuple, and the
    values you want changed. It returns another palloc'ed tuple, which you
    pass to heap_replace(). You can delete tuples by passing the tuple's
-   t_self to heap_destroy(). Remember, tuples can be either system cache
-   versions, which may go away soon after you get them, buffer cache
-   version, which will go away when you heap_getnext(), heap_endscan, or
-   ReleaseBuffer(), in the heap_fetch() case. Or it may be a palloc'ed
-   tuple, that you must pfree() when finished.
+   t_self to heap_destroy(). You can use it for heap_update() too.
+   Remember, tuples can be either system cache versions, which may go
+   away soon after you get them, buffer cache versions, which go away
+   when you heap_getnext(), heap_endscan, or ReleaseBuffer(), in the
+   heap_fetch() case. Or it may be a palloc'ed tuple, that you must
+   pfree() when finished.
    
   10) What is elog()?