Re: allow frontend use of the backend's core hashing functions

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: Suraj Kharage <suraj.kharage@enterprisedb.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-02-24T12:02:29Z
Lists: pgsql-hackers

Attachments

On Fri, Feb 14, 2020 at 9:03 PM Robert Haas <robertmhaas@gmail.com> wrote:
> On Thu, Feb 13, 2020 at 11:26 AM Mark Dilger
> <mark.dilger@enterprisedb.com> wrote:
> > I have made these changes and rebased Robert’s patches but otherwise changed nothing.  Here they are:
>
> Thanks. Anyone else have comments? I think this is pretty
> straightforward and unobjectionable work so I'm inclined to press
> forward with committing it fairly soon, but if someone feels
> otherwise, please speak up.

I've committed 0001 through 0003 as revised by Mark in accordance with
the comments from Suraj. Here's the last patch again with a tweak to
try not to break the Windows build, per some off-list advice I
received on how not to break the Windows build. Barring complaints
from the buildfarm or otherwise, I'll commit this one too.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Commits

  1. Move src/backend/utils/hash/hashfn.c to src/common

  2. Adapt hashfn.c and hashutils.h for frontend use.

  3. Put all the prototypes for hashfn.c into the same header file.

  4. Move bitmap_hash and bitmap_match to bitmapset.c.