Re: Amcheck verification of GiST and GIN - Mailing list pgsql-hackers

From Mark Dilger
Subject Re: Amcheck verification of GiST and GIN
Date
Msg-id CAHgHdKv4WXtw5s7r4pogxgJ7HjJAvusYzcG7AxN12gm-vyVeMA@mail.gmail.com
Whole thread Raw
In response to Re: Amcheck verification of GiST and GIN  (Kirill Reshke <reshkekirill@gmail.com>)
List pgsql-hackers
 
So, we have an entry tree page, where there is tuple on offset 80,
with gin tuple category = 3, and then it goes category 0 again. And
one more such pattern on the same page.
The ginCompareEntries function compares the gin tuples category first.
I do not understand how this would be a valid order on the page, given
that
ginCompareEntries used in `ginget.c` logic. . Maybe I'm missing
something vital about GIN.

The only obvious definition of "wrong" for this is that gin index scans return different result sets than table scans over the same data.  Using your much smaller reproducible test case, and adding rows like:

SELECT COUNT(*) FROM tbl WHERE j @> '"1129BBCABFFAACA9VGVKipnwohaccc9TSIMTOQKHmcGYVeFE_PWKLHmpyj60137672qugtsstugg"'::jsonb;
SELECT COUNT(*) FROM tbl WHERE j @> '{"": "r", "hji4124": "", "HTJP_DAptxn6": 9}'::jsonb;
SELECT COUNT(*) FROM tbl WHERE j @> '[]'::jsonb;
SELECT COUNT(*) FROM tbl WHERE j @> NULL::jsonb;
SELECT COUNT(*) FROM tbl WHERE j @> '{"": -6, "__": [""], "YMb": -22}'::jsonb;
SELECT COUNT(*) FROM tbl WHERE j @> '{"853": -60, "pjx": "", "TGLUG_jxmrggv": null}'::jsonb;
SELECT COUNT(*) FROM tbl WHERE j @> '"D3BDA069074174vx48A37IVHWVXLUP9382542ypsl1465pixtryzCBgrkkhrvCC_BDDFatkyXHLIe"'::jsonb;
SELECT COUNT(*) FROM tbl WHERE j @> '{"F18s": {"": -84194}, "ececab2": [""]}'::jsonb;

The results are the same with or without the index.  Can you find any examples where they differ?


Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: moving some code out of explain.c
Next
From: Masahiko Sawada
Date:
Subject: Re: Update docs for UUID data type