Re: WIP: Covering + unique indexes.

Anastasia Lubennikova <a.lubennikova@postgrespro.ru>

From: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
To: pgsql-hackers@postgresql.org
Date: 2016-01-13T12:56:49Z
Lists: pgsql-hackers

13.01.2016 04:47, David Rowley :
> On 13 January 2016 at 06:47, Jeff Janes <jeff.janes@gmail.com 
> <mailto:jeff.janes@gmail.com>> wrote:
>
>
>     Why is omit_opclass a separate patch?  If the included columns now
>     never participate in the index ordering, shouldn't it be an inherent
>     property of the main patch that you can "cover" things without btree
>     opclasses?
>
>
> I don't personally think the covering_unique_4.0.patch is that close 
> to being too big to review, I think things would make more sense of 
> the omit_opclass_4.0.patch was included together with this.
>

I agree that these patches should be merged. It'll be fixed it the next 
updates.
I kept them separate only for historical reasons, it was more convenient 
for me to debug them. Furthermore, I wanted to show some performance 
degradation caused by "omit_opclass" and give a way to reproduce it 
performing test with and whithot the patch.

-- 
Anastasia Lubennikova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Commits

  1. Adjust INCLUDE index truncation comments and code.

  2. Add commentary explaining why MaxIndexTuplesPerPage calculation is safe.

  3. Indexes with INCLUDE columns and their support in B-tree

  4. Add amcheck verification of heap relations belonging to btree indexes.

  5. Doc: move info for btree opclass implementors into main documentation.

  6. Doc: mention that you can't PREPARE TRANSACTION after NOTIFY.

  7. Remove dedicated B-tree root-split record types.

  8. Restructure index access method API to hide most of it at the C level.

  9. Split _bt_insertonpg to two functions.

  10. Major overhaul of btree index code. Eliminate special BTP_CHAIN logic for