Re: WIP: Covering + unique indexes.
David Rowley <david.rowley@2ndquadrant.com>
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 -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Adjust INCLUDE index truncation comments and code.
- 075aade4361b 11.0 landed
-
Add commentary explaining why MaxIndexTuplesPerPage calculation is safe.
- 2a67d6440db4 11.0 cited
-
Indexes with INCLUDE columns and their support in B-tree
- 8224de4f42cc 11.0 landed
-
Add amcheck verification of heap relations belonging to btree indexes.
- 7f563c09f890 11.0 cited
-
Doc: move info for btree opclass implementors into main documentation.
- 3785f7eee3d9 11.0 cited
-
Doc: mention that you can't PREPARE TRANSACTION after NOTIFY.
- e4fbf22831c2 11.0 cited
-
Remove dedicated B-tree root-split record types.
- 0c504a80cf2e 11.0 cited
-
Restructure index access method API to hide most of it at the C level.
- 65c5fcd353a8 9.6.0 cited
-
Split _bt_insertonpg to two functions.
- bc292937ae6a 8.3.0 cited
-
Major overhaul of btree index code. Eliminate special BTP_CHAIN logic for
- 9e85183bfc31 7.1.1 cited