Re: BUG #12694: crash if the number of result rows is lower than gin_fuzzy_search_limit - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: BUG #12694: crash if the number of result rows is lower than gin_fuzzy_search_limit
Date
Msg-id CAB7nPqQGmwBDzX42NJPdOJ4Sgdx2PT6p8ymcTEH-+1KDiYBtCg@mail.gmail.com
Whole thread Raw
In response to BUG #12694: crash if the number of result rows is lower than gin_fuzzy_search_limit  (olaf.gw@googlemail.com)
Responses Re: BUG #12694: crash if the number of result rows is lower than gin_fuzzy_search_limit  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-bugs
On Thu, Jan 29, 2015 at 3:12 AM,  <olaf.gw@googlemail.com> wrote:
> Bug reference:      12694
> Logged by:          Olaf Gawenda
> Email address:      olaf.gw@googlemail.com
> PostgreSQL version: 9.4.0
> Operating system:   Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7
> Description:
>
> the following sequence of commands get a crash if the numer of result rows
> is lower than gin_fuzzy_search_limit:
>
> create table test (t text, ts_vec tsvector);
>
> insert into test (t) values (),(),(), ...; -- test data not posted
>
> update test set ts_vec = to_tsvector('english', t);
>
> create index on test using gin(ts_vec);
> analyze test;
> set enable_seqscan = off;
> set gin_fuzzy_search_limit = 1000;
>
> select t from test where ts_vec @@ to_tsquery('english', '...');

This can be reproduced easily with a test case like that:
create table aa as
select array[(random() * 1000000)::int,
(random() * 1000000)::int,
(random() * 1000000)::int] as a
from generate_series(1,10);
create index aai on aa using gin(a);
set gin_fuzzy_search_limit = 1;
set enable_seqscan = off;
select * from aa where a <@ array[1,2];
--
Michael

pgsql-bugs by date:

Previous
From: Marko Tiikkaja
Date:
Subject: Re: BUG #12690: EXECUTE statement fails with dynamic column name on record variable
Next
From: Heikki Linnakangas
Date:
Subject: Re: BUG #12694: crash if the number of result rows is lower than gin_fuzzy_search_limit