Re: WIP: Covering + unique indexes.
От | David Rowley |
---|---|
Тема | Re: WIP: Covering + unique indexes. |
Дата | |
Msg-id | CAKJS1f8Fbd69Y0qONSkn9q7-2VhzDVhodFXKdNiPDdpRO0p35A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: WIP: Covering + unique indexes. (Anastasia Lubennikova <a.lubennikova@postgrespro.ru>) |
Ответы |
Re: WIP: Covering + unique indexes.
|
Список | pgsql-hackers |
On 14 January 2016 at 02:58, Anastasia Lubennikova <a.lubennikova@postgrespro.ru> wrote:
13.01.2016 04:27, David Rowley:I've also done some testing:
create table ab (a int, b int);
insert into ab select a,b from generate_Series(1,10) a(a), generate_series(1,10000) b(b);
set enable_bitmapscan=off;
set enable_indexscan=off;
select * from ab where a = 1 and b=1;
a | b
---+---
1 | 1
(1 row)
set enable_indexscan = on;
select * from ab where a = 1 and b=1;
a | b
---+---
(0 rows)
This is broken. I've not looked into why yet, but from looking at the EXPLAIN output I was a bit surprised to see b=1 as an index condition. I'd have expected a Filter maybe, but I've not looked at the EXPLAIN code to see how those are determined yet.
Hmm... Do you use both patches?
And could you provide index definition, I can't reproduce the problem assuming that index is created by the statement
CREATE INDEX idx ON ab (a) INCLUDING (b);
Sorry, I forgot the index, and yes you guessed correctly about that.
The problem only exists without the omit_opclass_4.0.patch and with the covering_unique_4.0.patch, so please ignore.
I will try to review the omit_opclass_4.0.patch soon.
David
--
В списке pgsql-hackers по дате отправления: