| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Amit Kapila <amit(dot)kapila(at)huawei(dot)com> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Improving our clauseless-join heuristics |
| Date: | 2012-04-19 05:33:13 |
| Message-ID: | 10101.1334813593@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Amit Kapila <amit(dot)kapila(at)huawei(dot)com> writes:
> The way I am telling was as below code.
> With this extra paths will get generated, but it will as well consider for
> joining c and d in query:
> select * from a, b, c, d where a.x = b.y and (a.z = c.c or a.z = d.d)
I think this would just be dead code as of HEAD. With the recent
changes in the definition of have_relevant_joinclause, if we get into
make_rels_by_clause_joins there should always be at least one other
relation that the old_rel is considered to join to. In any case,
I don't see the point of adding more logic to make_rels_by_clause_joins
unless it allows us to take out as much or more work elsewhere.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jeff Davis | 2012-04-19 06:25:45 | Re: 9.3 Pre-proposal: Range Merge Join |
| Previous Message | Kyotaro HORIGUCHI | 2012-04-19 05:20:07 | Re: [BUG] Checkpointer on hot standby runs without looking checkpoint_segments |