File tree Expand file tree Collapse file tree 1 file changed +23
-15
lines changed
src/backend/optimizer/path Expand file tree Collapse file tree 1 file changed +23
-15
lines changed Original file line number Diff line number Diff line change 7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/prune.c,v 1.7 1997/12/21 05:18:21 momjian Exp $
10
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/prune.c,v 1.8 1997/12/23 03:27:23 momjian Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -210,22 +210,30 @@ prune_oldrels(List *old_rels)
210
210
{
211
211
Rel * rel ;
212
212
List * joininfo_list ,
213
- * xjoininfo ;
213
+ * xjoininfo ,
214
+ * i ,
215
+ * temp_list = NIL ;
214
216
215
- if (old_rels == NIL )
216
- return (NIL );
217
-
218
- rel = (Rel * ) lfirst (old_rels );
219
- joininfo_list = rel -> joininfo ;
220
- if (joininfo_list == NIL )
221
- return (lcons (rel , prune_oldrels (lnext (old_rels ))));
222
-
223
- foreach (xjoininfo , joininfo_list )
217
+ foreach (i , old_rels )
224
218
{
225
- JInfo * joininfo = (JInfo * ) lfirst (xjoininfo );
219
+ rel = (Rel * ) lfirst (i );
220
+ joininfo_list = rel -> joininfo ;
226
221
227
- if (!joininfo -> inactive )
228
- return (lcons (rel , prune_oldrels (lnext (old_rels ))));
222
+ if (joininfo_list == NIL )
223
+ temp_list = lcons (rel , temp_list );
224
+ else
225
+ {
226
+ foreach (xjoininfo , joininfo_list )
227
+ {
228
+ JInfo * joininfo = (JInfo * ) lfirst (xjoininfo );
229
+
230
+ if (!joininfo -> inactive )
231
+ {
232
+ temp_list = lcons (rel , temp_list );
233
+ break ;
234
+ }
235
+ }
236
+ }
229
237
}
230
- return ( prune_oldrels ( lnext ( old_rels )));
238
+ return temp_list ;
231
239
}
You can’t perform that action at this time.
0 commit comments