1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-15 05:46:52 +03:00

Fix various hash function uses

These instances were using Datum-returning functions where a
lower-level function returning uint32 would be more appropriate.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/8246d7ff-f4b7-4363-913e-827dadfeb145%40eisentraut.org
This commit is contained in:
Peter Eisentraut
2025-08-05 11:38:34 +02:00
parent c9a5860f7a
commit 2ad6e80de9
6 changed files with 9 additions and 9 deletions

View File

@@ -66,8 +66,8 @@ static char *avc_unlabeled; /* system 'unlabeled' label */
static uint32 static uint32
sepgsql_avc_hash(const char *scontext, const char *tcontext, uint16 tclass) sepgsql_avc_hash(const char *scontext, const char *tcontext, uint16 tclass)
{ {
return hash_any((const unsigned char *) scontext, strlen(scontext)) return hash_bytes((const unsigned char *) scontext, strlen(scontext))
^ hash_any((const unsigned char *) tcontext, strlen(tcontext)) ^ hash_bytes((const unsigned char *) tcontext, strlen(tcontext))
^ tclass; ^ tclass;
} }

View File

@@ -815,10 +815,10 @@ hashRowType(TupleDesc desc)
uint32 s; uint32 s;
int i; int i;
s = hash_combine(0, hash_uint32(desc->natts)); s = hash_combine(0, hash_bytes_uint32(desc->natts));
s = hash_combine(s, hash_uint32(desc->tdtypeid)); s = hash_combine(s, hash_bytes_uint32(desc->tdtypeid));
for (i = 0; i < desc->natts; ++i) for (i = 0; i < desc->natts; ++i)
s = hash_combine(s, hash_uint32(TupleDescAttr(desc, i)->atttypid)); s = hash_combine(s, hash_bytes_uint32(TupleDescAttr(desc, i)->atttypid));
return s; return s;
} }

View File

@@ -185,7 +185,7 @@ FileSetPath(char *path, FileSet *fileset, Oid tablespace)
static Oid static Oid
ChooseTablespace(const FileSet *fileset, const char *name) ChooseTablespace(const FileSet *fileset, const char *name)
{ {
uint32 hash = hash_any((const unsigned char *) name, strlen(name)); uint32 hash = hash_bytes((const unsigned char *) name, strlen(name));
return fileset->tablespaces[hash % fileset->ntablespaces]; return fileset->tablespaces[hash % fileset->ntablespaces];
} }

View File

@@ -2833,7 +2833,7 @@ hash_multirange(PG_FUNCTION_ARGS)
upper_hash = 0; upper_hash = 0;
/* Merge hashes of flags and bounds */ /* Merge hashes of flags and bounds */
range_hash = hash_uint32((uint32) flags); range_hash = hash_bytes_uint32((uint32) flags);
range_hash ^= lower_hash; range_hash ^= lower_hash;
range_hash = pg_rotate_left32(range_hash, 1); range_hash = pg_rotate_left32(range_hash, 1);
range_hash ^= upper_hash; range_hash ^= upper_hash;

View File

@@ -1444,7 +1444,7 @@ hash_range(PG_FUNCTION_ARGS)
upper_hash = 0; upper_hash = 0;
/* Merge hashes of flags and bounds */ /* Merge hashes of flags and bounds */
result = hash_uint32((uint32) flags); result = hash_bytes_uint32((uint32) flags);
result ^= lower_hash; result ^= lower_hash;
result = pg_rotate_left32(result, 1); result = pg_rotate_left32(result, 1);
result ^= upper_hash; result ^= upper_hash;

View File

@@ -213,7 +213,7 @@ namehashfast(Datum datum)
{ {
char *key = NameStr(*DatumGetName(datum)); char *key = NameStr(*DatumGetName(datum));
return hash_any((unsigned char *) key, strlen(key)); return hash_bytes((unsigned char *) key, strlen(key));
} }
static bool static bool