aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-05-11 20:25:50 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-05-11 20:25:50 +0000
commit6f261461c1d0bb7ab4d4e2442cea313008c06f12 (patch)
tree7d6c3670257bc712a497f3c53fc81663de52bfe0
parent8f2e53bc1063f6c43d09356ecb6095be0cd907ea (diff)
downloadpostgresql-6f261461c1d0bb7ab4d4e2442cea313008c06f12.tar.gz
postgresql-6f261461c1d0bb7ab4d4e2442cea313008c06f12.zip
Revert previous change --- turns out the underlying problem affects
more cases than I thought, so ExecTypeFromTL() will have to be fixed anyway.
-rw-r--r--src/backend/optimizer/plan/createplan.c8
-rw-r--r--src/backend/optimizer/util/plancat.c20
2 files changed, 4 insertions, 24 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index 3445400988a..e9dd994cd21 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.140 2003/05/11 15:03:52 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.141 2003/05/11 20:25:50 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -296,12 +296,6 @@ use_physical_tlist(RelOptInfo *rel)
if (rel->reloptkind != RELOPT_BASEREL)
return false;
/*
- * Can't do it if relation contains dropped columns. This is detected
- * in plancat.c, see notes there.
- */
- if (rel->varlist == NIL)
- return false;
- /*
* Can't do it if any system columns are requested, either. (This could
* possibly be fixed but would take some fragile assumptions in setrefs.c,
* I think.)
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c
index 943e5752faa..c0c4775da85 100644
--- a/src/backend/optimizer/util/plancat.c
+++ b/src/backend/optimizer/util/plancat.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/plancat.c,v 1.80 2003/05/11 15:03:52 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/plancat.c,v 1.81 2003/05/11 20:25:50 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -62,15 +62,8 @@ get_relation_info(Oid relationObjectId, RelOptInfo *rel)
relation = heap_open(relationObjectId, AccessShareLock);
/*
- * Make list of physical Vars. But if there are any dropped columns,
- * punt and set varlist to NIL. (XXX Ideally we would like to include
- * dropped columns so that the varlist models the physical tuples
- * of the relation. However this creates problems for ExecTypeFromTL,
- * which may be asked to build a tupdesc for a tlist that includes vars
- * of no-longer-existent types. In theory we could dig out the required
- * info from the pg_attribute entries of the relation, but that data is
- * not readily available to ExecTypeFromTL. For now, punt and don't
- * apply the physical-tlist optimization when there are dropped cols.)
+ * Make list of physical Vars. Note we do NOT ignore dropped columns;
+ * the intent is to model the physical tuples of the relation.
*/
numattrs = RelationGetNumberOfAttributes(relation);
@@ -78,13 +71,6 @@ get_relation_info(Oid relationObjectId, RelOptInfo *rel)
{
Form_pg_attribute att_tup = relation->rd_att->attrs[attrno - 1];
- if (att_tup->attisdropped)
- {
- /* found a dropped col, so punt */
- varlist = NIL;
- break;
- }
-
varlist = lappend(varlist,
makeVar(varno,
attrno,