Re: WIP: Covering + unique indexes.

Alexander Korotkov <a.korotkov@postgrespro.ru>

From: Alexander Korotkov <a.korotkov@postgrespro.ru>
To: Erik Rijkers <er@xs4all.nl>
Cc: Peter Geoghegan <pg@bowt.ie>, Anastasia Lubennikova <a.lubennikova@postgrespro.ru>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-04-05T14:07:57Z
Lists: pgsql-hackers
On Thu, Apr 5, 2018 at 5:02 PM, Erik Rijkers <er@xs4all.nl> wrote:

> On 2018-04-05 00:09, Alexander Korotkov wrote:
>
>> Thank you for review!  Revised patchset is attached.
>> [0001-Covering-core-v12.patch]
>> [0002-Covering-btree-v12.patch]
>> [0003-Covering-amcheck-v12.patch]
>> [0004-Covering-natts-v12.patch]
>>
>
> Really nice performance gains.
>
> I read through the docs and made some changes.  I hope it can count as
> improvement.
>

Thank you for your improvements of the docs.  Your chenges will be
incorporated into new revision of patchset which I'm going to post today.


> It would probably also be a good idea to add the term "covering index"
> somewhere, at least in the documentation's index; the term does now not
> occur anywhere.  (This doc-patch does not add it)
>

I'll think about it.  May be we'll define "covering index" in the docs.

------
Alexander Korotkov
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