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