"Yury Don" <y...@vpcit.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

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to