summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2025-08-08 22:05:05 +0200
committerPeter Eisentraut <peter@eisentraut.org>2025-08-08 22:06:57 +0200
commitdcfc0f891273eeeb85ce6e723decf5cc37f9b1c3 (patch)
tree5d4d1e6f25bf64aa44a743f6f280d2d84562f8b5
parent138750dde4a8b939a30a6d650c6c8146192b39cb (diff)
Remove useless/superfluous Datum conversions
Remove useless DatumGetFoo() and FooGetDatum() calls. These are places where no conversion from or to Datum was actually happening. We think these extra calls covered here were harmless. Some actual bugs that were discovered during this process have been committed separately (80c758a2e1d, 2242b26ce47). Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/flat/8246d7ff-f4b7-4363-913e-827dadfeb145%40eisentraut.org
-rw-r--r--src/backend/commands/alter.c2
-rw-r--r--src/backend/executor/execExprInterp.c6
-rw-r--r--src/backend/rewrite/rewriteDefine.c5
-rw-r--r--src/backend/statistics/extended_stats.c2
-rw-r--r--src/backend/tsearch/ts_parse.c4
-rw-r--r--src/backend/utils/activity/pgstat.c2
-rw-r--r--src/backend/utils/adt/json.c2
-rw-r--r--src/backend/utils/adt/multirangetypes.c7
-rw-r--r--src/backend/utils/adt/rangetypes.c4
-rw-r--r--src/backend/utils/adt/varlena.c5
-rw-r--r--src/backend/utils/cache/relcache.c2
11 files changed, 19 insertions, 22 deletions
diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c
index c801c869c1c..cb75e11fced 100644
--- a/src/backend/commands/alter.c
+++ b/src/backend/commands/alter.c
@@ -220,7 +220,7 @@ AlterObjectRename_internal(Relation rel, Oid objectId, const char *new_name)
Assert(!isnull);
ownerId = DatumGetObjectId(datum);
- if (!has_privs_of_role(GetUserId(), DatumGetObjectId(ownerId)))
+ if (!has_privs_of_role(GetUserId(), ownerId))
aclcheck_error(ACLCHECK_NOT_OWNER, get_object_type(classId, objectId),
old_name);
diff --git a/src/backend/executor/execExprInterp.c b/src/backend/executor/execExprInterp.c
index 1a37737d4a2..a5cfe246e63 100644
--- a/src/backend/executor/execExprInterp.c
+++ b/src/backend/executor/execExprInterp.c
@@ -2815,7 +2815,7 @@ ExecJustHashVarImpl(ExprState *state, TupleTableSlot *slot, bool *isnull)
*isnull = false;
if (!fcinfo->args[0].isnull)
- return DatumGetUInt32(hashop->d.hashdatum.fn_addr(fcinfo));
+ return hashop->d.hashdatum.fn_addr(fcinfo);
else
return (Datum) 0;
}
@@ -2849,7 +2849,7 @@ ExecJustHashVarVirtImpl(ExprState *state, TupleTableSlot *slot, bool *isnull)
*isnull = false;
if (!fcinfo->args[0].isnull)
- return DatumGetUInt32(hashop->d.hashdatum.fn_addr(fcinfo));
+ return hashop->d.hashdatum.fn_addr(fcinfo);
else
return (Datum) 0;
}
@@ -2892,7 +2892,7 @@ ExecJustHashOuterVarStrict(ExprState *state, ExprContext *econtext,
if (!fcinfo->args[0].isnull)
{
*isnull = false;
- return DatumGetUInt32(hashop->d.hashdatum.fn_addr(fcinfo));
+ return hashop->d.hashdatum.fn_addr(fcinfo);
}
else
{
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c
index 8aa90b0d6fb..a96fbdc1ddd 100644
--- a/src/backend/rewrite/rewriteDefine.c
+++ b/src/backend/rewrite/rewriteDefine.c
@@ -725,10 +725,9 @@ EnableDisableRule(Relation rel, const char *rulename,
/*
* Change ev_enabled if it is different from the desired new state.
*/
- if (DatumGetChar(ruleform->ev_enabled) !=
- fires_when)
+ if (ruleform->ev_enabled != fires_when)
{
- ruleform->ev_enabled = CharGetDatum(fires_when);
+ ruleform->ev_enabled = fires_when;
CatalogTupleUpdate(pg_rewrite_desc, &ruletup->t_self, ruletup);
changed = true;
diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c
index a8b63ec0884..3e031cf831a 100644
--- a/src/backend/statistics/extended_stats.c
+++ b/src/backend/statistics/extended_stats.c
@@ -2618,7 +2618,7 @@ make_build_data(Relation rel, StatExtEntry *stat, int numrows, HeapTuple *rows,
}
else
{
- result->values[idx][i] = (Datum) datum;
+ result->values[idx][i] = datum;
result->nulls[idx][i] = false;
}
diff --git a/src/backend/tsearch/ts_parse.c b/src/backend/tsearch/ts_parse.c
index e5da6cf17ec..cba421892bf 100644
--- a/src/backend/tsearch/ts_parse.c
+++ b/src/backend/tsearch/ts_parse.c
@@ -218,7 +218,7 @@ LexizeExec(LexizeData *ld, ParsedLex **correspondLexem)
* position and go to multiword mode
*/
- ld->curDictId = DatumGetObjectId(map->dictIds[i]);
+ ld->curDictId = map->dictIds[i];
ld->posDict = i + 1;
ld->curSub = curVal->next;
if (res)
@@ -275,7 +275,7 @@ LexizeExec(LexizeData *ld, ParsedLex **correspondLexem)
* dictionaries ?
*/
for (i = 0; i < map->len && !dictExists; i++)
- if (ld->curDictId == DatumGetObjectId(map->dictIds[i]))
+ if (ld->curDictId == map->dictIds[i])
dictExists = true;
if (!dictExists)
diff --git a/src/backend/utils/activity/pgstat.c b/src/backend/utils/activity/pgstat.c
index 6bc91ce0dad..ffb5b8cce34 100644
--- a/src/backend/utils/activity/pgstat.c
+++ b/src/backend/utils/activity/pgstat.c
@@ -821,7 +821,7 @@ pgstat_force_next_flush(void)
static bool
match_db_entries(PgStatShared_HashEntry *entry, Datum match_data)
{
- return entry->key.dboid == DatumGetObjectId(MyDatabaseId);
+ return entry->key.dboid == MyDatabaseId;
}
/*
diff --git a/src/backend/utils/adt/json.c b/src/backend/utils/adt/json.c
index 51452755f58..e9d370cb3da 100644
--- a/src/backend/utils/adt/json.c
+++ b/src/backend/utils/adt/json.c
@@ -904,7 +904,7 @@ json_unique_hash(const void *key, Size keysize)
hash ^= hash_bytes((const unsigned char *) entry->key, entry->key_len);
- return DatumGetUInt32(hash);
+ return hash;
}
static int
diff --git a/src/backend/utils/adt/multirangetypes.c b/src/backend/utils/adt/multirangetypes.c
index 46f2ec0c29f..e64feeaeccb 100644
--- a/src/backend/utils/adt/multirangetypes.c
+++ b/src/backend/utils/adt/multirangetypes.c
@@ -2082,15 +2082,14 @@ range_overleft_multirange_internal(TypeCacheEntry *rangetyp,
bool empty;
if (RangeIsEmpty(r) || MultirangeIsEmpty(mr))
- PG_RETURN_BOOL(false);
-
+ return false;
range_deserialize(rangetyp, r, &lower1, &upper1, &empty);
Assert(!empty);
multirange_get_bounds(rangetyp, mr, mr->rangeCount - 1,
&lower2, &upper2);
- PG_RETURN_BOOL(range_cmp_bounds(rangetyp, &upper1, &upper2) <= 0);
+ return (range_cmp_bounds(rangetyp, &upper1, &upper2) <= 0);
}
Datum
@@ -2167,7 +2166,7 @@ range_overright_multirange_internal(TypeCacheEntry *rangetyp,
bool empty;
if (RangeIsEmpty(r) || MultirangeIsEmpty(mr))
- PG_RETURN_BOOL(false);
+ return false;
range_deserialize(rangetyp, r, &lower1, &upper1, &empty);
Assert(!empty);
diff --git a/src/backend/utils/adt/rangetypes.c b/src/backend/utils/adt/rangetypes.c
index c83b239b3bb..254b8f65c21 100644
--- a/src/backend/utils/adt/rangetypes.c
+++ b/src/backend/utils/adt/rangetypes.c
@@ -1075,8 +1075,8 @@ range_union_internal(TypeCacheEntry *typcache, RangeType *r1, RangeType *r2,
return r1;
if (strict &&
- !DatumGetBool(range_overlaps_internal(typcache, r1, r2)) &&
- !DatumGetBool(range_adjacent_internal(typcache, r1, r2)))
+ !range_overlaps_internal(typcache, r1, r2) &&
+ !range_adjacent_internal(typcache, r1, r2))
ereport(ERROR,
(errcode(ERRCODE_DATA_EXCEPTION),
errmsg("result of range union would not be contiguous")));
diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
index ffae8c23abf..11b442a5941 100644
--- a/src/backend/utils/adt/varlena.c
+++ b/src/backend/utils/adt/varlena.c
@@ -408,13 +408,12 @@ text_length(Datum str)
{
/* fastpath when max encoding length is one */
if (pg_database_encoding_max_length() == 1)
- PG_RETURN_INT32(toast_raw_datum_size(str) - VARHDRSZ);
+ return (toast_raw_datum_size(str) - VARHDRSZ);
else
{
text *t = DatumGetTextPP(str);
- PG_RETURN_INT32(pg_mbstrlen_with_len(VARDATA_ANY(t),
- VARSIZE_ANY_EXHDR(t)));
+ return (pg_mbstrlen_with_len(VARDATA_ANY(t), VARSIZE_ANY_EXHDR(t)));
}
}
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 559ba9cdb2c..153d2fde6fd 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -3184,7 +3184,7 @@ AssertPendingSyncs_RelationCache(void)
if ((LockTagType) locallock->tag.lock.locktag_type !=
LOCKTAG_RELATION)
continue;
- relid = ObjectIdGetDatum(locallock->tag.lock.locktag_field2);
+ relid = locallock->tag.lock.locktag_field2;
r = RelationIdGetRelation(relid);
if (!RelationIsValid(r))
continue;