12
12
*
13
13
*
14
14
* IDENTIFICATION
15
- * $Header: /cvsroot/pgsql/src/backend/executor/execScan.c,v 1.27 2003/08/08 21 :41:40 momjian Exp $
15
+ * $Header: /cvsroot/pgsql/src/backend/executor/execScan.c,v 1.28 2003/09/25 19 :41:49 tgl Exp $
16
16
*
17
17
*-------------------------------------------------------------------------
18
18
*/
@@ -196,9 +196,7 @@ tlist_matches_tupdesc(List *tlist, Index varno, TupleDesc tupdesc)
196
196
197
197
for (attrno = 1 ;attrno <=numattrs ;attrno ++ )
198
198
{
199
- #ifdef USE_ASSERT_CHECKING /* only used in Assert() */
200
199
Form_pg_attribute att_tup = tupdesc -> attrs [attrno - 1 ];
201
- #endif
202
200
Var * var ;
203
201
204
202
if (tlist == NIL )
@@ -207,11 +205,13 @@ tlist_matches_tupdesc(List *tlist, Index varno, TupleDesc tupdesc)
207
205
if (!var || !IsA (var ,Var ))
208
206
return false;/* tlist item not a Var */
209
207
Assert (var -> varno == varno );
208
+ Assert (var -> varlevelsup == 0 );
210
209
if (var -> varattno != attrno )
211
210
return false;/* out of order */
211
+ if (att_tup -> attisdropped )
212
+ return false;/* table contains dropped columns */
212
213
Assert (var -> vartype == att_tup -> atttypid );
213
214
Assert (var -> vartypmod == att_tup -> atttypmod );
214
- Assert (var -> varlevelsup == 0 );
215
215
216
216
tlist = lnext (tlist );
217
217
}