Index Skip Scan (new UniqueKeys)

From: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Cc: Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com>, David Rowley <dgrowleyml(at)gmail(dot)com>, Floris Van Nee <florisvannee(at)optiver(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Subject: Index Skip Scan (new UniqueKeys)
Date: 2020-06-09 10:22:47
Message-ID: 20200609102247.jdlatmfyeecg52fi@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Here is a new version of index skip scan patch, based on v8 patch for
UniqueKeys implementation from [1]. I want to start a new thread to
simplify navigation, hopefully I didn't forget anyone who actively
participated in the discussion.

To simplify reviewing I've split it into several parts:

* First two are taken from [1] just for the reference and to make cfbot happy.

* Extend-UniqueKeys consists changes that needs to be done for
UniqueKeys to be used in skip scan. Essentially this is a reduced
version of previous implementation from Jesper & David, based on the
new UniqueKeys infrastructure, as it does the very same thing.

* Index-Skip-Scan contains not am specific code and the overall
infrastructure, including configuration elements and so on.

* Btree-implementation contains btree specific code to implement amskip,
introduced in the previous patch.

* The last one contains just documentation bits.

Interesting enough with a new UniqueKey implementation skipping is
applied in some tests unexpectedly. For those I've disabled
indexskipscan to avoid confusion.

[1]: https://www.postgresql.org/message-id/flat/CAKU4AWrwZMAL%3DuaFUDMf4WGOVkEL3ONbatqju9nSXTUucpp_pw%40mail.gmail.com

Attachment Content-Type Size
v8-0001-Introduce-RelOptInfo-notnullattrs-attribute.patch text/x-diff 2.9 KB
v8-0002-Introuduce-RelOptInfo.uniquekeys-attribute.patch text/x-diff 48.2 KB
v35-0001-Extend-UniqueKeys.patch text/x-diff 13.0 KB
v35-0002-Index-skip-scan.patch text/x-diff 38.4 KB
v35-0003-Btree-implementation-of-skipping.patch text/x-diff 40.0 KB
v35-0004-Index-skip-scan-documentation.patch text/x-diff 4.6 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dagfinn Ilmari Mannsåker 2020-06-09 10:26:19 Re: TAP tests and symlinks on Windows
Previous Message Dilip Kumar 2020-06-09 10:22:21 Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions