Move hash_any prototype from access/hash.h to utils/hashutils.h
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 11 Mar 2019 16:17:50 +0000 (13:17 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 11 Mar 2019 16:17:50 +0000 (13:17 -0300)
commitaf38498d4c9b840e0e454574519459edda3871db
tree52c5240ef125da9eabad5d610961f422f13de733
parentb212245f96437b574b59993c772e4d9276965e49
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
40 files changed:
contrib/citext/citext.c
contrib/hstore/hstore_op.c
contrib/pg_stat_statements/pg_stat_statements.c
contrib/sepgsql/uavc.c
src/backend/access/common/tupdesc.c
src/backend/access/hash/hashfunc.c
src/backend/access/tablesample/bernoulli.c
src/backend/access/tablesample/system.c
src/backend/catalog/pg_publication.c
src/backend/commands/publicationcmds.c
src/backend/executor/execGrouping.c
src/backend/executor/nodeSamplescan.c
src/backend/lib/bloomfilter.c
src/backend/nodes/bitmapset.c
src/backend/storage/file/sharedfileset.c
src/backend/tsearch/ts_typanalyze.c
src/backend/utils/adt/acl.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/date.c
src/backend/utils/adt/jsonb_gin.c
src/backend/utils/adt/jsonb_util.c
src/backend/utils/adt/mac.c
src/backend/utils/adt/mac8.c
src/backend/utils/adt/network.c
src/backend/utils/adt/numeric.c
src/backend/utils/adt/pg_lsn.c
src/backend/utils/adt/rangetypes.c
src/backend/utils/adt/tid.c
src/backend/utils/adt/timestamp.c
src/backend/utils/adt/uuid.c
src/backend/utils/adt/varchar.c
src/backend/utils/adt/varlena.c
src/backend/utils/cache/catcache.c
src/backend/utils/cache/relcache.c
src/backend/utils/hash/hashfn.c
src/backend/utils/resowner/resowner.c
src/backend/utils/sort/tuplesort.c
src/include/access/hash.h
src/include/access/stratnum.h
src/include/utils/hashutils.h