Move hash_any prototype from access/hash.h to utils/hashutils.h

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: af38498d4c9b840e0e454574519459edda3871db
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2019-03-11T16:17:50Z
Releases: 12.0
Move hash_any prototype from access/hash.h to utils/hashutils.h

... as well as its implementation from backend/access/hash/hashfunc.c to
backend/utils/hash/hashfn.c.

access/hash is the place for the hash index AM, not really appropriate
for generic facilities, which is what hash_any is; having things the old
way meant that anything using hash_any had to include the AM's include
file, pointlessly polluting its namespace with unrelated, unnecessary
cruft.

Also move the HTEqual strategy number to access/stratnum.h from
access/hash.h.

To avoid breaking third-party extension code, add an #include
"utils/hashutils.h" to access/hash.h.  (An easily removed line by
committers who enjoy their asbestos suits to protect them from angry
extension authors.)

Discussion: https://postgr.es/m/201901251935.ser5e4h6djt2@alvherre.pgsql

Files

PathChange+/−
contrib/citext/citext.c modified +1 −1
contrib/hstore/hstore_op.c modified +1 −1
contrib/pg_stat_statements/pg_stat_statements.c modified +1 −1
contrib/sepgsql/uavc.c modified +1 −1
src/backend/access/common/tupdesc.c modified +0 −1
src/backend/access/hash/hashfunc.c modified +1 −626
src/backend/access/tablesample/bernoulli.c modified +1 −1
src/backend/access/tablesample/system.c modified +1 −1
src/backend/catalog/pg_publication.c modified +0 −1
src/backend/commands/publicationcmds.c modified +0 −1
src/backend/executor/execGrouping.c modified +0 −1
src/backend/executor/nodeSamplescan.c modified +1 −1
src/backend/lib/bloomfilter.c modified +1 −1
src/backend/nodes/bitmapset.c modified +2 −1
src/backend/storage/file/sharedfileset.c modified +3 −1
src/backend/tsearch/ts_typanalyze.c modified +1 −1
src/backend/utils/adt/acl.c modified +1 −1
src/backend/utils/adt/arrayfuncs.c modified +0 −1
src/backend/utils/adt/date.c modified +1 −1
src/backend/utils/adt/jsonb_gin.c modified +1 −1
src/backend/utils/adt/jsonb_util.c modified +1 −1
src/backend/utils/adt/mac8.c modified +1 −1
src/backend/utils/adt/mac.c modified +1 −1
src/backend/utils/adt/network.c modified +2 −1
src/backend/utils/adt/numeric.c modified +1 −1
src/backend/utils/adt/pg_lsn.c modified +0 −1
src/backend/utils/adt/rangetypes.c modified +2 −1
src/backend/utils/adt/tid.c modified +1 −1
src/backend/utils/adt/timestamp.c modified +0 −1
src/backend/utils/adt/uuid.c modified +1 −1
src/backend/utils/adt/varchar.c modified +1 −2
src/backend/utils/adt/varlena.c modified +1 −1
src/backend/utils/cache/catcache.c modified +0 −1
src/backend/utils/cache/relcache.c modified +0 −1
src/backend/utils/hash/hashfn.c modified +630 −2
src/backend/utils/resowner/resowner.c modified +2 −1
src/backend/utils/sort/tuplesort.c modified +1 −1
src/include/access/hash.h modified +1 −23
src/include/access/stratnum.h modified +7 −0
src/include/utils/hashutils.h modified +19 −0

Discussion