Re: Nasty problem in hash indexes - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Nasty problem in hash indexes
Date
Msg-id 23630.1062106659@sss.pgh.pa.us
Whole thread Raw
In response to Re: Nasty problem in hash indexes  ("scott.marlowe" <scott.marlowe@ihs.com>)
Responses Re: Nasty problem in hash indexes
List pgsql-hackers
"scott.marlowe" <scott.marlowe@ihs.com> writes:
> If I'm reading this right, this bug means you could do:
> select * from table where field in (1,2,3,4)
> where you should get say 100 rows, and you might not get all 100 rows?

Yes, if you were concurrently inserting into the same table.  The given
example involved UPDATEs, not a SELECT.  Probably INSERT/SELECT could
see the same kind of failure.

I'm not sure whether a failure could occur across two backends (one
inserting and one selecting).  The page-level locking might prevent
that.  Or perhaps not.  If it could happen, of course the problem is
vastly more dangerous than if it can't.

> If so, then how many other bugs are lurking in the hash index code
> waiting to bite?

<shrug> Who's to say?  We've found bugs in the btree logic recently,
too.  But I have lots more confidence in btree.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Sean Chittenden
Date:
Subject: [seanc@FreeBSD.org: Re: Performance tests I did with FreeBSD, Linux and PostgreSQL]
Next
From: Thomas Schoebel-Theuer
Date:
Subject: Obscure: correctness of lock manager???