Re: [HACKERS] and again ... optimizer - Mailing list pgsql-hackers

From Vadim B. Mikheev
Subject Re: [HACKERS] and again ... optimizer
Date
Msg-id 8757b3cbaf36054785bc945c7f96a0a4
Whole thread Raw
List pgsql-hackers
Martin S. Utesch wrote:
>
> Vadim wrote:
>
> > Martin, I see that geqo_eval.c:gimme_tree() also calls compute_rel_size()
> > while compute_joinrel_size() already called by
> > geqo_paths.c:geqo_rel_paths(). After commenting out compute_rel_size()
> > GEQO returns good plan too. But I didn't change CVS...
> > Your decision ?
>
> I trust your decision. Do it.

Ok.

> What about *compute_rel_width*?

All right here.

>
> Please also have a look at the following...
>
> 1.) In case of *standard PG optimizer* the following would be relevant:
>     joinrels.c:init_join_rel->set_joinrel_size
>                               ^^^^^^^^^^^^^^^^(this seems to be a hack)
>     This is the first time the size of a new created joinrel is touched.
>     Is the code o.k.?
>
> 2.) In case of *GEQO* the following would be relevant:
>     geqo_eval.c:init_join_rel->geqo_joinrel_size
>                                ^^^^^^^^^^^^^^^^^which is the same as
>     set_joinrel_size, but it makes log2 of the output if the value
>     rel->size becomes bigger than MAXINT. I encounterd such several
>     times. It's a pity that t'rel size is defined as int, not float so
>     that such hacks are neccessary :-(

I havn't time currently, but you're right - we need in some cleanups here.

Vadim

------------------------------

pgsql-hackers by date:

Previous
From: "Thomas G. Lockhart"
Date:
Subject: Re: [HACKERS] v6.1 buffers and performance
Next
From: Bruce Momjian
Date:
Subject: [HACKERS] Re: [PATCHES] Raymond Toy: Case sensitivity bug with large objects!