There's a little copy-pasto in gist_check_page_keys():

+                       for (o = FirstOffsetNumber; o <= parent_maxoff; o = 
OffsetNumberNext(i))

Should be "OffsetNumberNext(o)".

I tested this patch with your testing patch from the other thread (after fixing the above), to leave behind incompletely split pages [1]. It seems that the amcheck code doesn't expect incomplete splits:

postgres=# SELECT gist_index_parent_check('x_c_idx');
ERROR:  index "x_c_idx" has inconsistent records

[1] https://www.postgresql.org/message-id/EB87A69B-EE5E-4259-9EEB-DA9DC1F7E265%40yandex-team.ru

- Heikki

Reply via email to