Mark function arguments of type "Datum *" as "const Datum *" where possible

Peter Eisentraut <peter@eisentraut.org>

Commit: 8a27d418f8fc08b62f371c1b167efbfbf0a2a24e
Author: Peter Eisentraut <peter@eisentraut.org>
Date: 2025-10-31T09:47:25Z
Mark function arguments of type "Datum *" as "const Datum *" where possible

Several functions in the codebase accept "Datum *" parameters but do
not modify the pointed-to data.  These have been updated to take
"const Datum *" instead, improving type safety and making the
interfaces clearer about their intent.  This change helps the compiler
catch accidental modifications and better documents immutability of
arguments.

Most of "Datum *" parameters have a pairing "bool *isnull" parameter,
they are constified as well.

No functional behavior is changed by this patch.

Author: Chao Li <lic@highgo.com>
Discussion: https://www.postgresql.org/message-id/flat/CAEoWx2msfT0knvzUa72ZBwu9LR_RLY4on85w2a9YpE-o2By5HQ@mail.gmail.com

Files

PathChange+/−
doc/src/sgml/spi.sgml modified +3 −3
src/backend/access/brin/brin_minmax_multi.c modified +1 −1
src/backend/access/hash/hashutil.c modified +1 −1
src/backend/access/heap/heaptoast.c modified +2 −2
src/backend/access/nbtree/nbtpreprocesskeys.c modified +2 −2
src/backend/access/nbtree/nbtsort.c modified +2 −2
src/backend/access/spgist/spgdoinsert.c modified +1 −1
src/backend/access/spgist/spgtextproc.c modified +1 −1
src/backend/executor/execPartition.c modified +7 −7
src/backend/executor/nodeIndexscan.c modified +2 −2
src/backend/executor/spi.c modified +6 −6
src/backend/partitioning/partbounds.c modified +3 −3
src/backend/partitioning/partprune.c modified +4 −4
src/backend/statistics/attribute_stats.c modified +2 −2
src/backend/tsearch/ts_selfuncs.c modified +4 −4
src/backend/utils/adt/arrayfuncs.c modified +5 −5
src/backend/utils/adt/array_selfuncs.c modified +24 −24
src/backend/utils/adt/json.c modified +3 −3
src/backend/utils/adt/jsonfuncs.c modified +14 −14
src/backend/utils/adt/multirangetypes_selfuncs.c modified +8 −8
src/backend/utils/adt/network_selfuncs.c modified +10 −10
src/backend/utils/adt/orderedsetaggs.c modified +2 −2
src/backend/utils/adt/rangetypes_selfuncs.c modified +8 −8
src/backend/utils/adt/xml.c modified +2 −2
src/backend/utils/cache/catcache.c modified +7 −7
src/include/access/hash.h modified +1 −1
src/include/access/heaptoast.h modified +2 −2
src/include/access/spgist_private.h modified +1 −1
src/include/executor/spi.h modified +4 −4
src/include/partitioning/partbounds.h modified +3 −3
src/include/utils/array.h modified +5 −5
src/include/utils/jsonb.h modified +2 −2
src/include/utils/xml.h modified +2 −2
src/test/modules/spgist_name_ops/spgist_name_ops.c modified +1 −1

Discussion