Re: [NOVICE] WHERE clause not used when index is used

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: Tobias Florek <postgres(at)ibotty(dot)net>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Simon Riggs <simon(at)2ndQuadrant(dot)com>
Subject: Re: [NOVICE] WHERE clause not used when index is used
Date: 2016-03-01 17:37:23
Message-ID: 16561.1456853843@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-novice

Jeff Janes <jeff(dot)janes(at)gmail(dot)com> writes:
> Bisects down to:

> 606c0123d627b37d5ac3f7c2c97cd715dde7842f is the first bad commit
> commit 606c0123d627b37d5ac3f7c2c97cd715dde7842f
> Author: Simon Riggs <simon(at)2ndQuadrant(dot)com>
> Date: Tue Nov 18 10:24:55 2014 +0000

> Reduce btree scan overhead for < and > strategies

On looking at this, the problem seems pretty obvious: that commit simply
fails to consider multi-column keys at all. (For that matter, it also
fails to consider zero-column keys.) I think the logic might be all right
if a test on so->numberOfKeys == 1 were added; I don't see how the
optimization could work in multi-column cases.

However, I'm not sure that's 100% of the issue, because in playing around
with this I was having a harder time reproducing the failure outside of
Tobias' example than I expected. There may be more than one bug, or there
may be other changes that sometimes mask the problem.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Catalin Iacob 2016-03-01 17:48:07 Re: proposal: PL/Pythonu - function ereport
Previous Message Stephen Frost 2016-03-01 17:32:48 Re: [NOVICE] WHERE clause not used when index is used

Browse pgsql-novice by date

  From Date Subject
Next Message Petr Jelinek 2016-03-01 18:01:58 Re: [NOVICE] WHERE clause not used when index is used
Previous Message Stephen Frost 2016-03-01 17:32:48 Re: [NOVICE] WHERE clause not used when index is used