diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index 6b6b2dc8d3987cb7716b6ea23cac27df34a35403..3f1f7b8674c37db7284907f274133ce426ef5181 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -145,9 +145,11 @@ gistbuild(Relation heap,
     Datum *d;
     bool *nulls;
     int nb, nh, ni;
+#ifndef OMIT_PARTIAL_INDEX
     ExprContext *econtext;
     TupleTable tupleTable;
     TupleTableSlot *slot;
+#endif
     Oid hrelid, irelid;
     Node *pred, *oldPred;
     GISTSTATE giststate;
@@ -199,6 +201,12 @@ gistbuild(Relation heap,
 	econtext = makeNode(ExprContext);
 	FillDummyExprContext(econtext, slot, hd, buffer);
     }
+	else	/* shut the compiler up */
+	{
+		tupleTable = NULL;
+		slot = NULL;
+		econtext = NULL;
+	}
 #endif /* OMIT_PARTIAL_INDEX */    
     scan = heap_beginscan(heap, 0, NowTimeQual, 0, (ScanKey) NULL);
     htup = heap_getnext(scan, 0, &buffer);
diff --git a/src/backend/access/gist/giststrat.c b/src/backend/access/gist/giststrat.c
index 5b204572bd5256c21622b8b14a2c8a66e91d738d..c6212edf109c0650d76828d4cca75eba603d6e50 100644
--- a/src/backend/access/gist/giststrat.c
+++ b/src/backend/access/gist/giststrat.c
@@ -113,7 +113,7 @@ static StrategyEvaluationData GISTEvaluationData = {
     (StrategyTransformMap) GISTNegate,	/* how to do (not qual) */
     (StrategyTransformMap) GISTCommute,	/* how to swap operands */
     (StrategyTransformMap) GISTNegateCommute,	/* how to do both */
-    NULL
+    { NULL }
 };
 
 StrategyNumber
diff --git a/src/backend/access/hash/hash.c b/src/backend/access/hash/hash.c
index 8e1c1c410792e285ece2f63bc28cb3b89fb5d0de..37ac4d1c700683219337d7a310707830c55e7de6 100644
--- a/src/backend/access/hash/hash.c
+++ b/src/backend/access/hash/hash.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/hash/hash.c,v 1.5 1996/10/21 05:45:11 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/hash/hash.c,v 1.6 1996/10/23 07:38:29 scrappy Exp $
  *
  * NOTES
  *    This file contains only the public interface routines.
@@ -113,9 +113,11 @@ hashbuild(Relation heap,
     int nhtups, nitups;
     int i;
     HashItem hitem;
+#ifndef OMIT_PARTIAL_INDEX
     ExprContext *econtext;
     TupleTable tupleTable;
     TupleTableSlot *slot;
+#endif
     Oid hrelid, irelid;
     Node *pred, *oldPred;
     
@@ -151,6 +153,12 @@ hashbuild(Relation heap,
 	econtext = makeNode(ExprContext);
 	FillDummyExprContext(econtext, slot, htupdesc, buffer);
     }
+	else	/* quiet the compiler */
+	{
+		econtext = NULL;
+		tupleTable = 0;
+		slot = 0;
+	}
 #endif /* OMIT_PARTIAL_INDEX */
     
     /* start a heap scan */
diff --git a/src/backend/access/hash/hashovfl.c b/src/backend/access/hash/hashovfl.c
index caa4ac1a2508556e75ddca7dca658d9951091339..33f0bd40cc8d223b9a725ef8dc88413c2502edf3 100644
--- a/src/backend/access/hash/hashovfl.c
+++ b/src/backend/access/hash/hashovfl.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/hash/hashovfl.c,v 1.4 1996/10/21 05:45:14 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/hash/hashovfl.c,v 1.5 1996/10/23 07:38:32 scrappy Exp $
  *
  * NOTES
  *    Overflow pages look like ordinary relation pages.
@@ -132,12 +132,12 @@ static OverflowPageAddress
 _hash_getovfladdr(Relation rel, Buffer *metabufp)
 {
     HashMetaPage metap;
-    Buffer mapbuf;
+    Buffer mapbuf = 0;
     BlockNumber blkno;
     PageOffset offset;
     OverflowPageAddress oaddr;
     SplitNumber splitnum;
-    uint32 *freep;
+    uint32 *freep = NULL;
     uint32 max_free; 
     uint32 bit;
     uint32 first_page; 
@@ -356,7 +356,7 @@ _hash_freeovflpage(Relation rel, Buffer ovflbuf)
      * XXX this should look like:
      * - lock prev/next
      * - modify/write prev/next (how to do write ordering with a
-     * doubly-linked list???)
+     * doubly-linked list?)
      * - unlock prev/next
      */
     if (BlockNumberIsValid(prevblkno)) {
@@ -503,7 +503,7 @@ _hash_squeezebucket(Relation rel,
 		    Bucket bucket)
 {
     Buffer wbuf;
-    Buffer rbuf;
+    Buffer rbuf = 0;
     BlockNumber wblkno;		
     BlockNumber rblkno;		
     Page wpage;
diff --git a/src/backend/access/index/istrat.c b/src/backend/access/index/istrat.c
index 7c7550c1eebd2716783079ebdebe3999347f72e0..c5e2ca04f3a6ad2dca18703d311689a14bf5da97 100644
--- a/src/backend/access/index/istrat.c
+++ b/src/backend/access/index/istrat.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/index/Attic/istrat.c,v 1.3 1996/10/21 07:38:20 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/index/Attic/istrat.c,v 1.4 1996/10/23 07:38:43 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -233,8 +233,8 @@ StrategyTermEvaluate(StrategyTerm term,
 		     Datum right)
 {
     Index		index;
-    long		tmpres;
-    bool		result;
+    long		tmpres = 0;
+    bool		result = 0;
     StrategyOperator	operator;
     ScanKey		entry;
     
diff --git a/src/backend/access/nbtree/nbtcompare.c b/src/backend/access/nbtree/nbtcompare.c
index e2f7787b5198249ea91187af0036a1b7603e7b8c..516e4cd678aca087a2d06f79d54f4f08240348dd 100644
--- a/src/backend/access/nbtree/nbtcompare.c
+++ b/src/backend/access/nbtree/nbtcompare.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.2 1996/10/20 10:53:02 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.3 1996/10/23 07:38:54 scrappy Exp $
  *
  *  NOTES
  *	These functions are stored in pg_amproc.  For each operator class
@@ -20,8 +20,10 @@
  *-------------------------------------------------------------------------
  */
 
-#include "postgres.h"
+#include <string.h>
 #include <time.h>
+
+#include "postgres.h"
 #include "utils/nabstime.h"
 
 int32
diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c
index 4ed8b2994aaa3fdff559c46e45fd90c814d3980e..b98733c123180be94139d6e43f0455e998c0925a 100644
--- a/src/backend/access/nbtree/nbtinsert.c
+++ b/src/backend/access/nbtree/nbtinsert.c
@@ -7,11 +7,14 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtinsert.c,v 1.2 1996/10/20 10:53:03 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtinsert.c,v 1.3 1996/10/23 07:39:00 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 
+#include <stdio.h>
+#include <time.h>
+
 #include "postgres.h"
 
 #include "catalog/pg_attribute.h"
@@ -37,15 +40,14 @@
 #include "storage/itemid.h"
 #include "storage/item.h"
 #include "storage/bufpage.h"
-#include <time.h>
 #include "utils/nabstime.h"
+#include "utils/palloc.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
 #include "access/relscan.h"
 #include "access/sdir.h"
 #include "access/nbtree.h"
 
-#include <stdio.h>
 #include "storage/ipc.h"
 #include "storage/bufmgr.h"
 
diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c
index 044e37b8546540d4b1b0b9580f303ac9879e6d91..5325bf0f035b6fd789f16a9bcee77bec958581be 100644
--- a/src/backend/access/nbtree/nbtpage.c
+++ b/src/backend/access/nbtree/nbtpage.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtpage.c,v 1.2 1996/10/20 10:53:06 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtpage.c,v 1.3 1996/10/23 07:39:04 scrappy Exp $
  *
  *  NOTES
  *     Postgres btree pages look like ordinary relation pages.  The opaque
@@ -19,6 +19,8 @@
  *
  *-------------------------------------------------------------------------
  */
+#include <stdio.h>
+#include <time.h>
 
 #include "postgres.h"
 
@@ -36,7 +38,6 @@
 #include "utils/rel.h"
 
 #include "storage/buf.h"
-
 #include "storage/block.h"
 #include "storage/off.h"
 #include "storage/itemptr.h"
@@ -45,7 +46,6 @@
 #include "storage/itemid.h"
 #include "storage/item.h"
 #include "storage/bufpage.h"
-#include <time.h>
 #include "utils/nabstime.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
@@ -53,9 +53,9 @@
 #include "access/sdir.h"
 #include "access/nbtree.h"
 
-#include <stdio.h>
 #include "storage/ipc.h"
 #include "storage/bufmgr.h"
+#include "storage/lmgr.h"
 
 #define BTREE_METAPAGE	0
 #define BTREE_MAGIC	0x053162
diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c
index c4f7fead008a964e2d09d3fb0e0ad20e5cfbd0aa..ff3c799d53d7238d534bfe9ea163fe2a73e99d23 100644
--- a/src/backend/access/nbtree/nbtree.c
+++ b/src/backend/access/nbtree/nbtree.c
@@ -8,13 +8,15 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.4 1996/10/20 10:53:08 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.5 1996/10/23 07:39:06 scrappy Exp $
  *
  * NOTES
  *    This file contains only the public interface routines.
  *
  *-------------------------------------------------------------------------
  */
+#include <stdio.h>
+#include <time.h>
 
 #include "postgres.h"
 
@@ -25,6 +27,7 @@
 #include "storage/fd.h"
 #include "catalog/pg_am.h"
 #include "catalog/pg_class.h"
+#include "catalog/index.h"
 #include "nodes/nodes.h"
 #include "rewrite/prs2lock.h"
 #include "access/skey.h"
@@ -40,10 +43,11 @@
 #include "storage/item.h"
 #include "storage/buf.h"
 #include "storage/bufpage.h"
-#include <time.h>
+#include "storage/bufmgr.h"
 #include "utils/nabstime.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
+#include "utils/palloc.h"
 #include "access/relscan.h"
 #include "access/sdir.h"
 #include "access/nbtree.h"
@@ -59,7 +63,6 @@
 #include "nodes/parsenodes.h"
 #include "tcop/dest.h"
 #include "executor/execdesc.h"
-#include <stdio.h>
 #include "catalog/pg_index.h"
 #include "executor/executor.h"
 
@@ -96,13 +99,15 @@ btbuild(Relation heap,
     TupleDesc htupdesc, itupdesc;
     Datum *attdata;
     bool *nulls;
-    InsertIndexResult res;
+    InsertIndexResult res = 0;
     int nhtups, nitups;
     int i;
     BTItem btitem;
+#ifndef OMIT_PARTIAL_INDEX
     ExprContext *econtext;
     TupleTable tupleTable;
     TupleTableSlot *slot;
+#endif
     Oid hrelid, irelid;
     Node *pred, *oldPred;
     void *spool;
@@ -139,6 +144,12 @@ btbuild(Relation heap,
 	econtext = makeNode(ExprContext);
 	FillDummyExprContext(econtext, slot, htupdesc, InvalidBuffer);
     }
+	else
+	{
+		econtext = NULL;
+		tupleTable = NULL;
+		slot = NULL;
+	}
 #endif /* OMIT_PARTIAL_INDEX */
     
     /* start a heap scan */
@@ -152,6 +163,8 @@ btbuild(Relation heap,
 	spool = _bt_spoolinit(index, 7);
 	res = (InsertIndexResult) NULL;
     }
+	else
+		spool = NULL;
 
     for (; HeapTupleIsValid(htup); htup = heap_getnext(hscan, 0, &buffer)) {
 	
diff --git a/src/backend/access/nbtree/nbtscan.c b/src/backend/access/nbtree/nbtscan.c
index 43371db860df82ed2b75a93e3ed6c71598f06114..088430bf5f4da56387890ca28438dccd01c35b1b 100644
--- a/src/backend/access/nbtree/nbtscan.c
+++ b/src/backend/access/nbtree/nbtscan.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.2 1996/10/20 10:53:10 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.3 1996/10/23 07:39:08 scrappy Exp $
  *
  *
  * NOTES
@@ -55,6 +55,7 @@
 #include "utils/nabstime.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
+#include "utils/palloc.h"
 #include "access/relscan.h"
 #include "access/sdir.h"
 #include "access/nbtree.h"
diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c
index 5ea38af09c7fa63283e69ba365c6c65b15d5e42a..4551afbf05a52e5d0c55633d39c1f0226f5e86c6 100644
--- a/src/backend/access/nbtree/nbtsearch.c
+++ b/src/backend/access/nbtree/nbtsearch.c
@@ -7,11 +7,13 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.3 1996/10/20 10:53:11 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.4 1996/10/23 07:39:10 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 
+#include <time.h>
+
 #include "postgres.h"
 
 #include "catalog/pg_attribute.h"
@@ -36,13 +38,17 @@
 #include "storage/item.h"
 #include "storage/buf.h"
 #include "storage/bufpage.h"
-#include <time.h>
+#include "storage/bufmgr.h"
 #include "utils/nabstime.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
+#include "utils/palloc.h"
 #include "access/relscan.h"
 #include "access/sdir.h"
 #include "access/nbtree.h"
+#include "access/genam.h"
+
+#include "fmgr.h"
 
 static BTStack _bt_searchr(Relation rel, int keysz, ScanKey scankey, Buffer *bufP, BTStack stack_in);
 static OffsetNumber _bt_firsteq(Relation rel, TupleDesc itupdesc, Page page, Size keysz, ScanKey scankey, OffsetNumber offnum);
@@ -296,14 +302,13 @@ _bt_binsrch(Relation rel,
     Page page;
     BTPageOpaque opaque;
     OffsetNumber low, mid, high;
-    bool match;
     int result;
     
     page = BufferGetPage(buf);
     opaque = (BTPageOpaque) PageGetSpecialPointer(page);
     
     /* by convention, item 0 on any non-rightmost page is the high key */
-    low = P_RIGHTMOST(opaque) ? P_HIKEY : P_FIRSTKEY;
+    low = mid = P_RIGHTMOST(opaque) ? P_HIKEY : P_FIRSTKEY;
     
     high = PageGetMaxOffsetNumber(page);
     
@@ -320,7 +325,6 @@ _bt_binsrch(Relation rel,
 	return (low);
     
     itupdesc = RelationGetTupleDescriptor(rel);
-    match = false;
     
     while ((high - low) > 1) {
 	mid = low + ((high - low) / 2);
@@ -330,16 +334,9 @@ _bt_binsrch(Relation rel,
 	    low = mid;
 	else if (result < 0)
 	    high = mid - 1;
-	else {
-	    match = true;
-	    break;
-	}
-    }
-    
-    /* if we found a match, we want to find the first one on the page */
-    if (match) {
+	else
 	return (_bt_firsteq(rel, itupdesc, page, keysz, scankey, mid));
-    } else {
+    }
 	
 	/*
 	 *  We terminated because the endpoints got too close together.  There
@@ -387,7 +384,6 @@ _bt_binsrch(Relation rel,
 		    return (OffsetNumberNext(high));
 	    }
 	}
-    }
 }
 
 static OffsetNumber
@@ -1039,7 +1035,7 @@ _bt_endpoint(IndexScanDesc scan, ScanDirection dir)
     ItemPointer current;
     ItemPointer iptr;
     OffsetNumber offnum, maxoff;
-    OffsetNumber start;
+    OffsetNumber start = 0;
     BlockNumber blkno;
     BTItem btitem;
     IndexTuple itup;
diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c
index 7f30f1505be365b07a4ef14f1b4ac1f742684f91..aa6d1e6cb6fdbe33c5de2b61008874d6f0628f60 100644
--- a/src/backend/access/nbtree/nbtsort.c
+++ b/src/backend/access/nbtree/nbtsort.c
@@ -5,7 +5,7 @@
  *
  *
  * IDENTIFICATION
- *    $Id: nbtsort.c,v 1.4 1996/10/20 10:53:13 scrappy Exp $
+ *    $Id: nbtsort.c,v 1.5 1996/10/23 07:39:11 scrappy Exp $
  *
  * NOTES
  *
@@ -47,6 +47,10 @@
  *-------------------------------------------------------------------------
  */
 
+#include <stdio.h>
+#include <time.h>
+#include <fcntl.h>
+
 #include "postgres.h"
 
 #include "catalog/pg_attribute.h"
@@ -71,17 +75,14 @@
 #include "storage/item.h"
 #include "storage/buf.h"
 #include "storage/bufpage.h"
-#include <time.h>
 #include "utils/nabstime.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
+#include "utils/palloc.h"
 #include "access/relscan.h"
 #include "access/sdir.h"
 #include "access/nbtree.h"
 
-#include <stdio.h>
-#include <fcntl.h>
-
 #include "storage/ipc.h"
 #include "storage/bufmgr.h"
 
diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c
index 2abcb7bb89a7d90028a52511a3b7c9bce833a086..fac79e7b4f832a327f144a3c4eaa9119f20210c5 100644
--- a/src/backend/access/nbtree/nbtutils.c
+++ b/src/backend/access/nbtree/nbtutils.c
@@ -7,11 +7,13 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtutils.c,v 1.3 1996/10/20 10:53:18 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtutils.c,v 1.4 1996/10/23 07:39:15 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 
+#include <time.h>
+
 #include "postgres.h"
 
 #include "catalog/pg_attribute.h"
@@ -36,15 +38,18 @@
 #include "storage/item.h"
 #include "storage/buf.h"
 #include "storage/bufpage.h"
-#include <time.h>
 #include "utils/nabstime.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
+#include "utils/palloc.h"
 #include "access/relscan.h"
 #include "access/sdir.h"
 #include "access/nbtree.h"
-
 #include "access/istrat.h"
+#include "access/genam.h"
+#include "access/iqual.h"
+
+#include "fmgr.h"
 
 ScanKey 
 _bt_mkscankey(Relation rel, IndexTuple itup)
diff --git a/src/backend/access/rtree/rtget.c b/src/backend/access/rtree/rtget.c
index 8c3c8b62624164de4fe171df9f3b436db8b9497d..a4469f102e479917700181f33b91dac5431f7a8d 100644
--- a/src/backend/access/rtree/rtget.c
+++ b/src/backend/access/rtree/rtget.c
@@ -7,11 +7,14 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtget.c,v 1.2 1996/10/20 09:27:04 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtget.c,v 1.3 1996/10/23 07:39:20 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 
+#include <string.h>
+#include <time.h>
+
 #include "postgres.h"
  
 #include "catalog/pg_attribute.h"
@@ -32,16 +35,18 @@
 #include "storage/block.h" 
 #include "storage/off.h"
 #include "storage/itemptr.h"
-#include <time.h>
 #include "utils/nabstime.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
+#include "utils/palloc.h"
 #include "storage/buf.h"
 #include "access/relscan.h"
+#include "access/iqual.h"
  
 #include "storage/itemid.h"
 #include "storage/item.h"
 #include "storage/bufpage.h"
+#include "storage/bufmgr.h"
  
 #include "access/itup.h"
 
diff --git a/src/backend/access/rtree/rtproc.c b/src/backend/access/rtree/rtproc.c
index 12412a78e89fa0ba3a114d859c1586998fe541e2..4d9f489818aabf78134470e2d6a0ebfa8d747315 100644
--- a/src/backend/access/rtree/rtproc.c
+++ b/src/backend/access/rtree/rtproc.c
@@ -7,15 +7,17 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtproc.c,v 1.2 1996/10/20 09:27:06 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtproc.c,v 1.3 1996/10/23 07:39:23 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 
+#include <string.h>
+
 #include "postgres.h"
 
 #include "utils/geo-decls.h"
-
+#include "utils/palloc.h"
 
 BOX
 *rt_box_union(BOX *a, BOX *b)
diff --git a/src/backend/access/rtree/rtree.c b/src/backend/access/rtree/rtree.c
index d9c65e3ac34151081e349bde4a462c976a0565b0..bb94b58a0a8710eff8a16bf2564b6d0526178d74 100644
--- a/src/backend/access/rtree/rtree.c
+++ b/src/backend/access/rtree/rtree.c
@@ -7,11 +7,14 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtree.c,v 1.4 1996/10/20 09:27:07 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtree.c,v 1.5 1996/10/23 07:39:24 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 
+#include <stdio.h>
+#include <time.h>
+
 #include "postgres.h"
  
 #include "catalog/pg_attribute.h"
@@ -21,6 +24,7 @@
 #include "storage/fd.h"
 #include "catalog/pg_am.h"
 #include "catalog/pg_class.h"
+#include "catalog/index.h"
 #include "nodes/nodes.h"
 #include "rewrite/prs2lock.h"
 #include "access/skey.h"
@@ -30,22 +34,23 @@
 #include "storage/block.h"
 #include "storage/off.h"
 #include "storage/itemptr.h"
-#include <time.h>
 #include "utils/nabstime.h"
 #include "access/htup.h"
  
 #include "access/itup.h"
  
 #include "utils/tqual.h"
+#include "utils/palloc.h"
 #include "storage/buf.h"
 #include "access/relscan.h"  
+#include "access/rtscan.h"
  
 #include "storage/itemid.h"
 #include "storage/item.h" 
 #include "storage/bufpage.h"
+#include "storage/lmgr.h"
 
 #include "access/rtree.h"
-
 #include "access/funcindex.h"
  
 #include "nodes/params.h"
@@ -56,7 +61,6 @@
 #include "executor/tuptable.h"
 #include "nodes/execnodes.h"
  
-#include <stdio.h>
 #include "storage/ipc.h"
 #include "storage/bufmgr.h"
 
@@ -126,9 +130,11 @@ rtbuild(Relation heap,
     Datum *d;
     bool *nulls;
     int nb, nh, ni;
+#ifndef OMIT_PARTIAL_INDEX
     ExprContext *econtext;
     TupleTable tupleTable;
     TupleTableSlot *slot;
+#endif
     Oid hrelid, irelid;
     Node *pred, *oldPred;
     RTSTATE rtState;
@@ -176,6 +182,12 @@ rtbuild(Relation heap,
 	econtext = makeNode(ExprContext);
 	FillDummyExprContext(econtext, slot, hd, buffer);
     }
+	else
+	{
+		econtext = NULL;
+		tupleTable = NULL;
+		slot = NULL;
+	}
 #endif /* OMIT_PARTIAL_INDEX */    
     scan = heap_beginscan(heap, 0, NowTimeQual, 0, (ScanKey) NULL);
     htup = heap_getnext(scan, 0, &buffer);
diff --git a/src/backend/access/rtree/rtscan.c b/src/backend/access/rtree/rtscan.c
index 08b8d53ee4e4cb0f44e514023c02d143b149cc0e..e2106ffbac400a52c8b243dee8ced43ce5ad7968 100644
--- a/src/backend/access/rtree/rtscan.c
+++ b/src/backend/access/rtree/rtscan.c
@@ -7,11 +7,14 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtscan.c,v 1.4 1996/10/20 09:27:10 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtscan.c,v 1.5 1996/10/23 07:39:26 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 
+#include <string.h>
+#include <time.h>
+
 #include "postgres.h"
  
 #include "catalog/pg_attribute.h"
@@ -30,14 +33,17 @@
 #include "storage/block.h" 
 #include "storage/off.h"
 #include "storage/itemptr.h"
-#include <time.h>
 #include "utils/nabstime.h"
+#include "utils/palloc.h"
 #include "access/htup.h"
 #include "utils/tqual.h"
 #include "storage/buf.h"
+#include "storage/lmgr.h"
+#include "storage/bufmgr.h"
 #include "access/relscan.h"
 
 #include "access/rtree.h"
+#include "access/rtstrat.h"
  
 #include "access/itup.h"
 #include "access/funcindex.h"
diff --git a/src/backend/access/transam/transsup.c b/src/backend/access/transam/transsup.c
index d77fac11d230debffe8640da7ec11a543b08bc08..c0082450c60bd12b8c99205e22e26b09164ff06e 100644
--- a/src/backend/access/transam/transsup.c
+++ b/src/backend/access/transam/transsup.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/transsup.c,v 1.3 1996/10/21 07:15:06 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/transsup.c,v 1.4 1996/10/23 07:39:32 scrappy Exp $
  *
  * NOTES
  *    This file contains support functions for the high
@@ -78,7 +78,7 @@ TransComputeBlockNumber(Relation relation, /* relation to test */
 			TransactionId transactionId, /* transaction id to test */
 			BlockNumber *blockNumberOutP)
 {
-    long	itemsPerBlock;
+    long	itemsPerBlock = 0;
     
     /* ----------------
      *  we calculate the block number of our transaction
diff --git a/src/backend/bootstrap/bootscanner.l b/src/backend/bootstrap/bootscanner.l
index 21d4442432323edbaba2892dd9baba3e4e9ab965..39298f9700406a6f9c27b9ea3f477d67574bac35 100644
--- a/src/backend/bootstrap/bootscanner.l
+++ b/src/backend/bootstrap/bootscanner.l
@@ -8,10 +8,12 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/bootstrap/bootscanner.l,v 1.3 1996/10/21 08:31:21 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/bootstrap/bootscanner.l,v 1.4 1996/10/23 07:39:39 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
+#include <time.h>
+
 #include "postgres.h"
 
 #include "storage/block.h"
@@ -34,7 +36,6 @@
 #include "bootstrap/bootstrap.h"
 
 #include "nodes/primnodes.h"
-#include <time.h>
 #include "utils/nabstime.h"
 #include "access/htup.h"  
 #include "utils/tqual.h"
@@ -44,6 +45,8 @@
 
 #include "bootstrap_tokens.h"
 
+#define		YY_NO_UNPUT
+
 /* some versions of lex define this as a macro */
 #if defined(yywrap)
 #undef yywrap
@@ -121,13 +124,14 @@ insert		{ return(INSERT_TUPLE); }
 
 %%
 
-yywrap()
+int
+yywrap(void)
 {
     return 1;
 }
 
-yyerror(str)
-    char *str;
+void
+yyerror(const char *str)
 {
     fprintf(stderr,"\tsyntax error %d : %s",yyline, str);
 }
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index d6479be378dc0a1a2d68e3f17acdbbf7d8269c19..f636209f8efb47e7161cd9b25fb6a67ba1b2094c 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -7,10 +7,15 @@
  * Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.8 1996/10/21 08:31:23 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.9 1996/10/23 07:39:42 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
+#include <time.h>
+#include <stdio.h>
+#include <signal.h>
+#include <setjmp.h>
+
 #define BOOTSTRAP_INCLUDE	/* mask out stuff in tcop/tcopprot.h */
 
 #include "postgres.h"
@@ -28,7 +33,6 @@
 #include "access/strat.h"
 #include "utils/rel.h"
 
-#include <time.h>
 #include "storage/block.h"
 #include "storage/off.h"
 #include "storage/itemptr.h"
@@ -45,10 +49,6 @@
 
 #include "nodes/memnodes.h"
 
-#include <stdio.h>
-#include <signal.h>
-#include <setjmp.h>
-
 #include "miscadmin.h"
 
 #include "catalog/pg_type.h"
@@ -101,6 +101,8 @@
 #define ALLOC(t, c)	(t *)calloc((unsigned)(c), sizeof(t))
 #define FIRST_TYPE_OID 16	/* OID of the first type */
 
+ extern int Int_yyparse (void);
+
 /* ----------------
  *	global variables
  * ----------------
@@ -235,7 +237,8 @@ typedef void (*sig_func)();
  *	error handling / abort routines
  * ----------------
  */
-void err_out()
+void
+err_out(void)
 {
     Warnings++;
     cleanup();
@@ -245,7 +248,7 @@ void err_out()
    usage help for the bootstrap backen
 */
 static void
-usage()
+usage(void)
 {
     fprintf(stderr,"Usage: postgres -boot [-d] [-C] [-F] [-O] [-Q] ");
     fprintf(stderr,"[-P portno] [dbName]\n");
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index 6cac65e33c1036b8aa78fb8ae788d5a56dffb06c..9e0d897a2a9c00cfc440281aa3118e4161eb4a4c 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -6,7 +6,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.9 1996/10/21 09:37:26 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.10 1996/10/23 07:39:53 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -177,7 +177,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
     Oid *elements;
     Datum value;
     bool isnull = (bool) true;
-    char *nulls;
+    char *nulls = NULL;
     char *string;
     int32 ntuples;
     TupleDesc tupDesc;
@@ -189,8 +189,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
     tupDesc = rel->rd_att;
 
     if (!binary) {
-	out_functions = (func_ptr *)
-	    palloc(attr_count * sizeof(func_ptr));
+	out_functions = (func_ptr *) palloc(attr_count * sizeof(func_ptr));
 	elements = (Oid *) palloc(attr_count * sizeof(Oid));
 	for (i = 0; i < attr_count; i++) {
 	    out_func_oid = (Oid) GetOutputFunction(attr[i]->atttypid);
@@ -198,6 +197,8 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
 	    elements[i] = GetTypeElement(attr[i]->atttypid);
 	}
     }else {
+	elements = NULL;
+	out_functions = NULL;
 	nulls = (char *) palloc(attr_count);
 	for (i = 0; i < attr_count; i++) nulls[i] = ' ';
 	
@@ -295,23 +296,25 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
     bool isnull;
     bool has_index;
     int done = 0;
-    char *string, *ptr;
+    char *string = NULL, *ptr;
     Relation *index_rels;
     int32 len, null_ct, null_id;
     int32 ntuples, tuples_read = 0;
     bool reading_to_eof = true;
     Oid *elements;
-    FuncIndexInfo *finfo, **finfoP;
+    FuncIndexInfo *finfo, **finfoP = NULL;
     TupleDesc *itupdescArr;
     HeapTuple pgIndexTup;
-    IndexTupleForm *pgIndexP;
-    int *indexNatts;
+    IndexTupleForm *pgIndexP = NULL;
+    int *indexNatts = NULL;
     char *predString;
-    Node **indexPred;
+    Node **indexPred = NULL;
     TupleDesc rtupdesc;
-    ExprContext *econtext;
+    ExprContext *econtext = NULL;
+#ifndef OMIT_PARTIAL_INDEX
     TupleTable tupleTable;
-    TupleTableSlot *slot;
+    TupleTableSlot *slot = NULL;
+#endif
     int natts;
     AttrNumber *attnumP;
     Datum idatum;
@@ -416,6 +419,8 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
 	}
     else
 	{
+		in_functions = NULL;
+		elements = NULL;
 	    fread(&ntuples, sizeof(int32), 1, fp);
 	    if (ntuples != 0) reading_to_eof = false;
 	}
@@ -874,7 +879,7 @@ CopyAttributeOut(FILE *fp, char *string, char *delim)
     if (len && (string[0] == '{') && (string[len-1] == '}'))
       is_array = true;
 
-    for ( ; c = *string; string++) {
+    for ( ; (c = *string) != 0; string++) {
       if (c == delim[0] || c == '\n' ||
           (c == '\\' && !is_array))
           fputc('\\', fp);
diff --git a/src/backend/commands/defind.c b/src/backend/commands/defind.c
index 48d1aa4f8731782c4edbcf5f2017ca72cdf01c7a..fb92db6e67601408a99e9c390321ef4c549d73db 100644
--- a/src/backend/commands/defind.c
+++ b/src/backend/commands/defind.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/Attic/defind.c,v 1.4 1996/08/26 06:30:23 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/Attic/defind.c,v 1.5 1996/10/23 07:39:57 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -129,8 +129,6 @@ DefineIndex(char *heapRelationName,
      *  -- JMH, 7/22/96
      */
     foreach(pl, parameterList) {
-        int count;
-	char *ptr;
 	ParamString *param = (ParamString*)lfirst(pl);
 	
 	if (!strcasecmp(param->name, "islossy"))
@@ -138,7 +136,6 @@ DefineIndex(char *heapRelationName,
     }
   
 
-    
     /*
      * Convert the partial-index predicate from parsetree form to plan
      * form, so it can be readily evaluated during index creation.
diff --git a/src/backend/commands/define.c b/src/backend/commands/define.c
index 4ba38c793c7fd19a4aee704c1e8665e72b1ede2e..9f6b0abc8d51e581cd0e5c3985c2fd8b3ea7791e 100644
--- a/src/backend/commands/define.c
+++ b/src/backend/commands/define.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/define.c,v 1.1.1.1 1996/07/09 06:21:20 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/define.c,v 1.2 1996/10/23 07:40:01 scrappy Exp $
  *
  * DESCRIPTION
  *    The "DefineFoo" routines take the parse tree and pick out the
@@ -42,6 +42,7 @@
 #include "catalog/pg_aggregate.h"
 #include "catalog/pg_proc.h"
 #include "catalog/pg_type.h"
+#include "catalog/pg_operator.h"
 #include "utils/syscache.h"
 #include "nodes/pg_list.h"
 #include "nodes/parsenodes.h"
@@ -74,10 +75,9 @@ DefineFunction(ProcedureStmt *stmt, CommandDest dest)
     char*	prosrc_str;
     char *prorettype;
     char *languageName;
-    bool	canCache;
-    bool        trusted = TRUE;
+    bool	canCache = FALSE;
     List	*argList;
-    int32       byte_pct, perbyte_cpu, percall_cpu, outin_ratio;
+    int32       byte_pct = 100, perbyte_cpu, percall_cpu, outin_ratio = 100;
     bool	returnsSet;
     int		i;
     
@@ -112,7 +112,6 @@ DefineFunction(ProcedureStmt *stmt, CommandDest dest)
 	List *pl;
 
 	/* the defaults */
-	canCache = FALSE;
 	byte_pct = BYTE_PCT;
 	perbyte_cpu = PERBYTE_CPU;
 	percall_cpu = PERCALL_CPU;
@@ -165,12 +164,8 @@ DefineFunction(ProcedureStmt *stmt, CommandDest dest)
 	    }
 	}
     } else if (!strcmp(languageName, "sql")) {
-	canCache = false;
-	trusted = true;
-	
 	/* query optimizer groks sql, these are meaningless */
 	perbyte_cpu = percall_cpu = 0;
-	byte_pct = outin_ratio = 100;
     } else {
 	elog(WARN, "DefineFunction: language '%s' is not supported",
 	     languageName);
@@ -208,7 +203,7 @@ DefineFunction(ProcedureStmt *stmt, CommandDest dest)
 		    prosrc_str,		/* converted to text later */
 		    probin_str,		/* converted to text later */
 		    canCache,
-		    trusted,
+		    TRUE,
 		    byte_pct,
 		    perbyte_cpu,
 		    percall_cpu, 
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index a37f0f9cf4b5e878f3a1552c44f7d06978aeaa3d..6116f4b46b242fc7d8e8bec35e18155697559220 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -7,10 +7,12 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.1.1.1 1996/07/09 06:21:21 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.2 1996/10/23 07:40:08 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
+#include <stdio.h>
+
 #include "postgres.h"
 #include "parser/catalog_utils.h"
 #include "parser/parse_query.h"	    /* for MakeTimeRange() */
@@ -157,6 +159,7 @@ explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es)
 	pname = "Tee";
 	break;
     default:
+	pname = NULL;
 	break;
     }
 
diff --git a/src/backend/commands/remove.c b/src/backend/commands/remove.c
index b7defda8526e456230a6355c62760a8e5918de58..4f34b97f2400af56d6a81a0989b07720fae64cd9 100644
--- a/src/backend/commands/remove.c
+++ b/src/backend/commands/remove.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/Attic/remove.c,v 1.2 1996/08/19 01:53:39 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/Attic/remove.c,v 1.3 1996/10/23 07:40:09 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -321,7 +321,7 @@ RemoveFunction(char *functionName, /* function name to be removed */
     Buffer           buffer = InvalidBuffer;
     bool		 bufferUsed = FALSE;
     Oid	 argList[8];
-    Form_pg_proc	 the_proc;
+    Form_pg_proc	 the_proc = NULL;
     ItemPointerData  itemPointerData;
     static ScanKeyData key[3] = {
 	{ 0, Anum_pg_proc_proname, NameEqualRegProcedure }
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index 59a93904bda5cd77d8c84b649f72a24c96ef7aad..e46a5f9ec41a3ef2ebdb910050edd5d8678915c5 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.4 1996/10/18 08:13:36 vadim Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.5 1996/10/23 07:40:10 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -34,6 +34,7 @@
 #include "storage/bufmgr.h"
 #include "storage/bufpage.h"
 #include "storage/smgr.h"
+#include "storage/lmgr.h"
 
 #include "utils/elog.h"
 #include "utils/mcxt.h"
@@ -206,7 +207,7 @@ _vc_getrels(Portal p, NameData *VacRelP)
     Buffer buf;
     PortalVariableMemory portalmem;
     MemoryContext old;
-    VRelList vrl, cur;
+    VRelList vrl, cur = NULL;
     Datum d;
     char *rname;
     char rkind;
@@ -404,7 +405,7 @@ _vc_vacheap(Portal p, VRelList curvrl, Relation onerel)
     Buffer buf;
     Page page;
     OffsetNumber offnum, maxoff;
-    Relation archrel;
+    Relation archrel = NULL;
     bool isarchived;
     int nvac;
     int ntups;
@@ -883,7 +884,7 @@ _vc_free(Portal p, VRelList vrl)
 {
     VRelList p_vrl;
     VAttList p_val, val;
-    VPageDescr p_vpd, *vpd;
+    VPageDescr *vpd;
     int i;
     MemoryContext old;
     PortalVariableMemory pmem;
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 07a7c12776e61c0644f4a6dc1293c99157d9f366..83062cc68501a1297d6212026d2016f10da84c76 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -26,11 +26,12 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.4 1996/09/19 19:57:18 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.5 1996/10/23 07:40:26 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "executor/executor.h"
+#include "executor/nodeIndexscan.h"
 #include "utils/builtins.h"
 #include "utils/palloc.h"
 #include "utils/acl.h"
@@ -221,6 +222,7 @@ ExecutorRun(QueryDesc *queryDesc, EState *estate, int feature, int count)
 			     destination);
 	break;
     default:
+	result = NULL;
 	elog(DEBUG, "ExecutorRun: Unknown feature %d", feature);
 	break;
     }
diff --git a/src/backend/include/miscadmin.h b/src/backend/include/miscadmin.h
index e67691d4aad978f3cb0e8f60181e27bbe1b159c6..6af60d7c3cbb10cdcf287a22c55d1ccbf4b0ab46 100644
--- a/src/backend/include/miscadmin.h
+++ b/src/backend/include/miscadmin.h
@@ -12,7 +12,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: miscadmin.h,v 1.4 1996/10/07 03:28:12 scrappy Exp $
+ * $Id: miscadmin.h,v 1.5 1996/10/23 07:40:32 scrappy Exp $
  *
  * NOTES
  *    some of the information in this file will be moved to
@@ -23,16 +23,6 @@
 #ifndef MISCADMIN_H
 #define MISCADMIN_H
 
-/* ----------------
- *	note: <sys/types.h> was in unix.h  This should be moved
- *	to the .c files.
- * ----------------
- */
-#include <sys/types.h>
-
-#include "postgres.h"
-#include "storage/backendid.h"
-
 /*****************************************************************************
  *    globals.h --                                                           *
  *****************************************************************************/
diff --git a/src/backend/port/BSD44_derived/dl.c b/src/backend/port/BSD44_derived/dl.c
index 4f003443362c5eb248c04b606b3ed35a109d37ef..04f10544378dc53c524314571940441267a464ea 100644
--- a/src/backend/port/BSD44_derived/dl.c
+++ b/src/backend/port/BSD44_derived/dl.c
@@ -43,6 +43,8 @@ static char sccsid[] = "@(#)dl.c	5.4 (Berkeley) 2/23/91";
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "port-protos.h"
+
 static char	error_message[BUFSIZ];
 
 char *
@@ -56,7 +58,7 @@ BSD44_derived_dlerror(void)
 }
 
 void *
-BSD44_derived_dlopen(char *file, int num)
+BSD44_derived_dlopen(const char *file, int num)
 {
 #ifdef __mips__
         (void) sprintf(error_message, "dlopen (%s) not supported", file);
@@ -72,7 +74,7 @@ BSD44_derived_dlopen(char *file, int num)
 }
 
 void *
-BSD44_derived_dlsym(void *handle, char *name)
+BSD44_derived_dlsym(void *handle, const char *name)
 {
 #ifdef __mips__
 	(void) sprintf(error_message, "dlsym (%s) failed", name);
diff --git a/src/backend/port/BSD44_derived/port-protos.h b/src/backend/port/BSD44_derived/port-protos.h
index d397b4d3ed85f38797ce28f63e7f7af7fe265cda..fe1f2bbcb03295cc3e19c5527f7f2b990724cedf 100644
--- a/src/backend/port/BSD44_derived/port-protos.h
+++ b/src/backend/port/BSD44_derived/port-protos.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: port-protos.h,v 1.1.1.1 1996/07/09 06:21:42 scrappy Exp $
+ * $Id: port-protos.h,v 1.2 1996/10/23 07:40:45 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -38,4 +38,10 @@
 #define	pg_dlclose	BSD44_derived_dlclose
 #define	pg_dlerror	BSD44_derived_dlerror
 
+char *		BSD44_derived_dlerror(void);
+void *		BSD44_derived_dlopen(const char *filename, int num);
+void *		BSD44_derived_dlsym(void *handle, const char *name);
+void *		BSD44_derived_dlsym(void *handle, const char *name);
+void		BSD44_derived_dlclose(void *handle);
+
 #endif /* PORT_PROTOS_H */
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 4e3f28491b7259a41aea0ad30e85745cb02cba4d..f10d3da7f6163f614afa84a1f8487f4708581c69 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.1.1.1 1996/07/09 06:22:06 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.2 1996/10/23 07:41:00 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -237,9 +237,10 @@ typedef struct relnamecacheent {
 static void formrdesc(char *relationName, u_int natts,
 		      FormData_pg_attribute att[]);
 
+#if 0		/* See comments at line 1304 */
 static void RelationFlushIndexes(Relation *r, Oid accessMethodId);
+#endif
 
-static char *BuildDescInfoError(RelationBuildDescInfo buildinfo);
 static HeapTuple ScanPgRelation(RelationBuildDescInfo buildinfo);
 static HeapTuple scan_pg_rel_seq(RelationBuildDescInfo buildinfo);
 static HeapTuple scan_pg_rel_ind(RelationBuildDescInfo buildinfo);
@@ -260,6 +261,7 @@ static void IndexedAccessMethodInitialize(Relation relation);
  */
  
 
+#if 0		/* XXX This doesn't seem to be used anywhere */
 /* --------------------------------
  *	BuildDescInfoError returns a string appropriate to
  *	the buildinfo passed to it
@@ -282,6 +284,7 @@ BuildDescInfoError(RelationBuildDescInfo buildinfo)
     
     return errBuf;
 }
+#endif
 
 /* --------------------------------
  *	ScanPgRelation
@@ -403,6 +406,9 @@ scan_pg_rel_ind(RelationBuildDescInfo buildinfo)
 	
     default:
 	elog(WARN, "ScanPgRelation: bad buildinfo");
+	/* XXX I hope this is right.  It seems better than returning
+	 * an uninitialized value */
+	return_tuple = NULL;
     }
     
     /* all done */
@@ -641,19 +647,16 @@ RelationBuildRuleLock(Relation relation)
 
 	rule->ruleId = pg_rewrite_tuple->t_oid;
 
-	/* XXX too lazy to fix the type cast problem
-	 * 	(see rewriteDefine.c:121)
-	 */
 	rule->event =
-	    (CmdType)((char)heap_getattr(pg_rewrite_tuple, InvalidBuffer,
+	    (int)heap_getattr(pg_rewrite_tuple, InvalidBuffer,
 				  Anum_pg_rewrite_ev_type, pg_rewrite_tupdesc,
-				  &isnull) - 48);
+				  &isnull) - 48;
 	rule->attrno = 
-	    (AttrNumber)heap_getattr(pg_rewrite_tuple, InvalidBuffer,
+	    (int)heap_getattr(pg_rewrite_tuple, InvalidBuffer,
 				  Anum_pg_rewrite_ev_attr, pg_rewrite_tupdesc,
 				  &isnull);
 	rule->isInstead = 
-	    (bool)heap_getattr(pg_rewrite_tuple, InvalidBuffer,
+	    !!heap_getattr(pg_rewrite_tuple, InvalidBuffer,
 			       Anum_pg_rewrite_is_instead, pg_rewrite_tupdesc,
 			       &isnull);
 
@@ -1273,6 +1276,7 @@ RelationIdInvalidateRelationCacheByRelationId(Oid relationId)
     }
 }
 
+#if 0		/* See comments at line 1304 */
 /* --------------------------------
  *	RelationIdInvalidateRelationCacheByAccessMethodId
  *
@@ -1297,6 +1301,8 @@ RelationFlushIndexes(Relation *r,
 	    RelationFlushRelation(&relation, false);
 	}
 }
+#endif
+
 
 void
 RelationIdInvalidateRelationCacheByAccessMethodId(Oid accessMethodId)
diff --git a/src/include/access/gist.h b/src/include/access/gist.h
index e77918a21aaf2bf1751086b40c1ad35d5213f45d..4befdd8ae9331d47d3ce87282ddfb520cf862727 100644
--- a/src/include/access/gist.h
+++ b/src/include/access/gist.h
@@ -12,8 +12,11 @@
 #ifndef GIST_H
 #define GIST_H
 
+#include "utils/rel.h"
+#include "storage/off.h"
+#include "storage/block.h"
 #include "storage/bufpage.h"
-
+#include "access/skey.h"
 
 /* 
 ** You can have as many strategies as you please in GiSTs, as
@@ -146,4 +149,5 @@ extern void gistdentryinit(GISTSTATE *giststate, GISTENTRY *e, char *pr,
 			   Relation r, Page pg, OffsetNumber o, int b, bool l) ;
 extern void gistcentryinit(GISTSTATE *giststate, GISTENTRY *e, char *pr, 
 			   Relation r, Page pg, OffsetNumber o, int b, bool l) ;
+extern StrategyNumber RelationGetGISTStrategy(Relation, AttrNumber, RegProcedure);
 #endif /* GIST_H */
diff --git a/src/include/access/iqual.h b/src/include/access/iqual.h
index 0cb0cc3329b08d835c55129ff0c17455ce054f9f..6a495851305bcdcbcf4c138a49f4e3187cbde8b3 100644
--- a/src/include/access/iqual.h
+++ b/src/include/access/iqual.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: iqual.h,v 1.1 1996/08/27 21:50:16 scrappy Exp $
+ * $Id: iqual.h,v 1.2 1996/10/23 07:41:27 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -18,6 +18,7 @@
 #include "storage/itemid.h"
 #include "utils/rel.h"
 #include "access/skey.h"
+#include "access/itup.h"
 
 /* ----------------
  *	index tuple qualification support
diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index 730b04e4d4c08f45519b43b485c408e67e8efc16..58ac0b5b1346eacf992240273322415e33a3c0b7 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: nbtree.h,v 1.1 1996/08/27 21:50:19 scrappy Exp $
+ * $Id: nbtree.h,v 1.2 1996/10/23 07:41:29 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -23,6 +23,10 @@
 #include "access/relscan.h"
 #include "access/sdir.h"
 #include "nodes/pg_list.h"
+#include "storage/page.h"
+#include "storage/bufpage.h"
+#include "storage/item.h"
+#include "utils/memutils.h"
 
 /*
  *  BTPageOpaqueData -- At the end of every page, we store a pointer
diff --git a/src/include/access/relscan.h b/src/include/access/relscan.h
index 43ee60acbc161f71ba83908967b376444f7cdaab..860d9c31fbc04f243c1837a99ac18e9a0e7cd87f 100644
--- a/src/include/access/relscan.h
+++ b/src/include/access/relscan.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: relscan.h,v 1.2 1996/10/19 06:27:08 scrappy Exp $
+ * $Id: relscan.h,v 1.3 1996/10/23 07:41:30 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -14,11 +14,9 @@
 #define RELSCAN_H
 
 #include "utils/tqual.h"
+#include "utils/rel.h"
 #include "storage/buf.h"
 
-
-
-
 typedef ItemPointerData	MarkData;
 
 typedef struct HeapScanDescData {
diff --git a/src/include/access/transam.h b/src/include/access/transam.h
index 86658c9936db1f9bce05ec80600a2eabd4695e84..8cc0b4c4260a842de209938a011c10924ea7a6b9 100644
--- a/src/include/access/transam.h
+++ b/src/include/access/transam.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: transam.h,v 1.1 1996/08/27 21:50:26 scrappy Exp $
+ * $Id: transam.h,v 1.2 1996/10/23 07:41:31 scrappy Exp $
  *
  *   NOTES
  *	Transaction System Version 101 now support proper oid
@@ -17,6 +17,10 @@
 #ifndef TRANSAM_H
 #define TRANSAM_H
 
+#include "utils/nabstime.h"
+#include "utils/rel.h"
+#include "storage/bufmgr.h"
+
 /* ----------------
  *	transaction system version id
  *
diff --git a/src/include/executor/nodeIndexscan.h b/src/include/executor/nodeIndexscan.h
index dcb361dc1ac483345f19bfeb8da13baa4fb9fecc..5e55948ad91519a54aebd0d3d75ff5997992967c 100644
--- a/src/include/executor/nodeIndexscan.h
+++ b/src/include/executor/nodeIndexscan.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: nodeIndexscan.h,v 1.1 1996/08/28 07:22:20 scrappy Exp $
+ * $Id: nodeIndexscan.h,v 1.2 1996/10/23 07:41:34 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -29,4 +29,5 @@ extern bool ExecInitIndexScan(IndexScan *node, EState *estate, Plan *parent);
 
 extern int ExecCountSlotsIndexScan(IndexScan *node);
 
+extern void ExecIndexReScan(IndexScan *node, ExprContext *exprCtxt, Plan* parent);
 #endif	/* NODEINDEXSCAN_H */
diff --git a/src/include/executor/tuptable.h b/src/include/executor/tuptable.h
index cb60093565e7c82f114de1a192f0452faece4532..013464568911ef00676ea5b01c5e1daf9b1125e7 100644
--- a/src/include/executor/tuptable.h
+++ b/src/include/executor/tuptable.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: tuptable.h,v 1.1 1996/08/28 07:22:28 scrappy Exp $
+ * $Id: tuptable.h,v 1.2 1996/10/23 07:41:36 scrappy Exp $
  *
  * NOTES
  *    The tuple table interface is getting pretty ugly.
@@ -17,6 +17,9 @@
 #ifndef TUPTABLE_H
 #define TUPTABLE_H
 
+#include "access/htup.h"
+#include "access/relscan.h"
+
 /* ----------------
  *	Note:  the executor tuple table is managed and manipulated by special
  *	code and macros in executor/execTuples.c and tupTable.h
diff --git a/src/include/libpq/libpq.h b/src/include/libpq/libpq.h
index 8e6d6907ac3937be69818d84c618b1597d4a9683..d49c644e5903fc32d4c53edc482dc8bdc5420d90 100644
--- a/src/include/libpq/libpq.h
+++ b/src/include/libpq/libpq.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: libpq.h,v 1.2 1996/10/20 21:51:45 scrappy Exp $
+ * $Id: libpq.h,v 1.3 1996/10/23 07:41:41 scrappy Exp $
  *
  * NOTES
  *    This file contains definitions for structures and
@@ -19,6 +19,10 @@
 #ifndef LIBPQ_H
 #define LIBPQ_H
 
+#include <netinet/in.h>
+
+#include "libpq/pqcomm.h"
+
 /* ----------------
  * PQArgBlock --
  *	Information (pointer to array of this structure) required
diff --git a/src/include/libpq/pqcomm.h b/src/include/libpq/pqcomm.h
index e9049aec0024d69383a82ea14bccb9730efc8302..cba61f06af9c76ec38db713369dfe70de52bf211 100644
--- a/src/include/libpq/pqcomm.h
+++ b/src/include/libpq/pqcomm.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pqcomm.h,v 1.2 1996/10/11 09:12:18 bryanh Exp $
+ * $Id: pqcomm.h,v 1.3 1996/10/23 07:41:47 scrappy Exp $
  *
  * NOTES
  *    Some of this should move to libpq.h
@@ -16,7 +16,9 @@
 #ifndef PQCOMM_H
 #define	PQCOMM_H
 
+#include <stdio.h>
 #include <sys/types.h>
+
 #ifdef WIN32
 #include <winsock.h>
 #else
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h
index e8c08f60fdd6bf656f068ce7ff01dbfe5ff03c79..63cbe32b4669fed71faa95af4779dee0bac89844 100644
--- a/src/include/nodes/execnodes.h
+++ b/src/include/nodes/execnodes.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: execnodes.h,v 1.3 1996/10/20 06:35:07 scrappy Exp $
+ * $Id: execnodes.h,v 1.4 1996/10/23 07:41:56 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -15,6 +15,7 @@
 
 #include "nodes/params.h"
 #include "access/sdir.h"
+#include "access/funcindex.h"
 #include "executor/hashjoin.h"
 #include "nodes/primnodes.h"
 #include "nodes/memnodes.h"
diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h
index a96d5570dc3215e3338b5f529c9e1a334c103687..cbdb723d06f06c52301249db6dc86f143b9b55a0 100644
--- a/src/include/nodes/primnodes.h
+++ b/src/include/nodes/primnodes.h
@@ -6,13 +6,17 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: primnodes.h,v 1.3 1996/10/19 04:48:30 scrappy Exp $
+ * $Id: primnodes.h,v 1.4 1996/10/23 07:42:02 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
 #ifndef PRIMNODES_H
 #define	PRIMNODES_H
 
+#include "nodes/pg_list.h"
+#include "nodes/nodes.h"
+#include "access/attnum.h"
+
 #include "utils/fcache.h"
 
 /* ----------------------------------------------------------------
diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h
index 9209fdbe8c2910799a8f455d7fd7c6a782a8c770..de27959aa064149272e7821b6b1e253187e3f92a 100644
--- a/src/include/storage/bufpage.h
+++ b/src/include/storage/bufpage.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: bufpage.h,v 1.4 1996/10/20 06:35:16 scrappy Exp $
+ * $Id: bufpage.h,v 1.5 1996/10/23 07:42:07 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -16,6 +16,7 @@
 #include "storage/itemid.h"
 #include "storage/item.h"
 #include "storage/buf.h"
+#include "storage/page.h"
 #include "storage/off.h"
 
 /*
@@ -72,7 +73,6 @@
  * initialize its pages with PageInit and then set its own opaque
  * fields.
  */
-typedef Pointer	Page;
 
 /*
  * PageIsValid --
diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h
index 6e4fb850e85ed2b4d1e5067ca527d88bc4d335bc..f02df8114ca45c53a29e98d3b91d55496c826750 100644
--- a/src/include/utils/tqual.h
+++ b/src/include/utils/tqual.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: tqual.h,v 1.2 1996/10/20 06:35:27 scrappy Exp $
+ * $Id: tqual.h,v 1.3 1996/10/23 07:42:13 scrappy Exp $
  *
  * NOTE
  *    It may be desirable to allow time qualifications to indicate
@@ -18,6 +18,7 @@
 #define TQUAL_H
 
 #include "utils/nabstime.h"
+#include "access/htup.h"
 
 typedef struct TimeQualSpace {
     char	data[12];