(2014/04/10 22:25), Tom Lane wrote:
> Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp> writes:
>> (2014/04/10 0:08), Tom Lane wrote:
>>> TBH I think that's barely the tip of the iceberg of cases where this
>>> patch will get the wrong answer.
>
>>> Also, I don't see it doing anything to check the ordering
>>> of multiple index columns
>
>> I think that the following code in index_pathkeys_are_extensible() would
>> check the ordering:
>> + if (!pathkeys_contained_in(pathkeys, root->query_pathkeys))
>> + return false;
>
> Hm ... if you're relying on that, then what's the point of the new loop
> at all?
The point is that from the discussion [1], we allow the index pathkeys
to be extended to query_pathkeys if each *remaining* pathkey in
query_pathkey is a Var belonging to the indexed relation. The code is
confusing, though. Sorry, that is my faults.
Thanks,
[1] http://www.postgresql.org/message-id/29637.1389064686@sss.pgh.pa.us
Best regards,
Etsuro Fujita