pull_up_subqueries question - Mailing list pgsql-general

From Dennis Haney
Subject pull_up_subqueries question
Date
Msg-id 3FF5764F.4040207@diku.dk
Whole thread Raw
Responses Re: pull_up_subqueries question
List pgsql-general
Hi

I was looking at pull_up_subqueries
(backend/optimizer/prep/prepjointree.c 135) and I was wondering why the
recursive optimization is only done on subqueries that can be optimized.
As in, why isn't the code like:

if (rte->rtekind == RTE_SUBQUERY) {
            subquery = copyObject(subquery);
            if (subquery->hasSubLinks)
                subquery->jointree->quals = pull_up_IN_clauses(subquery,
                                              subquery->jointree->quals);
            subquery->jointree = (FromExpr *)
                pull_up_subqueries(subquery, (Node *) subquery->jointree,
                                   false);
        if (is_simple_subquery(subquery) &&
            (!below_outer_join || has_nullable_targetlist(subquery)) &&
            !contain_whole_tuple_var((Node *) parse, varno, 0))
      {
          //optimize the subquery up
      }
}


--
Dennis



pgsql-general by date:

Previous
From: "Chris Travers"
Date:
Subject: Re: Bug and/or feature? Complex data types in tables...
Next
From: Guy Fraser
Date:
Subject: Re: why the need for is null?