On Fri, Sep 16, 2016 at 04:50:53PM +0530, Amit Kapila wrote: > Currently README of hash module contain algorithms written in below form. > > The insertion algorithm is rather similar: > > pin meta page and take buffer content lock in shared mode > loop: > compute bucket number for target hash key > release meta page buffer content lock > if (correct bucket page is already locked) > break > release any existing bucket page lock (if a concurrent split happened) > take heavyweight bucket lock in shared mode > retake meta page buffer content lock in shared mode > -- (so far same as reader) > release pin on metapage > .. > .. > > I have mostly updated them in the patches I have proposed to improve > hash index. However, each time I try to update them, I find that it > is easy to follow the code than to read and understand the existing > algorithm written in above form from README. > > Do others find it useful to maintain the algorithms in above form? >
Hi Amit, Speaking for myself, I think it does help to have a text description of the algorithm to use as a guide while trying to understand the code. For beginners (me), it is not always obvious what a section of code is doing. Regards, Ken -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers