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-19T17:08:07Z
Lists: pgsql-hackers

Attachments


18.01.2016 01:02, David Rowley пишет:
> On 14 January 2016 at 08:24, David Rowley 
> <david.rowley@2ndquadrant.com <mailto:david.rowley@2ndquadrant.com>> 
> wrote:
>
>     I will try to review the omit_opclass_4.0.patch soon.
>
>
> Hi, as promised, here's my review of the omit_opclass_4.0.patch patch.
>
Thank you again. All mentioned points are fixed and patches are merged.
I hope it's all right now. Please check comments one more time. I rather 
doubt that I wrote everything correctly.
> Also this makes me think that the name ii_KeyAttrNumbers is now 
> out-of-date, as it contains
> the including columns too by the looks of it. Maybe it just needs to 
> drop the "Key" and become
> "ii_AttrNumbers". It would be interesting to hear what others think of 
> that.
>
> I'm also wondering if indexkeys is still a good name for the 
> IndexOptInfo struct member.
> Including columns are not really keys, but I feel renaming that might 
> cause a fair bit of code churn, so I'd be interested to hear what 
> other's have to say.

I agree that KeyAttrNumbers and indexkeys are a bit confusing names, but 
I'd like to keep them at least in this patch.
It's may be worth doing "index structures refactoring" as a separate 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