Thread: Update obsolete text in indexam.sgml

Update obsolete text in indexam.sgml

From
"Etsuro Fujita"
Date:
ISTM it would be better to update the text about index cost estimation in
indexam.sgml.  Please find attached a patch.

Thanks,

Best regards,
Etsuro Fujita

Re: Update obsolete text in indexam.sgml

From
Tom Lane
Date:
"Etsuro Fujita" <fujita.etsuro@lab.ntt.co.jp> writes:
> ISTM it would be better to update the text about index cost estimation in
> indexam.sgml.  Please find attached a patch.

I'm not too thrilled with the proposed patch.  In the first place, I
don't think it's necessary to address costing of index order-by
expressions in an introductory explanation.  It seems likely that no FDW
will ever need to deal with that at all.  In the second, this change
makes the code less clear, not more so, because it introduces a variable
indexQuals without showing where you would get that value from.
        regards, tom lane



Re: Update obsolete text in indexam.sgml

From
"Etsuro Fujita"
Date:
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]

> "Etsuro Fujita" <fujita.etsuro@lab.ntt.co.jp> writes:
> > ISTM it would be better to update the text about index cost estimation in
> > indexam.sgml.  Please find attached a patch.
>
> I'm not too thrilled with the proposed patch.  In the first place, I
> don't think it's necessary to address costing of index order-by
> expressions in an introductory explanation.

Agreed.

> In the second, this change
> makes the code less clear, not more so, because it introduces a variable
> indexQuals without showing where you would get that value from.

Agreed.  However, I am concerned about the next comment in the current code:

/** Our generic assumption is that the index pages will be read* sequentially, so they cost seq_page_cost each, not
random_page_cost.*...
 

I think this assumption is completely wrong, which has given me a motivation to
propose a patch, though I am missing something.

Thanks,

Best regards,
Etsuro Fujita





Re: Update obsolete text in indexam.sgml

From
Tom Lane
Date:
"Etsuro Fujita" <fujita.etsuro@lab.ntt.co.jp> writes:
> Agreed.  However, I am concerned about the next comment in the current code:

> /*
>  * Our generic assumption is that the index pages will be read
>  * sequentially, so they cost seq_page_cost each, not random_page_cost.
>  * ...

> I think this assumption is completely wrong, which has given me a motivation to
> propose a patch, though I am missing something.

Mph.  It's pretty hard to argue that it's wrong without considering a
specific index implementation, which in practice would have a ton of
other details that need to be accounted for here.  I don't have a strong
objection to changing the sample code to use random_page_cost instead,
but I doubt it will help anybody one way or another.

FWIW, the docs' sample code was an accurate transcription of what
genericcostestimate did at the time (8.1 era).  I think the case we were
thinking of when that code was written was a recently-rebuilt btree
index, in which logically adjacent leaf pages would indeed often be
sequential.
        regards, tom lane



Re: Update obsolete text in indexam.sgml

From
"Etsuro Fujita"
Date:
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]

> "Etsuro Fujita" <fujita.etsuro@lab.ntt.co.jp> writes:
> > Agreed.  However, I am concerned about the next comment in the current code:
>
> > /*
> >  * Our generic assumption is that the index pages will be read
> >  * sequentially, so they cost seq_page_cost each, not random_page_cost.
> >  * ...
>
> > I think this assumption is completely wrong, which has given me a motivation
> to
> > propose a patch, though I am missing something.
>
> Mph.  It's pretty hard to argue that it's wrong without considering a
> specific index implementation, which in practice would have a ton of
> other details that need to be accounted for here.  I don't have a strong
> objection to changing the sample code to use random_page_cost instead,
> but I doubt it will help anybody one way or another.

To avoid creating unnecessary confusion among Index AM developers, I think it
would be better that the docs' sample code is consistent with the actual code in
selfuncs.c, which the docs referred to at the end of the page.  No?

Thanks,

Best regards,
Etsuro Fujita