diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-05-11 15:03:52 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-05-11 15:03:52 +0000 |
commit | 8f2e53bc1063f6c43d09356ecb6095be0cd907ea (patch) | |
tree | b227976bd91d2efae2e91136400d6bf9b20e0a72 /src/backend/optimizer/plan/createplan.c | |
parent | a4e775a263317a23607eb1a6ea8205a185385a4b (diff) | |
download | postgresql-8f2e53bc1063f6c43d09356ecb6095be0cd907ea.tar.gz postgresql-8f2e53bc1063f6c43d09356ecb6095be0cd907ea.zip |
Disable the recently-added use_physical_tlist optimization in cases
where the table contains dropped columns. If the columns are dropped,
then their types may be gone as well, which causes ExecTypeFromTL() to
fail if the dropped columns appear in a plan node's tlist. This could
be worked around but I don't think the optimization is valuable enough
to be worth the trouble.
Diffstat (limited to 'src/backend/optimizer/plan/createplan.c')
-rw-r--r-- | src/backend/optimizer/plan/createplan.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index b491065f03d..3445400988a 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.139 2003/05/06 00:20:32 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.140 2003/05/11 15:03:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -296,6 +296,12 @@ 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.) |