Re: BUG #5183: Wrong select results using multicolumn gin indexes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Yury Don" <yura(at)vpcit(dot)ru>
Cc: pgsql-bugs(at)postgresql(dot)org, Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>, Teodor Sigaev <teodor(at)sigaev(dot)ru>
Subject: Re: BUG #5183: Wrong select results using multicolumn gin indexes
Date: 2009-11-12 21:44:25
Message-ID: 16957.1258062265@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Yury Don" <yura(at)vpcit(dot)ru> writes:
> mdb=# create table tmp (id integer not null primary key, t tsvector, i
> integer);
> CREATE TABLE
> mdb=# insert into tmp values (1, 'word', 66);
> INSERT 0 1
> mdb=# create index tmp_idx on tmp using gin (t, i);
> CREATE INDEX
> mdb=# insert into tmp values (2, 'word', 86);
> INSERT 0 1
> mdb=# set enable_seqscan to off;
> mdb=# select * from tmp where t @@ 'word' and i =66;
> id | t | i
> ----+--------+----
> 1 | 'word' | 66
> 2 | 'word' | 86
> (2 rows)

Ick. I can reproduce this here using CVS HEAD, and I notice that
it starts to give the right answer after "VACUUM tmp". I infer that
what is broken is the checks of tuples in the pending-insert list.
I don't have time to look closer right now --- Oleg, Teodor, can you
look at this?

(In the meantime, you can probably work around it by disabling
fastupdate on these indexes.)

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2009-11-13 05:34:20 BUG #5184: default tablespace owner is not dumped
Previous Message Tom Lane 2009-11-12 19:00:30 Re: BUG #5182: query with deferents results