> On May 17, 2024, at 11:51 AM, Pavel Borisov <pashkin.e...@gmail.com> wrote:
>
> Amcheck with checkunique option does check uniqueness violation between
> pages. But it doesn't warranty detection of cross page uniqueness violations
> in extremely rare cases when the first equal index entry on the next page
> corresponds to tuple that is not visible (e.g. dead). In this, I followed the
> Peter's notion [1] that checking across a number of dead equal entries that
> could theoretically span even across many pages is an unneeded code
> complication and amcheck is not a tool that provides any warranty when
> checking an index.
This confuses me a bit. The regression test creates a table and index but
never performs any DELETE nor any UPDATE operations, so none of the index
entries should be dead. If I am understanding you correct, I'd be forced to
conclude that the uniqueness checking code is broken. Can you take a look?
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company