Use palloc_object() and palloc_array() in backend code

The idea is to encourage more the use of these new routines across the
tree, as these offer stronger type safety guarantees than palloc().
This batch of changes includes most of the trivial changes suggested by
the author for src/backend/.

A total of 334 files are updated here.  Among these files, 48 of them
have their build change slightly; these are caused by line number
changes as the new allocation formulas are simpler, shaving around 100
lines of code in total.

Similar work has been done in 0c3c5c3b06a3 and 31d3847a37be.

Author: David Geier <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1b105f9472bdb9a68f709778afafb494997267bd

Modified Files
--------------
src/backend/access/brin/brin.c                     |  8 +-
src/backend/access/brin/brin_minmax_multi.c        |  4 +-
src/backend/access/brin/brin_revmap.c              |  2 +-
src/backend/access/brin/brin_tuple.c               | 15 ++--
src/backend/access/common/attmap.c                 |  4 +-
src/backend/access/common/heaptuple.c              |  8 +-
src/backend/access/common/printtup.c               |  2 +-
src/backend/access/common/reloptions.c             |  6 +-
src/backend/access/common/tidstore.c               |  8 +-
src/backend/access/common/toast_internals.c        |  2 +-
src/backend/access/common/tupconvert.c             | 20 ++---
src/backend/access/common/tupdesc.c                |  2 +-
src/backend/access/gin/ginbtree.c                  |  6 +-
src/backend/access/gin/ginbulk.c                   |  5 +-
src/backend/access/gin/gindatapage.c               | 14 ++--
src/backend/access/gin/ginentrypage.c              |  4 +-
src/backend/access/gin/ginget.c                    |  4 +-
src/backend/access/gin/gininsert.c                 | 16 ++--
src/backend/access/gin/ginscan.c                   | 13 ++-
src/backend/access/gin/ginutil.c                   | 10 +--
src/backend/access/gin/ginvacuum.c                 |  8 +-
src/backend/access/gist/gist.c                     | 22 ++---
src/backend/access/gist/gistbuild.c                | 10 +--
src/backend/access/gist/gistbuildbuffers.c         | 14 ++--
src/backend/access/gist/gistproc.c                 | 26 +++---
src/backend/access/gist/gistscan.c                 |  6 +-
src/backend/access/gist/gistsplit.c                |  8 +-
src/backend/access/gist/gistutil.c                 |  4 +-
src/backend/access/gist/gistvacuum.c               |  4 +-
src/backend/access/hash/hash.c                     |  9 +--
src/backend/access/hash/hashsort.c                 |  2 +-
src/backend/access/heap/heapam.c                   | 14 ++--
src/backend/access/heap/heapam_handler.c           |  6 +-
src/backend/access/heap/rewriteheap.c              |  2 +-
src/backend/access/heap/vacuumlazy.c               |  6 +-
src/backend/access/index/amvalidate.c              |  2 +-
src/backend/access/index/genam.c                   | 14 ++--
src/backend/access/nbtree/nbtdedup.c               |  8 +-
src/backend/access/nbtree/nbtinsert.c              |  2 +-
src/backend/access/nbtree/nbtpage.c                |  2 +-
src/backend/access/nbtree/nbtree.c                 |  9 +--
src/backend/access/nbtree/nbtsearch.c              |  2 +-
src/backend/access/nbtree/nbtsort.c                | 32 ++++----
src/backend/access/nbtree/nbtsplitloc.c            |  2 +-
src/backend/access/nbtree/nbtxlog.c                |  2 +-
src/backend/access/spgist/spgdoinsert.c            | 33 ++++----
src/backend/access/spgist/spginsert.c              |  2 +-
src/backend/access/spgist/spgkdtreeproc.c          | 14 ++--
src/backend/access/spgist/spgproc.c                |  4 +-
src/backend/access/spgist/spgquadtreeproc.c        | 22 ++---
src/backend/access/spgist/spgscan.c                | 30 +++----
src/backend/access/spgist/spgtextproc.c            | 19 +++--
src/backend/access/spgist/spgutils.c               |  2 +-
src/backend/access/spgist/spgvacuum.c              |  6 +-
src/backend/access/spgist/spgxlog.c                |  2 +-
src/backend/access/tablesample/system.c            |  2 +-
src/backend/access/transam/multixact.c             |  3 +-
src/backend/access/transam/parallel.c              |  7 +-
src/backend/access/transam/timeline.c              |  8 +-
src/backend/access/transam/twophase.c              | 10 +--
src/backend/access/transam/xact.c                  |  2 +-
src/backend/access/transam/xlog.c                  |  4 +-
src/backend/access/transam/xlogfuncs.c             |  2 +-
src/backend/access/transam/xlogprefetcher.c        |  2 +-
src/backend/access/transam/xlogrecovery.c          |  6 +-
src/backend/access/transam/xlogutils.c             |  2 +-
src/backend/backup/basebackup.c                    |  6 +-
src/backend/backup/basebackup_copy.c               |  2 +-
src/backend/backup/basebackup_gzip.c               |  2 +-
src/backend/backup/basebackup_incremental.c        |  6 +-
src/backend/backup/basebackup_lz4.c                |  2 +-
src/backend/backup/basebackup_progress.c           |  2 +-
src/backend/backup/basebackup_server.c             |  2 +-
src/backend/backup/basebackup_target.c             |  4 +-
src/backend/backup/basebackup_throttle.c           |  2 +-
src/backend/backup/basebackup_zstd.c               |  2 +-
src/backend/backup/walsummary.c                    |  2 +-
src/backend/bootstrap/bootstrap.c                  |  6 +-
src/backend/catalog/dependency.c                   |  8 +-
src/backend/catalog/heap.c                         |  8 +-
src/backend/catalog/index.c                        |  8 +-
src/backend/catalog/namespace.c                    |  4 +-
src/backend/catalog/objectaddress.c                |  4 +-
src/backend/catalog/pg_constraint.c                |  2 +-
src/backend/catalog/pg_depend.c                    |  2 +-
src/backend/catalog/pg_enum.c                      |  6 +-
src/backend/catalog/pg_publication.c               |  6 +-
src/backend/catalog/pg_shdepend.c                  |  4 +-
src/backend/catalog/pg_subscription.c              |  4 +-
src/backend/catalog/storage.c                      | 10 +--
src/backend/commands/analyze.c                     |  6 +-
src/backend/commands/cluster.c                     |  4 +-
src/backend/commands/copy.c                        |  2 +-
src/backend/commands/copyfrom.c                    |  4 +-
src/backend/commands/copyto.c                      |  4 +-
src/backend/commands/createas.c                    |  2 +-
src/backend/commands/dbcommands.c                  |  2 +-
src/backend/commands/event_trigger.c               | 24 +++---
src/backend/commands/explain.c                     |  2 +-
src/backend/commands/explain_dr.c                  |  2 +-
src/backend/commands/explain_state.c               |  7 +-
src/backend/commands/extension.c                   |  4 +-
src/backend/commands/functioncmds.c                |  2 +-
src/backend/commands/matview.c                     |  4 +-
src/backend/commands/opclasscmds.c                 | 12 +--
src/backend/commands/policy.c                      |  6 +-
src/backend/commands/publicationcmds.c             |  6 +-
src/backend/commands/seclabel.c                    |  2 +-
src/backend/commands/subscriptioncmds.c            |  4 +-
src/backend/commands/tablecmds.c                   | 36 ++++-----
src/backend/commands/trigger.c                     |  8 +-
src/backend/commands/tsearchcmds.c                 |  8 +-
src/backend/commands/typecmds.c                    |  4 +-
src/backend/commands/user.c                        |  4 +-
src/backend/commands/vacuumparallel.c              |  6 +-
src/backend/executor/execExpr.c                    | 94 ++++++++++------------
src/backend/executor/execGrouping.c                |  2 +-
src/backend/executor/execIndexing.c                |  4 +-
src/backend/executor/execMain.c                    | 21 +++--
src/backend/executor/execParallel.c                |  2 +-
src/backend/executor/execReplication.c             |  8 +-
src/backend/executor/execTuples.c                  |  4 +-
src/backend/executor/functions.c                   |  4 +-
src/backend/executor/nodeAgg.c                     | 42 +++++-----
src/backend/executor/nodeAppend.c                  |  2 +-
src/backend/executor/nodeFunctionscan.c            |  2 +-
src/backend/executor/nodeGatherMerge.c             |  6 +-
src/backend/executor/nodeHashjoin.c                |  5 +-
src/backend/executor/nodeIndexonlyscan.c           |  3 +-
src/backend/executor/nodeIndexscan.c               |  8 +-
src/backend/executor/nodeMemoize.c                 |  4 +-
src/backend/executor/nodeMergeAppend.c             |  6 +-
src/backend/executor/nodeModifyTable.c             | 13 ++-
src/backend/executor/nodeProjectSet.c              |  6 +-
src/backend/executor/nodeSamplescan.c              |  2 +-
src/backend/executor/nodeTableFuncscan.c           |  4 +-
src/backend/executor/nodeTidrangescan.c            |  2 +-
src/backend/executor/nodeTidscan.c                 |  2 +-
src/backend/executor/nodeWindowAgg.c               | 12 +--
src/backend/executor/spi.c                         | 21 +++--
src/backend/executor/tqueue.c                      |  4 +-
src/backend/executor/tstoreReceiver.c              |  2 +-
src/backend/foreign/foreign.c                      | 10 +--
src/backend/jit/llvm/llvmjit.c                     |  6 +-
src/backend/jit/llvm/llvmjit_deform.c              | 12 +--
src/backend/jit/llvm/llvmjit_expr.c                |  8 +-
src/backend/lib/bipartite_match.c                  |  2 +-
src/backend/lib/dshash.c                           |  4 +-
src/backend/lib/integerset.c                       |  2 +-
src/backend/lib/pairingheap.c                      |  2 +-
src/backend/lib/rbtree.c                           |  2 +-
src/backend/libpq/auth-oauth.c                     |  8 +-
src/backend/libpq/auth-scram.c                     |  2 +-
src/backend/libpq/hba.c                            | 10 +--
src/backend/libpq/pqcomm.c                         |  2 +-
src/backend/nodes/nodeFuncs.c                      |  2 +-
src/backend/nodes/queryjumblefuncs.c               |  2 +-
src/backend/nodes/tidbitmap.c                      |  4 +-
src/backend/optimizer/geqo/geqo_erx.c              |  2 +-
src/backend/optimizer/geqo/geqo_eval.c             |  2 +-
src/backend/optimizer/geqo/geqo_pmx.c              |  8 +-
src/backend/optimizer/geqo/geqo_pool.c             | 10 +--
src/backend/optimizer/geqo/geqo_recombination.c    |  2 +-
src/backend/optimizer/path/clausesel.c             |  2 +-
src/backend/optimizer/path/costsize.c              |  4 +-
src/backend/optimizer/path/indxpath.c              |  7 +-
src/backend/optimizer/path/joinrels.c              |  3 +-
src/backend/optimizer/plan/analyzejoins.c          |  3 +-
src/backend/optimizer/plan/createplan.c            | 34 ++++----
src/backend/optimizer/plan/initsplan.c             |  6 +-
src/backend/optimizer/plan/planagg.c               |  2 +-
src/backend/optimizer/plan/planner.c               |  6 +-
src/backend/optimizer/plan/setrefs.c               |  6 +-
src/backend/optimizer/prep/prepjointree.c          |  7 +-
src/backend/optimizer/prep/prepunion.c             |  2 +-
src/backend/optimizer/util/appendinfo.c            |  3 +-
src/backend/optimizer/util/clauses.c               |  6 +-
src/backend/optimizer/util/extendplan.c            | 18 ++---
src/backend/optimizer/util/plancat.c               | 39 +++++----
src/backend/optimizer/util/predtest.c              |  4 +-
src/backend/optimizer/util/relnode.c               | 15 ++--
src/backend/optimizer/util/tlist.c                 | 12 +--
src/backend/parser/analyze.c                       |  5 +-
src/backend/parser/gram.y                          | 92 ++++++++++-----------
src/backend/parser/parse_clause.c                  |  4 +-
src/backend/parser/parse_expr.c                    |  4 +-
src/backend/parser/parse_node.c                    |  2 +-
src/backend/parser/parse_param.c                   |  4 +-
src/backend/parser/parse_relation.c                | 10 +--
src/backend/parser/parse_type.c                    |  2 +-
src/backend/partitioning/partbounds.c              | 66 +++++++--------
src/backend/partitioning/partdesc.c                |  2 +-
src/backend/postmaster/autovacuum.c                |  6 +-
src/backend/postmaster/bgworker.c                  |  2 +-
src/backend/postmaster/checkpointer.c              |  2 +-
src/backend/postmaster/launch_backend.c            |  2 +-
src/backend/postmaster/pgarch.c                    |  4 +-
src/backend/postmaster/postmaster.c                |  2 +-
src/backend/postmaster/syslogger.c                 |  2 +-
src/backend/postmaster/walsummarizer.c             |  3 +-
.../libpqwalreceiver/libpqwalreceiver.c            |  4 +-
.../replication/logical/applyparallelworker.c      |  2 +-
src/backend/replication/logical/launcher.c         |  2 +-
src/backend/replication/logical/logical.c          |  2 +-
src/backend/replication/logical/logicalfuncs.c     |  2 +-
src/backend/replication/logical/proto.c            |  8 +-
src/backend/replication/logical/relation.c         |  8 +-
src/backend/replication/logical/reorderbuffer.c    | 17 ++--
src/backend/replication/logical/slotsync.c         |  2 +-
src/backend/replication/logical/snapbuild.c        |  5 +-
src/backend/replication/logical/syncutils.c        |  2 +-
src/backend/replication/logical/worker.c           |  6 +-
src/backend/replication/pgoutput/pgoutput.c        |  4 +-
src/backend/replication/syncrep.c                  |  9 +--
src/backend/replication/walreceiver.c              |  4 +-
src/backend/replication/walsender.c                |  2 +-
src/backend/rewrite/rewriteHandler.c               |  2 +-
src/backend/rewrite/rewriteManip.c                 |  6 +-
src/backend/snowball/dict_snowball.c               |  4 +-
src/backend/statistics/dependencies.c              | 26 +++---
src/backend/statistics/extended_stats.c            | 15 ++--
src/backend/statistics/mcv.c                       | 24 +++---
src/backend/storage/file/buffile.c                 | 10 +--
src/backend/storage/ipc/procarray.c                |  8 +-
src/backend/storage/ipc/shm_mq.c                   |  2 +-
src/backend/storage/ipc/shmem.c                    |  6 +-
src/backend/storage/lmgr/lock.c                    | 16 ++--
src/backend/storage/lmgr/predicate.c               |  8 +-
src/backend/storage/smgr/bulk_write.c              |  2 +-
src/backend/storage/smgr/md.c                      |  2 +-
src/backend/storage/smgr/smgr.c                    |  2 +-
src/backend/storage/sync/sync.c                    |  2 +-
src/backend/tcop/pquery.c                          |  2 +-
src/backend/tsearch/dict.c                         |  2 +-
src/backend/tsearch/dict_ispell.c                  |  2 +-
src/backend/tsearch/dict_simple.c                  |  6 +-
src/backend/tsearch/dict_synonym.c                 |  8 +-
src/backend/tsearch/dict_thesaurus.c               | 26 +++---
src/backend/tsearch/spell.c                        | 22 ++---
src/backend/tsearch/to_tsany.c                     | 14 ++--
src/backend/tsearch/ts_parse.c                     |  2 +-
src/backend/tsearch/ts_selfuncs.c                  |  2 +-
src/backend/tsearch/ts_typanalyze.c                |  6 +-
src/backend/tsearch/ts_utils.c                     |  4 +-
src/backend/tsearch/wparser.c                      | 16 ++--
src/backend/tsearch/wparser_def.c                  | 12 +--
src/backend/utils/activity/pgstat_relation.c       |  2 +-
src/backend/utils/activity/wait_event.c            |  2 +-
src/backend/utils/adt/acl.c                        |  6 +-
src/backend/utils/adt/array_selfuncs.c             |  8 +-
src/backend/utils/adt/array_typanalyze.c           |  7 +-
src/backend/utils/adt/array_userfuncs.c            | 12 +--
src/backend/utils/adt/arrayfuncs.c                 | 14 ++--
src/backend/utils/adt/arraysubs.c                  |  2 +-
src/backend/utils/adt/date.c                       | 24 +++---
src/backend/utils/adt/datetime.c                   | 10 +--
src/backend/utils/adt/formatting.c                 |  2 +-
src/backend/utils/adt/geo_ops.c                    | 94 +++++++++++-----------
src/backend/utils/adt/geo_spgist.c                 | 40 ++++-----
src/backend/utils/adt/int.c                        |  2 +-
src/backend/utils/adt/int8.c                       |  2 +-
src/backend/utils/adt/json.c                       |  6 +-
src/backend/utils/adt/jsonb_gin.c                  | 19 ++---
src/backend/utils/adt/jsonb_util.c                 | 10 +--
src/backend/utils/adt/jsonfuncs.c                  | 64 +++++++--------
src/backend/utils/adt/jsonpath_exec.c              | 27 +++----
src/backend/utils/adt/jsonpath_gram.y              |  4 +-
src/backend/utils/adt/lockfuncs.c                  |  2 +-
src/backend/utils/adt/mac.c                        | 14 ++--
src/backend/utils/adt/mac8.c                       | 18 ++---
src/backend/utils/adt/mcxtfuncs.c                  |  2 +-
src/backend/utils/adt/misc.c                       |  2 +-
src/backend/utils/adt/multirangetypes.c            |  8 +-
src/backend/utils/adt/multirangetypes_selfuncs.c   |  4 +-
src/backend/utils/adt/multixactfuncs.c             |  2 +-
src/backend/utils/adt/network.c                    | 24 +++---
src/backend/utils/adt/network_gist.c               | 10 +--
src/backend/utils/adt/network_spgist.c             |  6 +-
src/backend/utils/adt/numeric.c                    | 13 ++-
src/backend/utils/adt/orderedsetaggs.c             |  4 +-
src/backend/utils/adt/pg_locale_libc.c             |  6 +-
src/backend/utils/adt/pg_ndistinct.c               |  2 +-
src/backend/utils/adt/rangetypes.c                 |  2 +-
src/backend/utils/adt/rangetypes_gist.c            | 15 ++--
src/backend/utils/adt/rangetypes_selfuncs.c        |  4 +-
src/backend/utils/adt/rangetypes_spgist.c          | 18 ++---
src/backend/utils/adt/rangetypes_typanalyze.c      |  8 +-
src/backend/utils/adt/regexp.c                     | 20 ++---
src/backend/utils/adt/rowtypes.c                   | 24 +++---
src/backend/utils/adt/ruleutils.c                  |  4 +-
src/backend/utils/adt/selfuncs.c                   |  4 +-
src/backend/utils/adt/skipsupport.c                |  2 +-
src/backend/utils/adt/tid.c                        |  6 +-
src/backend/utils/adt/timestamp.c                  | 46 +++++------
src/backend/utils/adt/tsginidx.c                   | 10 +--
src/backend/utils/adt/tsgistidx.c                  | 10 +--
src/backend/utils/adt/tsquery.c                    | 12 +--
src/backend/utils/adt/tsquery_cleanup.c            |  2 +-
src/backend/utils/adt/tsquery_gist.c               |  4 +-
src/backend/utils/adt/tsquery_op.c                 | 14 ++--
src/backend/utils/adt/tsquery_util.c               | 18 ++---
src/backend/utils/adt/tsrank.c                     | 13 ++-
src/backend/utils/adt/tsvector.c                   |  4 +-
src/backend/utils/adt/tsvector_op.c                | 10 +--
src/backend/utils/adt/tsvector_parser.c            |  6 +-
src/backend/utils/adt/uuid.c                       |  4 +-
src/backend/utils/adt/varlena.c                    |  2 +-
src/backend/utils/adt/xml.c                        |  6 +-
src/backend/utils/cache/catcache.c                 |  4 +-
src/backend/utils/cache/evtcache.c                 |  2 +-
src/backend/utils/cache/inval.c                    |  2 +-
src/backend/utils/cache/lsyscache.c                |  6 +-
src/backend/utils/cache/partcache.c                | 24 +++---
src/backend/utils/cache/plancache.c                | 15 ++--
src/backend/utils/cache/relcache.c                 | 30 +++----
src/backend/utils/cache/typcache.c                 |  2 +-
src/backend/utils/error/elog.c                     |  2 +-
src/backend/utils/fmgr/funcapi.c                   |  2 +-
src/backend/utils/init/postinit.c                  |  2 +-
src/backend/utils/mb/mbutils.c                     |  4 +-
src/backend/utils/misc/conffiles.c                 |  2 +-
src/backend/utils/misc/guc-file.l                  |  4 +-
src/backend/utils/misc/guc.c                       |  4 +-
src/backend/utils/misc/injection_point.c           |  2 +-
src/backend/utils/misc/queryenvironment.c          |  2 +-
src/backend/utils/misc/tzparser.c                  |  2 +-
src/backend/utils/mmgr/dsa.c                       |  4 +-
src/backend/utils/sort/logtape.c                   |  6 +-
src/backend/utils/sort/sharedtuplestore.c          |  4 +-
src/backend/utils/sort/tuplesort.c                 |  2 +-
src/backend/utils/sort/tuplesortvariants.c         | 12 +--
src/backend/utils/sort/tuplestore.c                |  2 +-
src/backend/utils/time/snapmgr.c                   |  2 +-
333 files changed, 1358 insertions(+), 1465 deletions(-)

Reply via email to