Thread
Commits
-
pageinspect: Fix use of wrong memory context by hash_page_items.
- 51fc1b09a3ba 10.2 landed
- b0313f9cc8f5 11.0 landed
-
Invalid result from hash_page_items function
Masahiko Sawada <sawada.mshk@gmail.com> — 2018-01-25T21:50:59Z
Hi, While researching hash index, I found that hash_page_items could return an invalid result as follows. postgres(1:1056)=# create table hash_test (c int); CREATE TABLE postgres(1:1056)=# insert into hash_test select generate_series(1,50) % 5; INSERT 0 50 postgres(1:1056)=# create index hash_idx on hash_test using hash (c); CREATE INDEX postgres(1:1056)=# create extension pageinspect ; CREATE EXTENSION postgres(1:1056)=# select * from hash_page_items(get_raw_page('hash_idx', 4)); itemoffset | ctid | data ------------+--------------------+------------ 1 | (0,49) | 3283889963 2 | (2139062143,32639) | 2139062143 3 | (2139062143,32639) | 2139062143 4 | (2139062143,32639) | 2139062143 5 | (2139062143,32639) | 2139062143 6 | (2139062143,32639) | 2139062143 7 | (2139062143,32639) | 2139062143 8 | (2139062143,32639) | 2139062143 9 | (2139062143,32639) | 2139062143 10 | (2139062143,32639) | 2139062143 (10 rows) This appears at PostgreSQL 10 and current HEAD. The cause of this seems that hash_page_items allocates the memory space for the page before switching memory context. AFAICS there is no similar problem in pageinspect contrib module. Attached patch fixes it. Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center -
Re: Invalid result from hash_page_items function
Robert Haas <robertmhaas@gmail.com> — 2018-01-26T15:04:14Z
On Thu, Jan 25, 2018 at 4:50 PM, Masahiko Sawada <sawada.mshk@gmail.com> wrote: > This appears at PostgreSQL 10 and current HEAD. The cause of this > seems that hash_page_items allocates the memory space for the page > before switching memory context. AFAICS there is no similar problem in > pageinspect contrib module. Attached patch fixes it. Committed and back-patched. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
-
Re: Invalid result from hash_page_items function
Masahiko Sawada <sawada.mshk@gmail.com> — 2018-01-29T02:25:50Z
On Sat, Jan 27, 2018 at 12:04 AM, Robert Haas <robertmhaas@gmail.com> wrote: > On Thu, Jan 25, 2018 at 4:50 PM, Masahiko Sawada <sawada.mshk@gmail.com> wrote: >> This appears at PostgreSQL 10 and current HEAD. The cause of this >> seems that hash_page_items allocates the memory space for the page >> before switching memory context. AFAICS there is no similar problem in >> pageinspect contrib module. Attached patch fixes it. > > Committed and back-patched. > Thank you! Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center