OSDN Git Service

if ( new_rel->size <= 0 )
authorVadim B. Mikheev <vadim4o@yahoo.com>
Tue, 10 Jun 1997 07:53:55 +0000 (07:53 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
Tue, 10 Jun 1997 07:53:55 +0000 (07:53 +0000)
                    new_rel->size = compute_rel_size(new_rel);

src/backend/optimizer/geqo/geqo_eval.c
src/backend/optimizer/geqo/geqo_paths.c

index ccaae3c..ebbc7f6 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: geqo_eval.c,v 1.10 1997/06/06 03:18:02 vadim Exp $
+ * $Id: geqo_eval.c,v 1.11 1997/06/10 07:53:53 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -157,9 +157,8 @@ gimme_tree (Query *root, Gene *tour, int rel_count, int num_gene, Rel *outer_rel
                geqo_rel_paths(new_rel);
 
                /* processing of other new_rel attributes */
-#if 0          /* compute_joinrel_size already called by geqo_rel_paths */
-               new_rel->size = compute_rel_size(new_rel);
-#endif
+               if ( new_rel->size <= 0 )
+                   new_rel->size = compute_rel_size(new_rel);
                new_rel->width = compute_rel_width(new_rel);
 
                root->join_relation_list_ = lcons(new_rel, NIL);
index e388b0e..3b5b417 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: geqo_paths.c,v 1.2 1997/02/19 14:52:06 scrappy Exp $
+ * $Id: geqo_paths.c,v 1.3 1997/06/10 07:53:55 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -102,16 +102,17 @@ geqo_rel_paths(Rel *rel)
     Path *path = (Path*)NULL;
     JoinPath *cheapest = (JoinPath*)NULL;
     
-       foreach(y, rel->pathlist) {
-               path = (Path*)lfirst(y);
+    rel->size = 0;
+    foreach(y, rel->pathlist)
+    {
+       path = (Path*)lfirst(y);
 
-          if(!path->p_ordering.ord.sortop) {
+       if(!path->p_ordering.ord.sortop)
                        break;
-                   }       
-               }
+    }
 
-       cheapest = (JoinPath*)set_paths(rel, path);
-       rel->size = compute_joinrel_size(cheapest);
+    cheapest = (JoinPath*)set_paths(rel, path);
+    rel->size = compute_joinrel_size(cheapest);
 }