pg.ddx.io pgsql-committers@postgresql.org mailing list archivehelp / color / mirror / Atom feed
pgsql: Use palloc_object() and palloc_array() in more areas of the tree 4+ messages / 2 participants [nested] [flat]
* pgsql: Use palloc_object() and palloc_array() in more areas of the tree @ 2025-12-09 05:53 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 4+ messages in thread From: Michael Paquier @ 2025-12-09 05:53 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org Use palloc_object() and palloc_array() in more areas of the tree The idea is to encourage more the use of these new routines across the tree, as these offer stronger type safety guarantees than palloc(). The following paths are included in this batch, treating all the areas proposed by the author for the most trivial changes, except src/backend (by far the largest batch): src/bin/ src/common/ src/fe_utils/ src/include/ src/pl/ src/test/ src/tutorial/ Similar work has been done in 31d3847a37be. The code compiles the same before and after this commit, with the following exceptions due to changes in line numbers because some of the new allocation formulas are shorter: blkreftable.c pgfnames.c pl_exec.c Author: David Geier <geidav.pg@gmail.com> Discussion: https://postgr.es/m/ad0748d4-3080-436e-b0bc-ac8f86a3466a@gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/0c3c5c3b06a37c13a811ea93044202e06523b705 Modified Files -------------- doc/src/sgml/gist.sgml | 8 +- doc/src/sgml/xfunc.sgml | 2 +- doc/src/sgml/xtypes.sgml | 2 +- src/bin/pg_basebackup/astreamer_inject.c | 2 +- src/bin/pg_combinebackup/load_manifest.c | 2 +- src/bin/pg_dump/common.c | 2 +- src/bin/pg_verifybackup/astreamer_verify.c | 2 +- src/bin/pg_verifybackup/pg_verifybackup.c | 2 +- src/bin/scripts/vacuuming.c | 2 +- src/common/blkreftable.c | 21 +++-- src/common/parse_manifest.c | 4 +- src/common/pgfnames.c | 5 +- src/common/rmtree.c | 2 +- src/common/stringinfo.c | 2 +- src/fe_utils/astreamer_file.c | 4 +- src/fe_utils/astreamer_gzip.c | 4 +- src/fe_utils/astreamer_lz4.c | 4 +- src/fe_utils/astreamer_tar.c | 6 +- src/fe_utils/astreamer_zstd.c | 4 +- src/include/lib/radixtree.h | 8 +- src/pl/plperl/plperl.c | 12 +-- src/pl/plpgsql/src/pl_comp.c | 32 ++++---- src/pl/plpgsql/src/pl_exec.c | 9 +-- src/pl/plpgsql/src/pl_gram.y | 92 +++++++++++----------- src/pl/plpython/plpy_procedure.c | 6 +- src/pl/plpython/plpy_spi.c | 4 +- src/pl/plpython/plpy_typeio.c | 12 +-- src/pl/tcl/pltcl.c | 4 +- src/test/modules/dummy_index_am/dummy_index_am.c | 2 +- src/test/modules/spgist_name_ops/spgist_name_ops.c | 10 +-- src/test/modules/test_bitmapset/test_bitmapset.c | 2 +- src/test/modules/test_integerset/test_integerset.c | 2 +- .../test_json_parser_incremental.c | 2 +- src/test/modules/test_parser/test_parser.c | 4 +- src/test/modules/test_radixtree/test_radixtree.c | 2 +- src/test/modules/test_regex/test_regex.c | 14 ++-- .../modules/test_resowner/test_resowner_many.c | 2 +- src/test/modules/test_rls_hooks/test_rls_hooks.c | 4 +- src/test/modules/worker_spi/worker_spi.c | 2 +- src/test/regress/regress.c | 2 +- src/timezone/pgtz.c | 2 +- src/tutorial/complex.c | 6 +- src/tutorial/funcs.c | 2 +- 43 files changed, 156 insertions(+), 161 deletions(-) ^ permalink raw reply [nested|flat] 4+ messages in thread
* pgsql: Use palloc_object() and palloc_array() in backend code @ 2025-12-09 22:37 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 4+ messages in thread From: Michael Paquier @ 2025-12-09 22:37 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org 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 <geidav.pg@gmail.com> Discussion: https://postgr.es/m/ad0748d4-3080-436e-b0bc-ac8f86a3466a@gmail.com 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(-) ^ permalink raw reply [nested|flat] 4+ messages in thread
* pgsql: Use palloc_object() and palloc_array(), the last change @ 2025-12-11 05:30 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 4+ messages in thread From: Michael Paquier @ 2025-12-11 05:30 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org Use palloc_object() and palloc_array(), the last change This is the last batch of changes that have been suggested by the author, this part covering the non-trivial changes. Some of the changes suggested have been discarded as they seem to lead to more instructions generated, leaving the parts that can be qualified as in-place replacements. Similar work has been done in 1b105f9472bd, 0c3c5c3b06a3 and 31d3847a37be. Author: David Geier <geidav.pg@gmail.com> Discussion: https://postgr.es/m/ad0748d4-3080-436e-b0bc-ac8f86a3466a@gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/4f7dacc5b82af19788599671abe4ac633fd7ea4c Modified Files -------------- contrib/pg_buffercache/pg_buffercache_pages.c | 8 ++++---- contrib/pg_trgm/trgm_op.c | 14 +++++++------- contrib/postgres_fdw/postgres_fdw.c | 20 +++++++++---------- src/backend/executor/execPartition.c | 28 +++++++++++---------------- src/backend/partitioning/partprune.c | 23 +++++++++++----------- src/backend/statistics/mvdistinct.c | 14 +++++++------- src/backend/storage/buffer/bufmgr.c | 6 +++--- 7 files changed, 53 insertions(+), 60 deletions(-) ^ permalink raw reply [nested|flat] 4+ messages in thread
* pgsql: Use palloc_object() and palloc_array() in more areas of the logi @ 2026-03-06 18:50 Masahiko Sawada <msawada@postgresql.org> 0 siblings, 0 replies; 4+ messages in thread From: Masahiko Sawada @ 2026-03-06 18:50 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org Use palloc_object() and palloc_array() in more areas of the logical replication. The idea is to encourage the use of newer routines across the tree, as these offer stronger type-safety guarantees than raw palloc(). Similar work has been done in commits 1b105f9472bd, 0c3c5c3b06a3, 31d3847a37be, and 4f7dacc5b82a. This commit extends those changes to more locations within src/backend/replication/logical/. Author: Peter Smith <smithpb2250@gmail.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com> Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com> Discussion: https://postgr.es/m/CAHut+Pv4N7Vpxo18+NAR1r9RGvR8b0BtwTkoeCE2PfFoXgmR6A@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/50ea4e09b6c2331b4cc6434fa12b43bc62de682c Modified Files -------------- src/backend/replication/logical/proto.c | 2 +- src/backend/replication/logical/reorderbuffer.c | 8 ++++---- src/backend/replication/logical/snapbuild.c | 7 ++++--- src/backend/replication/logical/tablesync.c | 4 ++-- src/backend/replication/logical/worker.c | 14 +++++++------- 5 files changed, 18 insertions(+), 17 deletions(-) ^ permalink raw reply [nested|flat] 4+ messages in thread
end of thread, other threads:[~2026-03-06 18:50 UTC | newest] Thread overview: 4+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2025-12-09 05:53 pgsql: Use palloc_object() and palloc_array() in more areas of the tree Michael Paquier <michael@paquier.xyz> 2025-12-09 22:37 pgsql: Use palloc_object() and palloc_array() in backend code Michael Paquier <michael@paquier.xyz> 2025-12-11 05:30 pgsql: Use palloc_object() and palloc_array(), the last change Michael Paquier <michael@paquier.xyz> 2026-03-06 18:50 pgsql: Use palloc_object() and palloc_array() in more areas of the logi Masahiko Sawada <msawada@postgresql.org>
This inbox is served by DDX for PostgreSQL; see mirroring instructions for how to clone and mirror all data and code used for this inbox