Index: src/backend/optimizer/path/allpaths.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v
retrieving revision 1.137.2.2
diff -c -r1.137.2.2 allpaths.c
*** src/backend/optimizer/path/allpaths.c	13 Feb 2006 16:22:29 -0000	1.137.2.2
--- src/backend/optimizer/path/allpaths.c	2 May 2006 04:31:27 -0000
***************
*** 264,269 ****
--- 264,276 ----
  				 errmsg("SELECT FOR UPDATE/SHARE is not supported for inheritance queries")));
  
  	/*
+ 	 * We might have looked up indexes for the parent rel, but they're
+ 	 * really not relevant to the appendrel.  Reset the pointer to avoid
+ 	 * any confusion.
+ 	 */
+ 	rel->indexlist = NIL;
+ 
+ 	/*
  	 * Initialize to compute size estimates for whole inheritance tree
  	 */
  	rel->rows = 0;
Index: src/backend/utils/adt/selfuncs.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v
retrieving revision 1.191.2.1
diff -c -r1.191.2.1 selfuncs.c
*** src/backend/utils/adt/selfuncs.c	22 Nov 2005 18:23:22 -0000	1.191.2.1
--- src/backend/utils/adt/selfuncs.c	2 May 2006 04:31:27 -0000
***************
*** 2970,2988 ****
  		(varRelid == 0 || varRelid == ((Var *) basenode)->varno))
  	{
  		Var		   *var = (Var *) basenode;
! 		Oid			relid;
  
  		vardata->var = basenode;	/* return Var without relabeling */
  		vardata->rel = find_base_rel(root, var->varno);
  		vardata->atttype = var->vartype;
  		vardata->atttypmod = var->vartypmod;
  
! 		relid = getrelid(var->varno, root->parse->rtable);
  
! 		if (OidIsValid(relid))
  		{
  			vardata->statsTuple = SearchSysCache(STATRELATT,
! 												 ObjectIdGetDatum(relid),
  												 Int16GetDatum(var->varattno),
  												 0, 0);
  		}
--- 2970,2996 ----
  		(varRelid == 0 || varRelid == ((Var *) basenode)->varno))
  	{
  		Var		   *var = (Var *) basenode;
! 		RangeTblEntry *rte;
  
  		vardata->var = basenode;	/* return Var without relabeling */
  		vardata->rel = find_base_rel(root, var->varno);
  		vardata->atttype = var->vartype;
  		vardata->atttypmod = var->vartypmod;
  
! 		rte = rt_fetch(var->varno, root->parse->rtable);
  
! 		if (rte->inh)
! 		{
! 			/*
! 			 * XXX This means the Var represents a column of an append relation.
! 			 * Later add code to look at the member relations and try to derive
! 			 * some kind of combined statistics?
! 			 */
! 		}
! 		else if (rte->rtekind == RTE_RELATION)
  		{
  			vardata->statsTuple = SearchSysCache(STATRELATT,
! 												 ObjectIdGetDatum(rte->relid),
  												 Int16GetDatum(var->varattno),
  												 0, 0);
  		}
