Re: help with a patch - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: help with a patch
Date
Msg-id 200203142143.g2ELh5c26583@candle.pha.pa.us
Whole thread Raw
In response to help with a patch  (Neil Conway <nconway@klamath.dyndns.org>)
List pgsql-hackers
Neil Conway wrote:
> Hi all,
> 
> I'm working on implementing unique hash indexes. I've got most of the
> code finished, but I'm stumped on how to implement the remainder. Since
> I'm still a newbie to the Postgres code, so any pointers or help would
> be much appreciated.
> 
> I've been able to borrow a fair amount of code from the btree unique
> index implementation (where possible, I've tried to share code between
> hash and btree, I'll do this more in the final patch). The problem I'm
> having is the implementation of the _hash_check_unique() function. This
> is passed the Buffer which corresponds to the first page in the bucket
> chain for the key, the hash item itself, the ScanKey, as well as the
> index Relation and the heap Relation. Given this, how does one scan
> through the hash bucket to determine if a matching key is present?
> 
> I can probably figure out the MVCC related code (ensuring that the
> tuples we find aren't dead, etc); what I can't figure out is the basic
> methodology required to search for matching tuples in the hash bucket.
> 
> Any help would be appreciated. I've attached the current development
> version of the patch, if that is of any help.

I am not totally sure of the question, but for hash don't you have to
spin through the entire bucket and test each one.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: psql and output from \?
Next
From: Ian Barwick
Date:
Subject: Re: psql and output from \?