Allow HOT updates for some expression indexes

Simon Riggs <simon@2ndQuadrant.com>

Commit: c203d6cf81b4d7e43edb2b75ec1b741ba48e04e0
Author: Simon Riggs <simon@2ndQuadrant.com>
Date: 2018-03-27T18:57:02Z
Releases: 11.0
Allow HOT updates for some expression indexes

If the value of an index expression is unchanged after UPDATE,
allow HOT updates where previously we disallowed them, giving
a significant performance boost in those cases.

Particularly useful for indexes such as JSON->>field where the
JSON value changes but the indexed value does not.

Submitted as "surjective indexes" patch, now enabled by use
of new "recheck_on_update" parameter.

Author: Konstantin Knizhnik
Reviewer: Simon Riggs, with much wordsmithing and some cleanup

Files

Documentation touched