From e6552bbefba036bc5c5ce781785f16500742fb64 Mon Sep 17 00:00:00 2001 From: usamoi Date: Sun, 13 Sep 2026 21:08:30 +0800 Subject: [PATCH 1/3] fix macos ci --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6713f473b..cd24091bb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -552,7 +552,7 @@ jobs: postgresql: [ 15, 16 ] steps: - - uses: Homebrew/actions/setup-homebrew@master + - uses: Homebrew/actions/setup-homebrew@main # install postgres with homebrew, but do't let homebrew do an update too. The update # process not only takes forever, but it tends to fail when the internet changes From 87e433ed4103fac9b1562d6d9d61f6adc35f3d20 Mon Sep 17 00:00:00 2001 From: usamoi Date: Sun, 13 Sep 2026 20:23:52 +0800 Subject: [PATCH 2/3] include more headers --- pgrx-pg-sys/generate.sh | 115 ++++++++++++ pgrx-pg-sys/include/pg13.h | 301 ++++++++++++++++++++++++++++-- pgrx-pg-sys/include/pg14.h | 313 +++++++++++++++++++++++++++++-- pgrx-pg-sys/include/pg15.h | 319 ++++++++++++++++++++++++++++++-- pgrx-pg-sys/include/pg16.h | 323 ++++++++++++++++++++++++++++++-- pgrx-pg-sys/include/pg17.h | 328 +++++++++++++++++++++++++++++++-- pgrx-pg-sys/include/pg18.h | 343 ++++++++++++++++++++++++++++++++-- pgrx-pg-sys/include/pg19.h | 364 +++++++++++++++++++++++++++++++++++-- 8 files changed, 2291 insertions(+), 115 deletions(-) create mode 100755 pgrx-pg-sys/generate.sh diff --git a/pgrx-pg-sys/generate.sh b/pgrx-pg-sys/generate.sh new file mode 100755 index 000000000..377664b90 --- /dev/null +++ b/pgrx-pg-sys/generate.sh @@ -0,0 +1,115 @@ +#!/usr/bin/env sh + +# The script may output `ls: cannot access '*.h': No such file or directory` +# because some headers are missing in some PostgreSQL versions. This message +# can be safely ignored. + +cat << EOF +//LICENSE Portions Copyright 2019-2021 ZomboDB, LLC. +//LICENSE +//LICENSE Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +//LICENSE +//LICENSE Portions Copyright 2023-2023 PgCentral Foundation, Inc. +//LICENSE +//LICENSE All rights reserved. +//LICENSE +//LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. + +#include "postgres.h" +#include "pg_config.h" + +EOF + +(cd "$1/server" && ls -1 \ + access/*.h \ + catalog/*.h \ + commands/*.h \ + common/config_info.h \ + common/controldata_utils.h \ + common/pg_lzcompress.h \ + executor/*.h \ + foreign/*.h \ + funcapi.h \ + jit/jit.h \ + lib/stringinfo.h \ + libpq/pqformat.h \ + mb/pg_wchar.h \ + miscadmin.h \ + nodes/*.h \ + optimizer/*.h \ + parser/*.h \ + partitioning/*.h \ + pgstat.h \ + plpgsql.h \ + postmaster/*.h \ + replication/*.h \ + rewrite/*.h \ + statistics/*.h \ + storage/*.h \ + tcop/*.h \ + tsearch/*.h \ + utils/acl.h \ + utils/builtins.h \ + utils/catcache.h \ + utils/date.h \ + utils/datetime.h \ + utils/datum.h \ + utils/elog.h \ + utils/float.h \ + utils/fmgroids.h \ + utils/fmgrprotos.h \ + utils/geo_decls.h \ + utils/guc.h \ + utils/guc_tables.h \ + utils/json.h \ + utils/jsonb.h \ + utils/lsyscache.h \ + utils/memutils.h \ + utils/numeric.h \ + utils/palloc.h \ + utils/ps_status.h \ + utils/rangetypes.h \ + utils/regproc.h \ + utils/rel.h \ + utils/relcache.h \ + utils/resowner.h \ + utils/resowner_private.h \ + utils/rls.h \ + utils/ruleutils.h \ + utils/sampling.h \ + utils/selfuncs.h \ + utils/snapmgr.h \ + utils/sortsupport.h \ + utils/spccache.h \ + utils/syscache.h \ + utils/tuplesort.h \ + utils/tuplestore.h \ + utils/typcache.h \ + utils/varlena.h \ + utils/wait_event.h \ + varatt.h \ + | grep -v '^access/rmgrlist\.h$' \ + | grep -v '^catalog/pg_.*_d\.h$' \ + | grep -v '^catalog/syscache_ids\.h$' \ + | grep -v '^catalog/syscache_info\.h$' \ + | grep -v '^nodes/nodetags\.h$' \ + | grep -v '^parser/gram\.h$' \ + | grep -v '^parser/kwlist\.h$' \ + | grep -v '^postmaster/proctypelist\.h$' \ + | grep -v '^replication/backup_manifest\.h$' \ + | grep -v '^storage/checksum_block_internal\.h$' \ + | grep -v '^storage/subsystemlist\.h$' \ + | grep -v '^storage/lwlocklist\.h$' \ + | grep -v '^storage/lwlocknames\.h$' \ + | grep -v '^tcop/cmdtaglist\.h$' \ + | sed 's/^/#include "/' \ + | sed 's/$/"/') + +cat << EOF + +#if PG_VERSION_NUM < 140000 +#ifndef WIN32 +#define PGERROR ERROR +#endif +#endif +EOF diff --git a/pgrx-pg-sys/include/pg13.h b/pgrx-pg-sys/include/pg13.h index 80849e417..d716d636b 100644 --- a/pgrx-pg-sys/include/pg13.h +++ b/pgrx-pg-sys/include/pg13.h @@ -8,112 +8,287 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. - #include "postgres.h" #include "pg_config.h" -#include "funcapi.h" -#include "miscadmin.h" -#include "pgstat.h" #include "access/amapi.h" +#include "access/amvalidate.h" +#include "access/attmap.h" +#include "access/attnum.h" +#include "access/brin.h" +#include "access/brin_internal.h" +#include "access/brin_page.h" +#include "access/brin_pageops.h" +#include "access/brin_revmap.h" +#include "access/brin_tuple.h" +#include "access/brin_xlog.h" +#include "access/bufmask.h" +#include "access/clog.h" +#include "access/commit_ts.h" #include "access/detoast.h" #include "access/genam.h" #include "access/generic_xlog.h" #include "access/gin.h" +#include "access/gin_private.h" +#include "access/ginblock.h" +#include "access/ginxlog.h" #include "access/gist.h" +#include "access/gist_private.h" +#include "access/gistscan.h" +#include "access/gistxlog.h" +#include "access/hash.h" +#include "access/hash_xlog.h" #include "access/heapam.h" +#include "access/heapam_xlog.h" +#include "access/heaptoast.h" +#include "access/hio.h" #include "access/htup.h" #include "access/htup_details.h" +#include "access/itup.h" #include "access/multixact.h" +#include "access/nbtree.h" +#include "access/nbtxlog.h" +#include "access/parallel.h" +#include "access/printsimple.h" +#include "access/printtup.h" #include "access/relation.h" #include "access/reloptions.h" #include "access/relscan.h" +#include "access/rewriteheap.h" #include "access/rmgr.h" +#include "access/sdir.h" +#include "access/session.h" #include "access/skey.h" +#include "access/slru.h" +#include "access/spgist.h" +#include "access/spgist_private.h" +#include "access/spgxlog.h" +#include "access/stratnum.h" +#include "access/subtrans.h" #include "access/sysattr.h" #include "access/table.h" +#include "access/tableam.h" +#include "access/timeline.h" +#include "access/toast_helper.h" +#include "access/toast_internals.h" +#include "access/transam.h" #include "access/tsmapi.h" +#include "access/tupconvert.h" +#include "access/tupdesc.h" +#include "access/tupdesc_details.h" +#include "access/tupmacs.h" +#include "access/twophase.h" +#include "access/twophase_rmgr.h" +#include "access/valid.h" #include "access/visibilitymap.h" +#include "access/visibilitymapdefs.h" #include "access/xact.h" +#include "access/xlog.h" #include "access/xlog_internal.h" +#include "access/xlogarchive.h" +#include "access/xlogdefs.h" +#include "access/xloginsert.h" #include "access/xlogreader.h" +#include "access/xlogrecord.h" #include "access/xlogutils.h" -#include "access/subtrans.h" -#include "access/commit_ts.h" +#include "catalog/binary_upgrade.h" #include "catalog/catalog.h" +#include "catalog/catversion.h" #include "catalog/dependency.h" +#include "catalog/genbki.h" #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/objectaddress.h" +#include "catalog/opfam_internal.h" +#include "catalog/partition.h" +#include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_amproc.h" +#include "catalog/pg_attrdef.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_auth_members.h" #include "catalog/pg_authid.h" +#include "catalog/pg_cast.h" #include "catalog/pg_class.h" #include "catalog/pg_collation.h" +#include "catalog/pg_constraint.h" +#include "catalog/pg_control.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" +#include "catalog/pg_db_role_setting.h" +#include "catalog/pg_default_acl.h" +#include "catalog/pg_depend.h" +#include "catalog/pg_description.h" #include "catalog/pg_enum.h" +#include "catalog/pg_event_trigger.h" #include "catalog/pg_extension.h" #include "catalog/pg_foreign_data_wrapper.h" #include "catalog/pg_foreign_server.h" #include "catalog/pg_foreign_table.h" -#include "catalog/pg_operator.h" +#include "catalog/pg_index.h" +#include "catalog/pg_inherits.h" +#include "catalog/pg_init_privs.h" +#include "catalog/pg_language.h" +#include "catalog/pg_largeobject.h" +#include "catalog/pg_largeobject_metadata.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" +#include "catalog/pg_operator.h" #include "catalog/pg_opfamily.h" +#include "catalog/pg_partitioned_table.h" +#include "catalog/pg_policy.h" #include "catalog/pg_proc.h" -#include "catalog/pg_namespace.h" +#include "catalog/pg_publication.h" +#include "catalog/pg_publication_rel.h" +#include "catalog/pg_range.h" +#include "catalog/pg_replication_origin.h" +#include "catalog/pg_rewrite.h" #include "catalog/pg_seclabel.h" +#include "catalog/pg_sequence.h" +#include "catalog/pg_shdepend.h" +#include "catalog/pg_shdescription.h" +#include "catalog/pg_shseclabel.h" +#include "catalog/pg_statistic.h" #include "catalog/pg_statistic_ext.h" +#include "catalog/pg_statistic_ext_data.h" +#include "catalog/pg_subscription.h" +#include "catalog/pg_subscription_rel.h" #include "catalog/pg_tablespace.h" +#include "catalog/pg_transform.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_ts_config.h" +#include "catalog/pg_ts_config_map.h" +#include "catalog/pg_ts_dict.h" +#include "catalog/pg_ts_parser.h" +#include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "catalog/pg_user_mapping.h" +#include "catalog/schemapg.h" #include "catalog/storage.h" +#include "catalog/storage_xlog.h" +#include "catalog/toasting.h" +#include "commands/alter.h" #include "commands/async.h" +#include "commands/cluster.h" +#include "commands/collationcmds.h" #include "commands/comment.h" +#include "commands/conversioncmds.h" #include "commands/copy.h" +#include "commands/createas.h" #include "commands/dbcommands.h" +#include "commands/dbcommands_xlog.h" #include "commands/defrem.h" +#include "commands/discard.h" #include "commands/event_trigger.h" #include "commands/explain.h" #include "commands/extension.h" +#include "commands/lockcmds.h" +#include "commands/matview.h" +#include "commands/policy.h" +#include "commands/portalcmds.h" #include "commands/prepare.h" #include "commands/proclang.h" #include "commands/progress.h" #include "commands/publicationcmds.h" +#include "commands/schemacmds.h" #include "commands/seclabel.h" -#include "commands/tablespace.h" +#include "commands/sequence.h" +#include "commands/subscriptioncmds.h" #include "commands/tablecmds.h" +#include "commands/tablespace.h" #include "commands/trigger.h" +#include "commands/typecmds.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "commands/variable.h" +#include "commands/view.h" #include "common/config_info.h" #include "common/controldata_utils.h" #include "common/pg_lzcompress.h" #include "executor/execExpr.h" +#include "executor/execParallel.h" +#include "executor/execPartition.h" +#include "executor/execdebug.h" +#include "executor/execdesc.h" #include "executor/executor.h" +#include "executor/functions.h" +#include "executor/hashjoin.h" +#include "executor/instrument.h" +#include "executor/nodeAgg.h" +#include "executor/nodeAppend.h" +#include "executor/nodeBitmapAnd.h" +#include "executor/nodeBitmapHeapscan.h" +#include "executor/nodeBitmapIndexscan.h" +#include "executor/nodeBitmapOr.h" +#include "executor/nodeCtescan.h" +#include "executor/nodeCustom.h" +#include "executor/nodeForeignscan.h" +#include "executor/nodeFunctionscan.h" +#include "executor/nodeGather.h" +#include "executor/nodeGatherMerge.h" +#include "executor/nodeGroup.h" +#include "executor/nodeHash.h" +#include "executor/nodeHashjoin.h" +#include "executor/nodeIncrementalSort.h" +#include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" +#include "executor/nodeLimit.h" +#include "executor/nodeLockRows.h" +#include "executor/nodeMaterial.h" +#include "executor/nodeMergeAppend.h" +#include "executor/nodeMergejoin.h" +#include "executor/nodeModifyTable.h" +#include "executor/nodeNamedtuplestorescan.h" +#include "executor/nodeNestloop.h" +#include "executor/nodeProjectSet.h" +#include "executor/nodeRecursiveunion.h" +#include "executor/nodeResult.h" +#include "executor/nodeSamplescan.h" +#include "executor/nodeSeqscan.h" +#include "executor/nodeSetOp.h" +#include "executor/nodeSort.h" #include "executor/nodeSubplan.h" +#include "executor/nodeSubqueryscan.h" +#include "executor/nodeTableFuncscan.h" +#include "executor/nodeTidscan.h" +#include "executor/nodeUnique.h" +#include "executor/nodeValuesscan.h" +#include "executor/nodeWindowAgg.h" +#include "executor/nodeWorktablescan.h" #include "executor/spi.h" +#include "executor/spi_priv.h" +#include "executor/tablefunc.h" +#include "executor/tqueue.h" +#include "executor/tstoreReceiver.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "funcapi.h" #include "jit/jit.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" +#include "nodes/bitmapset.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" +#include "nodes/lockoptions.h" #include "nodes/makefuncs.h" +#include "nodes/memnodes.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" +#include "nodes/params.h" #include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/pg_list.h" +#include "nodes/plannodes.h" #include "nodes/primnodes.h" #include "nodes/print.h" +#include "nodes/readfuncs.h" #include "nodes/replnodes.h" #include "nodes/supportnodes.h" #include "nodes/tidbitmap.h" @@ -121,23 +296,47 @@ #include "optimizer/appendinfo.h" #include "optimizer/clauses.h" #include "optimizer/cost.h" +#include "optimizer/geqo.h" +#include "optimizer/geqo_copy.h" +#include "optimizer/geqo_gene.h" +#include "optimizer/geqo_misc.h" +#include "optimizer/geqo_mutation.h" +#include "optimizer/geqo_pool.h" +#include "optimizer/geqo_random.h" +#include "optimizer/geqo_recombination.h" +#include "optimizer/geqo_selection.h" +#include "optimizer/inherit.h" +#include "optimizer/joininfo.h" #include "optimizer/optimizer.h" +#include "optimizer/orclauses.h" +#include "optimizer/paramassign.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" #include "optimizer/plancat.h" #include "optimizer/planmain.h" #include "optimizer/planner.h" +#include "optimizer/prep.h" #include "optimizer/restrictinfo.h" +#include "optimizer/subselect.h" #include "optimizer/tlist.h" #include "parser/analyze.h" +#include "parser/gramparse.h" +#include "parser/parse_agg.h" +#include "parser/parse_clause.h" +#include "parser/parse_coerce.h" #include "parser/parse_collate.h" +#include "parser/parse_cte.h" +#include "parser/parse_enr.h" #include "parser/parse_expr.h" #include "parser/parse_func.h" +#include "parser/parse_node.h" #include "parser/parse_oper.h" +#include "parser/parse_param.h" #include "parser/parse_relation.h" +#include "parser/parse_target.h" #include "parser/parse_type.h" -#include "parser/parse_coerce.h" +#include "parser/parse_utilcmd.h" #include "parser/parser.h" #include "parser/parsetree.h" #include "parser/scanner.h" @@ -146,47 +345,116 @@ #include "partitioning/partdefs.h" #include "partitioning/partdesc.h" #include "partitioning/partprune.h" +#include "pgstat.h" #include "plpgsql.h" +#include "postmaster/autovacuum.h" #include "postmaster/bgworker.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/fork_process.h" #include "postmaster/interrupt.h" +#include "postmaster/pgarch.h" #include "postmaster/postmaster.h" +#include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walwriter.h" +#include "replication/basebackup.h" +#include "replication/decode.h" #include "replication/logical.h" +#include "replication/logicallauncher.h" +#include "replication/logicalproto.h" +#include "replication/logicalrelation.h" #include "replication/logicalworker.h" +#include "replication/message.h" +#include "replication/origin.h" #include "replication/output_plugin.h" +#include "replication/pgoutput.h" +#include "replication/reorderbuffer.h" +#include "replication/slot.h" +#include "replication/snapbuild.h" #include "replication/syncrep.h" +#include "replication/walreceiver.h" +#include "replication/walsender.h" #include "replication/walsender_private.h" +#include "replication/worker_internal.h" +#include "rewrite/prs2lock.h" +#include "rewrite/rewriteDefine.h" #include "rewrite/rewriteHandler.h" #include "rewrite/rewriteManip.h" +#include "rewrite/rewriteRemove.h" +#include "rewrite/rewriteSupport.h" #include "rewrite/rowsecurity.h" +#include "statistics/extended_stats_internal.h" #include "statistics/statistics.h" +#include "storage/backendid.h" +#include "storage/barrier.h" #include "storage/block.h" +#include "storage/buf.h" #include "storage/buf_internals.h" -#include "storage/bufmgr.h" #include "storage/buffile.h" +#include "storage/bufmgr.h" #include "storage/bufpage.h" +#include "storage/checksum.h" +#include "storage/checksum_impl.h" +#include "storage/condition_variable.h" +#include "storage/copydir.h" #include "storage/dsm.h" #include "storage/dsm_impl.h" -#include "storage/indexfsm.h" +#include "storage/fd.h" #include "storage/freespace.h" +#include "storage/fsm_internals.h" +#include "storage/indexfsm.h" #include "storage/ipc.h" +#include "storage/item.h" +#include "storage/itemid.h" #include "storage/itemptr.h" +#include "storage/large_object.h" +#include "storage/latch.h" #include "storage/lmgr.h" +#include "storage/lock.h" +#include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/md.h" +#include "storage/off.h" +#include "storage/pg_sema.h" +#include "storage/pg_shmem.h" +#include "storage/pmsignal.h" #include "storage/predicate.h" +#include "storage/predicate_internals.h" +#include "storage/proc.h" #include "storage/procarray.h" +#include "storage/proclist.h" +#include "storage/proclist_types.h" +#include "storage/procsignal.h" +#include "storage/reinit.h" #include "storage/relfilenode.h" +#include "storage/s_lock.h" +#include "storage/sharedfileset.h" +#include "storage/shm_mq.h" +#include "storage/shm_toc.h" +#include "storage/shmem.h" +#include "storage/sinval.h" +#include "storage/sinvaladt.h" #include "storage/smgr.h" #include "storage/spin.h" +#include "storage/standby.h" +#include "storage/standbydefs.h" #include "storage/sync.h" +#include "tcop/cmdtag.h" +#include "tcop/deparse_utility.h" +#include "tcop/dest.h" +#include "tcop/fastpath.h" #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "tsearch/ts_cache.h" +#include "tsearch/ts_locale.h" #include "tsearch/ts_public.h" +#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" #include "utils/acl.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/date.h" #include "utils/datetime.h" #include "utils/datum.h" @@ -204,8 +472,9 @@ #include "utils/numeric.h" #include "utils/palloc.h" #include "utils/ps_status.h" -#include "utils/rel.h" +#include "utils/rangetypes.h" #include "utils/regproc.h" +#include "utils/rel.h" #include "utils/relcache.h" #include "utils/resowner.h" #include "utils/resowner_private.h" @@ -216,14 +485,14 @@ #include "utils/snapmgr.h" #include "utils/sortsupport.h" #include "utils/spccache.h" -#include "utils/catcache.h" #include "utils/syscache.h" +#include "utils/tuplesort.h" #include "utils/tuplestore.h" #include "utils/typcache.h" -#include "utils/rangetypes.h" -#include "utils/rel.h" #include "utils/varlena.h" +#if PG_VERSION_NUM < 140000 #ifndef WIN32 #define PGERROR ERROR #endif +#endif diff --git a/pgrx-pg-sys/include/pg14.h b/pgrx-pg-sys/include/pg14.h index 6552c6b7d..4e629a9a1 100644 --- a/pgrx-pg-sys/include/pg14.h +++ b/pgrx-pg-sys/include/pg14.h @@ -8,112 +8,293 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. - #include "postgres.h" #include "pg_config.h" -#include "funcapi.h" -#include "miscadmin.h" -#include "pgstat.h" #include "access/amapi.h" +#include "access/amvalidate.h" +#include "access/attmap.h" +#include "access/attnum.h" +#include "access/brin.h" +#include "access/brin_internal.h" +#include "access/brin_page.h" +#include "access/brin_pageops.h" +#include "access/brin_revmap.h" +#include "access/brin_tuple.h" +#include "access/brin_xlog.h" +#include "access/bufmask.h" +#include "access/clog.h" +#include "access/commit_ts.h" #include "access/detoast.h" #include "access/genam.h" #include "access/generic_xlog.h" #include "access/gin.h" +#include "access/gin_private.h" +#include "access/ginblock.h" +#include "access/ginxlog.h" #include "access/gist.h" +#include "access/gist_private.h" +#include "access/gistscan.h" +#include "access/gistxlog.h" +#include "access/hash.h" +#include "access/hash_xlog.h" #include "access/heapam.h" +#include "access/heapam_xlog.h" +#include "access/heaptoast.h" +#include "access/hio.h" #include "access/htup.h" #include "access/htup_details.h" +#include "access/itup.h" #include "access/multixact.h" +#include "access/nbtree.h" +#include "access/nbtxlog.h" +#include "access/parallel.h" +#include "access/printsimple.h" +#include "access/printtup.h" #include "access/relation.h" #include "access/reloptions.h" #include "access/relscan.h" +#include "access/rewriteheap.h" #include "access/rmgr.h" +#include "access/sdir.h" +#include "access/session.h" #include "access/skey.h" +#include "access/slru.h" +#include "access/spgist.h" +#include "access/spgist_private.h" +#include "access/spgxlog.h" +#include "access/stratnum.h" +#include "access/subtrans.h" +#include "access/syncscan.h" #include "access/sysattr.h" #include "access/table.h" +#include "access/tableam.h" +#include "access/timeline.h" +#include "access/toast_compression.h" +#include "access/toast_helper.h" +#include "access/toast_internals.h" +#include "access/transam.h" #include "access/tsmapi.h" +#include "access/tupconvert.h" +#include "access/tupdesc.h" +#include "access/tupdesc_details.h" +#include "access/tupmacs.h" +#include "access/twophase.h" +#include "access/twophase_rmgr.h" +#include "access/valid.h" #include "access/visibilitymap.h" +#include "access/visibilitymapdefs.h" #include "access/xact.h" +#include "access/xlog.h" #include "access/xlog_internal.h" +#include "access/xlogarchive.h" +#include "access/xlogdefs.h" +#include "access/xloginsert.h" #include "access/xlogreader.h" +#include "access/xlogrecord.h" #include "access/xlogutils.h" -#include "access/subtrans.h" -#include "access/commit_ts.h" +#include "catalog/binary_upgrade.h" #include "catalog/catalog.h" +#include "catalog/catversion.h" #include "catalog/dependency.h" +#include "catalog/genbki.h" #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/objectaddress.h" +#include "catalog/partition.h" +#include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_amproc.h" +#include "catalog/pg_attrdef.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_auth_members.h" #include "catalog/pg_authid.h" +#include "catalog/pg_cast.h" #include "catalog/pg_class.h" #include "catalog/pg_collation.h" +#include "catalog/pg_constraint.h" +#include "catalog/pg_control.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" +#include "catalog/pg_db_role_setting.h" +#include "catalog/pg_default_acl.h" +#include "catalog/pg_depend.h" +#include "catalog/pg_description.h" #include "catalog/pg_enum.h" +#include "catalog/pg_event_trigger.h" #include "catalog/pg_extension.h" #include "catalog/pg_foreign_data_wrapper.h" #include "catalog/pg_foreign_server.h" #include "catalog/pg_foreign_table.h" -#include "catalog/pg_operator.h" +#include "catalog/pg_index.h" +#include "catalog/pg_inherits.h" +#include "catalog/pg_init_privs.h" +#include "catalog/pg_language.h" +#include "catalog/pg_largeobject.h" +#include "catalog/pg_largeobject_metadata.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" +#include "catalog/pg_operator.h" #include "catalog/pg_opfamily.h" +#include "catalog/pg_partitioned_table.h" +#include "catalog/pg_policy.h" #include "catalog/pg_proc.h" -#include "catalog/pg_namespace.h" +#include "catalog/pg_publication.h" +#include "catalog/pg_publication_rel.h" +#include "catalog/pg_range.h" +#include "catalog/pg_replication_origin.h" +#include "catalog/pg_rewrite.h" #include "catalog/pg_seclabel.h" +#include "catalog/pg_sequence.h" +#include "catalog/pg_shdepend.h" +#include "catalog/pg_shdescription.h" +#include "catalog/pg_shseclabel.h" +#include "catalog/pg_statistic.h" #include "catalog/pg_statistic_ext.h" +#include "catalog/pg_statistic_ext_data.h" +#include "catalog/pg_subscription.h" +#include "catalog/pg_subscription_rel.h" #include "catalog/pg_tablespace.h" +#include "catalog/pg_transform.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_ts_config.h" +#include "catalog/pg_ts_config_map.h" +#include "catalog/pg_ts_dict.h" +#include "catalog/pg_ts_parser.h" +#include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "catalog/pg_user_mapping.h" +#include "catalog/schemapg.h" #include "catalog/storage.h" +#include "catalog/storage_xlog.h" +#include "catalog/system_fk_info.h" +#include "catalog/toasting.h" +#include "commands/alter.h" #include "commands/async.h" +#include "commands/cluster.h" +#include "commands/collationcmds.h" #include "commands/comment.h" +#include "commands/conversioncmds.h" #include "commands/copy.h" +#include "commands/copyfrom_internal.h" +#include "commands/createas.h" #include "commands/dbcommands.h" +#include "commands/dbcommands_xlog.h" #include "commands/defrem.h" +#include "commands/discard.h" #include "commands/event_trigger.h" #include "commands/explain.h" #include "commands/extension.h" +#include "commands/lockcmds.h" +#include "commands/matview.h" +#include "commands/policy.h" +#include "commands/portalcmds.h" #include "commands/prepare.h" #include "commands/proclang.h" #include "commands/progress.h" #include "commands/publicationcmds.h" +#include "commands/schemacmds.h" #include "commands/seclabel.h" -#include "commands/tablespace.h" +#include "commands/sequence.h" +#include "commands/subscriptioncmds.h" #include "commands/tablecmds.h" +#include "commands/tablespace.h" #include "commands/trigger.h" +#include "commands/typecmds.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "commands/variable.h" +#include "commands/view.h" #include "common/config_info.h" #include "common/controldata_utils.h" #include "common/pg_lzcompress.h" +#include "executor/execAsync.h" #include "executor/execExpr.h" +#include "executor/execParallel.h" +#include "executor/execPartition.h" +#include "executor/execdebug.h" +#include "executor/execdesc.h" #include "executor/executor.h" +#include "executor/functions.h" +#include "executor/hashjoin.h" +#include "executor/instrument.h" +#include "executor/nodeAgg.h" +#include "executor/nodeAppend.h" +#include "executor/nodeBitmapAnd.h" +#include "executor/nodeBitmapHeapscan.h" +#include "executor/nodeBitmapIndexscan.h" +#include "executor/nodeBitmapOr.h" +#include "executor/nodeCtescan.h" +#include "executor/nodeCustom.h" +#include "executor/nodeForeignscan.h" +#include "executor/nodeFunctionscan.h" +#include "executor/nodeGather.h" +#include "executor/nodeGatherMerge.h" +#include "executor/nodeGroup.h" +#include "executor/nodeHash.h" +#include "executor/nodeHashjoin.h" +#include "executor/nodeIncrementalSort.h" +#include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" +#include "executor/nodeLimit.h" +#include "executor/nodeLockRows.h" +#include "executor/nodeMaterial.h" +#include "executor/nodeMemoize.h" +#include "executor/nodeMergeAppend.h" +#include "executor/nodeMergejoin.h" +#include "executor/nodeModifyTable.h" +#include "executor/nodeNamedtuplestorescan.h" +#include "executor/nodeNestloop.h" +#include "executor/nodeProjectSet.h" +#include "executor/nodeRecursiveunion.h" +#include "executor/nodeResult.h" +#include "executor/nodeSamplescan.h" +#include "executor/nodeSeqscan.h" +#include "executor/nodeSetOp.h" +#include "executor/nodeSort.h" #include "executor/nodeSubplan.h" +#include "executor/nodeSubqueryscan.h" +#include "executor/nodeTableFuncscan.h" +#include "executor/nodeTidrangescan.h" +#include "executor/nodeTidscan.h" +#include "executor/nodeUnique.h" +#include "executor/nodeValuesscan.h" +#include "executor/nodeWindowAgg.h" +#include "executor/nodeWorktablescan.h" #include "executor/spi.h" +#include "executor/spi_priv.h" +#include "executor/tablefunc.h" +#include "executor/tqueue.h" +#include "executor/tstoreReceiver.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "funcapi.h" #include "jit/jit.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" +#include "nodes/bitmapset.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" +#include "nodes/lockoptions.h" #include "nodes/makefuncs.h" +#include "nodes/memnodes.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" +#include "nodes/params.h" #include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/pg_list.h" +#include "nodes/plannodes.h" #include "nodes/primnodes.h" #include "nodes/print.h" +#include "nodes/readfuncs.h" #include "nodes/replnodes.h" #include "nodes/subscripting.h" #include "nodes/supportnodes.h" @@ -122,23 +303,47 @@ #include "optimizer/appendinfo.h" #include "optimizer/clauses.h" #include "optimizer/cost.h" +#include "optimizer/geqo.h" +#include "optimizer/geqo_copy.h" +#include "optimizer/geqo_gene.h" +#include "optimizer/geqo_misc.h" +#include "optimizer/geqo_mutation.h" +#include "optimizer/geqo_pool.h" +#include "optimizer/geqo_random.h" +#include "optimizer/geqo_recombination.h" +#include "optimizer/geqo_selection.h" +#include "optimizer/inherit.h" +#include "optimizer/joininfo.h" #include "optimizer/optimizer.h" +#include "optimizer/orclauses.h" +#include "optimizer/paramassign.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" #include "optimizer/plancat.h" #include "optimizer/planmain.h" #include "optimizer/planner.h" +#include "optimizer/prep.h" #include "optimizer/restrictinfo.h" +#include "optimizer/subselect.h" #include "optimizer/tlist.h" #include "parser/analyze.h" +#include "parser/gramparse.h" +#include "parser/parse_agg.h" +#include "parser/parse_clause.h" +#include "parser/parse_coerce.h" #include "parser/parse_collate.h" +#include "parser/parse_cte.h" +#include "parser/parse_enr.h" #include "parser/parse_expr.h" #include "parser/parse_func.h" +#include "parser/parse_node.h" #include "parser/parse_oper.h" +#include "parser/parse_param.h" #include "parser/parse_relation.h" +#include "parser/parse_target.h" #include "parser/parse_type.h" -#include "parser/parse_coerce.h" +#include "parser/parse_utilcmd.h" #include "parser/parser.h" #include "parser/parsetree.h" #include "parser/scanner.h" @@ -147,47 +352,117 @@ #include "partitioning/partdefs.h" #include "partitioning/partdesc.h" #include "partitioning/partprune.h" +#include "pgstat.h" #include "plpgsql.h" +#include "postmaster/autovacuum.h" #include "postmaster/bgworker.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/fork_process.h" #include "postmaster/interrupt.h" +#include "postmaster/pgarch.h" #include "postmaster/postmaster.h" +#include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walwriter.h" +#include "replication/basebackup.h" +#include "replication/decode.h" #include "replication/logical.h" +#include "replication/logicallauncher.h" +#include "replication/logicalproto.h" +#include "replication/logicalrelation.h" #include "replication/logicalworker.h" +#include "replication/message.h" +#include "replication/origin.h" #include "replication/output_plugin.h" +#include "replication/pgoutput.h" +#include "replication/reorderbuffer.h" +#include "replication/slot.h" +#include "replication/snapbuild.h" #include "replication/syncrep.h" +#include "replication/walreceiver.h" +#include "replication/walsender.h" #include "replication/walsender_private.h" +#include "replication/worker_internal.h" +#include "rewrite/prs2lock.h" +#include "rewrite/rewriteDefine.h" #include "rewrite/rewriteHandler.h" #include "rewrite/rewriteManip.h" +#include "rewrite/rewriteRemove.h" +#include "rewrite/rewriteSearchCycle.h" +#include "rewrite/rewriteSupport.h" #include "rewrite/rowsecurity.h" +#include "statistics/extended_stats_internal.h" #include "statistics/statistics.h" +#include "storage/backendid.h" +#include "storage/barrier.h" #include "storage/block.h" +#include "storage/buf.h" #include "storage/buf_internals.h" -#include "storage/bufmgr.h" #include "storage/buffile.h" +#include "storage/bufmgr.h" #include "storage/bufpage.h" +#include "storage/checksum.h" +#include "storage/checksum_impl.h" +#include "storage/condition_variable.h" +#include "storage/copydir.h" #include "storage/dsm.h" #include "storage/dsm_impl.h" -#include "storage/indexfsm.h" +#include "storage/fd.h" #include "storage/freespace.h" +#include "storage/fsm_internals.h" +#include "storage/indexfsm.h" #include "storage/ipc.h" +#include "storage/item.h" +#include "storage/itemid.h" #include "storage/itemptr.h" +#include "storage/large_object.h" +#include "storage/latch.h" #include "storage/lmgr.h" +#include "storage/lock.h" +#include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/md.h" +#include "storage/off.h" +#include "storage/pg_sema.h" +#include "storage/pg_shmem.h" +#include "storage/pmsignal.h" #include "storage/predicate.h" +#include "storage/predicate_internals.h" +#include "storage/proc.h" #include "storage/procarray.h" +#include "storage/proclist.h" +#include "storage/proclist_types.h" +#include "storage/procsignal.h" +#include "storage/reinit.h" #include "storage/relfilenode.h" +#include "storage/s_lock.h" +#include "storage/sharedfileset.h" +#include "storage/shm_mq.h" +#include "storage/shm_toc.h" +#include "storage/shmem.h" +#include "storage/sinval.h" +#include "storage/sinvaladt.h" #include "storage/smgr.h" #include "storage/spin.h" +#include "storage/standby.h" +#include "storage/standbydefs.h" #include "storage/sync.h" +#include "tcop/cmdtag.h" +#include "tcop/deparse_utility.h" +#include "tcop/dest.h" +#include "tcop/fastpath.h" #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "tsearch/ts_cache.h" +#include "tsearch/ts_locale.h" #include "tsearch/ts_public.h" +#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" -#include "utils/acl.h" +#include "utils/acl.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/date.h" #include "utils/datetime.h" #include "utils/datum.h" @@ -205,6 +480,7 @@ #include "utils/numeric.h" #include "utils/palloc.h" #include "utils/ps_status.h" +#include "utils/rangetypes.h" #include "utils/regproc.h" #include "utils/rel.h" #include "utils/relcache.h" @@ -217,10 +493,15 @@ #include "utils/snapmgr.h" #include "utils/sortsupport.h" #include "utils/spccache.h" -#include "utils/catcache.h" #include "utils/syscache.h" +#include "utils/tuplesort.h" #include "utils/tuplestore.h" #include "utils/typcache.h" -#include "utils/rangetypes.h" -#include "utils/rel.h" #include "utils/varlena.h" +#include "utils/wait_event.h" + +#if PG_VERSION_NUM < 140000 +#ifndef WIN32 +#define PGERROR ERROR +#endif +#endif diff --git a/pgrx-pg-sys/include/pg15.h b/pgrx-pg-sys/include/pg15.h index 50df1be38..61b014667 100644 --- a/pgrx-pg-sys/include/pg15.h +++ b/pgrx-pg-sys/include/pg15.h @@ -8,113 +8,298 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. - #include "postgres.h" #include "pg_config.h" -#include "funcapi.h" -#include "miscadmin.h" -#include "pgstat.h" #include "access/amapi.h" +#include "access/amvalidate.h" +#include "access/attmap.h" +#include "access/attnum.h" +#include "access/brin.h" +#include "access/brin_internal.h" +#include "access/brin_page.h" +#include "access/brin_pageops.h" +#include "access/brin_revmap.h" +#include "access/brin_tuple.h" +#include "access/brin_xlog.h" +#include "access/bufmask.h" +#include "access/clog.h" +#include "access/commit_ts.h" #include "access/detoast.h" #include "access/genam.h" #include "access/generic_xlog.h" #include "access/gin.h" +#include "access/gin_private.h" +#include "access/ginblock.h" +#include "access/ginxlog.h" #include "access/gist.h" +#include "access/gist_private.h" +#include "access/gistscan.h" +#include "access/gistxlog.h" +#include "access/hash.h" +#include "access/hash_xlog.h" #include "access/heapam.h" +#include "access/heapam_xlog.h" +#include "access/heaptoast.h" +#include "access/hio.h" #include "access/htup.h" #include "access/htup_details.h" +#include "access/itup.h" #include "access/multixact.h" +#include "access/nbtree.h" +#include "access/nbtxlog.h" +#include "access/parallel.h" +#include "access/printsimple.h" +#include "access/printtup.h" #include "access/relation.h" #include "access/reloptions.h" #include "access/relscan.h" +#include "access/rewriteheap.h" #include "access/rmgr.h" +#include "access/sdir.h" +#include "access/session.h" #include "access/skey.h" +#include "access/slru.h" +#include "access/spgist.h" +#include "access/spgist_private.h" +#include "access/spgxlog.h" +#include "access/stratnum.h" +#include "access/subtrans.h" +#include "access/syncscan.h" #include "access/sysattr.h" #include "access/table.h" +#include "access/tableam.h" +#include "access/timeline.h" +#include "access/toast_compression.h" +#include "access/toast_helper.h" +#include "access/toast_internals.h" +#include "access/transam.h" #include "access/tsmapi.h" +#include "access/tupconvert.h" +#include "access/tupdesc.h" +#include "access/tupdesc_details.h" +#include "access/tupmacs.h" +#include "access/twophase.h" +#include "access/twophase_rmgr.h" +#include "access/valid.h" #include "access/visibilitymap.h" +#include "access/visibilitymapdefs.h" #include "access/xact.h" +#include "access/xlog.h" #include "access/xlog_internal.h" +#include "access/xlogarchive.h" +#include "access/xlogdefs.h" +#include "access/xloginsert.h" +#include "access/xlogprefetcher.h" #include "access/xlogreader.h" +#include "access/xlogrecord.h" #include "access/xlogrecovery.h" +#include "access/xlogstats.h" #include "access/xlogutils.h" -#include "access/subtrans.h" -#include "access/commit_ts.h" +#include "catalog/binary_upgrade.h" #include "catalog/catalog.h" +#include "catalog/catversion.h" #include "catalog/dependency.h" +#include "catalog/genbki.h" #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/objectaddress.h" +#include "catalog/partition.h" +#include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_amproc.h" +#include "catalog/pg_attrdef.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_auth_members.h" #include "catalog/pg_authid.h" +#include "catalog/pg_cast.h" #include "catalog/pg_class.h" #include "catalog/pg_collation.h" +#include "catalog/pg_constraint.h" +#include "catalog/pg_control.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" +#include "catalog/pg_db_role_setting.h" +#include "catalog/pg_default_acl.h" +#include "catalog/pg_depend.h" +#include "catalog/pg_description.h" #include "catalog/pg_enum.h" +#include "catalog/pg_event_trigger.h" #include "catalog/pg_extension.h" #include "catalog/pg_foreign_data_wrapper.h" #include "catalog/pg_foreign_server.h" #include "catalog/pg_foreign_table.h" -#include "catalog/pg_operator.h" +#include "catalog/pg_index.h" +#include "catalog/pg_inherits.h" +#include "catalog/pg_init_privs.h" +#include "catalog/pg_language.h" +#include "catalog/pg_largeobject.h" +#include "catalog/pg_largeobject_metadata.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" +#include "catalog/pg_operator.h" #include "catalog/pg_opfamily.h" +#include "catalog/pg_parameter_acl.h" +#include "catalog/pg_partitioned_table.h" +#include "catalog/pg_policy.h" #include "catalog/pg_proc.h" -#include "catalog/pg_namespace.h" +#include "catalog/pg_publication.h" +#include "catalog/pg_publication_namespace.h" +#include "catalog/pg_publication_rel.h" +#include "catalog/pg_range.h" +#include "catalog/pg_replication_origin.h" +#include "catalog/pg_rewrite.h" #include "catalog/pg_seclabel.h" +#include "catalog/pg_sequence.h" +#include "catalog/pg_shdepend.h" +#include "catalog/pg_shdescription.h" +#include "catalog/pg_shseclabel.h" +#include "catalog/pg_statistic.h" #include "catalog/pg_statistic_ext.h" +#include "catalog/pg_statistic_ext_data.h" +#include "catalog/pg_subscription.h" +#include "catalog/pg_subscription_rel.h" #include "catalog/pg_tablespace.h" +#include "catalog/pg_transform.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_ts_config.h" +#include "catalog/pg_ts_config_map.h" +#include "catalog/pg_ts_dict.h" +#include "catalog/pg_ts_parser.h" +#include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "catalog/pg_user_mapping.h" +#include "catalog/schemapg.h" #include "catalog/storage.h" +#include "catalog/storage_xlog.h" +#include "catalog/system_fk_info.h" +#include "catalog/toasting.h" +#include "commands/alter.h" #include "commands/async.h" +#include "commands/cluster.h" +#include "commands/collationcmds.h" #include "commands/comment.h" +#include "commands/conversioncmds.h" #include "commands/copy.h" +#include "commands/copyfrom_internal.h" +#include "commands/createas.h" #include "commands/dbcommands.h" +#include "commands/dbcommands_xlog.h" #include "commands/defrem.h" +#include "commands/discard.h" #include "commands/event_trigger.h" #include "commands/explain.h" #include "commands/extension.h" +#include "commands/lockcmds.h" +#include "commands/matview.h" +#include "commands/policy.h" +#include "commands/portalcmds.h" #include "commands/prepare.h" #include "commands/proclang.h" #include "commands/progress.h" #include "commands/publicationcmds.h" +#include "commands/schemacmds.h" #include "commands/seclabel.h" -#include "commands/tablespace.h" +#include "commands/sequence.h" +#include "commands/subscriptioncmds.h" #include "commands/tablecmds.h" +#include "commands/tablespace.h" #include "commands/trigger.h" +#include "commands/typecmds.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "commands/variable.h" +#include "commands/view.h" #include "common/config_info.h" #include "common/controldata_utils.h" #include "common/pg_lzcompress.h" +#include "executor/execAsync.h" #include "executor/execExpr.h" +#include "executor/execParallel.h" +#include "executor/execPartition.h" +#include "executor/execdebug.h" +#include "executor/execdesc.h" #include "executor/executor.h" +#include "executor/functions.h" +#include "executor/hashjoin.h" +#include "executor/instrument.h" +#include "executor/nodeAgg.h" +#include "executor/nodeAppend.h" +#include "executor/nodeBitmapAnd.h" +#include "executor/nodeBitmapHeapscan.h" +#include "executor/nodeBitmapIndexscan.h" +#include "executor/nodeBitmapOr.h" +#include "executor/nodeCtescan.h" +#include "executor/nodeCustom.h" +#include "executor/nodeForeignscan.h" +#include "executor/nodeFunctionscan.h" +#include "executor/nodeGather.h" +#include "executor/nodeGatherMerge.h" +#include "executor/nodeGroup.h" +#include "executor/nodeHash.h" +#include "executor/nodeHashjoin.h" +#include "executor/nodeIncrementalSort.h" +#include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" +#include "executor/nodeLimit.h" +#include "executor/nodeLockRows.h" +#include "executor/nodeMaterial.h" +#include "executor/nodeMemoize.h" +#include "executor/nodeMergeAppend.h" +#include "executor/nodeMergejoin.h" +#include "executor/nodeModifyTable.h" +#include "executor/nodeNamedtuplestorescan.h" +#include "executor/nodeNestloop.h" +#include "executor/nodeProjectSet.h" +#include "executor/nodeRecursiveunion.h" +#include "executor/nodeResult.h" +#include "executor/nodeSamplescan.h" +#include "executor/nodeSeqscan.h" +#include "executor/nodeSetOp.h" +#include "executor/nodeSort.h" #include "executor/nodeSubplan.h" +#include "executor/nodeSubqueryscan.h" +#include "executor/nodeTableFuncscan.h" +#include "executor/nodeTidrangescan.h" +#include "executor/nodeTidscan.h" +#include "executor/nodeUnique.h" +#include "executor/nodeValuesscan.h" +#include "executor/nodeWindowAgg.h" +#include "executor/nodeWorktablescan.h" #include "executor/spi.h" +#include "executor/spi_priv.h" +#include "executor/tablefunc.h" +#include "executor/tqueue.h" +#include "executor/tstoreReceiver.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "funcapi.h" #include "jit/jit.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" +#include "nodes/bitmapset.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" +#include "nodes/lockoptions.h" #include "nodes/makefuncs.h" +#include "nodes/memnodes.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" +#include "nodes/params.h" #include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/pg_list.h" +#include "nodes/plannodes.h" #include "nodes/primnodes.h" #include "nodes/print.h" +#include "nodes/readfuncs.h" #include "nodes/replnodes.h" #include "nodes/subscripting.h" #include "nodes/supportnodes.h" @@ -123,23 +308,48 @@ #include "optimizer/appendinfo.h" #include "optimizer/clauses.h" #include "optimizer/cost.h" +#include "optimizer/geqo.h" +#include "optimizer/geqo_copy.h" +#include "optimizer/geqo_gene.h" +#include "optimizer/geqo_misc.h" +#include "optimizer/geqo_mutation.h" +#include "optimizer/geqo_pool.h" +#include "optimizer/geqo_random.h" +#include "optimizer/geqo_recombination.h" +#include "optimizer/geqo_selection.h" +#include "optimizer/inherit.h" +#include "optimizer/joininfo.h" #include "optimizer/optimizer.h" +#include "optimizer/orclauses.h" +#include "optimizer/paramassign.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" #include "optimizer/plancat.h" #include "optimizer/planmain.h" #include "optimizer/planner.h" +#include "optimizer/prep.h" #include "optimizer/restrictinfo.h" +#include "optimizer/subselect.h" #include "optimizer/tlist.h" #include "parser/analyze.h" +#include "parser/gramparse.h" +#include "parser/parse_agg.h" +#include "parser/parse_clause.h" +#include "parser/parse_coerce.h" #include "parser/parse_collate.h" +#include "parser/parse_cte.h" +#include "parser/parse_enr.h" #include "parser/parse_expr.h" #include "parser/parse_func.h" +#include "parser/parse_merge.h" +#include "parser/parse_node.h" #include "parser/parse_oper.h" +#include "parser/parse_param.h" #include "parser/parse_relation.h" +#include "parser/parse_target.h" #include "parser/parse_type.h" -#include "parser/parse_coerce.h" +#include "parser/parse_utilcmd.h" #include "parser/parser.h" #include "parser/parsetree.h" #include "parser/scanner.h" @@ -148,47 +358,118 @@ #include "partitioning/partdefs.h" #include "partitioning/partdesc.h" #include "partitioning/partprune.h" +#include "pgstat.h" #include "plpgsql.h" +#include "postmaster/autovacuum.h" +#include "postmaster/auxprocess.h" #include "postmaster/bgworker.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/fork_process.h" #include "postmaster/interrupt.h" +#include "postmaster/pgarch.h" #include "postmaster/postmaster.h" +#include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walwriter.h" +#include "replication/decode.h" #include "replication/logical.h" +#include "replication/logicallauncher.h" +#include "replication/logicalproto.h" +#include "replication/logicalrelation.h" #include "replication/logicalworker.h" +#include "replication/message.h" +#include "replication/origin.h" #include "replication/output_plugin.h" +#include "replication/pgoutput.h" +#include "replication/reorderbuffer.h" +#include "replication/slot.h" +#include "replication/snapbuild.h" #include "replication/syncrep.h" +#include "replication/walreceiver.h" +#include "replication/walsender.h" #include "replication/walsender_private.h" +#include "replication/worker_internal.h" +#include "rewrite/prs2lock.h" +#include "rewrite/rewriteDefine.h" #include "rewrite/rewriteHandler.h" #include "rewrite/rewriteManip.h" +#include "rewrite/rewriteRemove.h" +#include "rewrite/rewriteSearchCycle.h" +#include "rewrite/rewriteSupport.h" #include "rewrite/rowsecurity.h" +#include "statistics/extended_stats_internal.h" #include "statistics/statistics.h" +#include "storage/backendid.h" +#include "storage/barrier.h" #include "storage/block.h" +#include "storage/buf.h" #include "storage/buf_internals.h" -#include "storage/bufmgr.h" #include "storage/buffile.h" +#include "storage/bufmgr.h" #include "storage/bufpage.h" +#include "storage/checksum.h" +#include "storage/checksum_impl.h" +#include "storage/condition_variable.h" +#include "storage/copydir.h" #include "storage/dsm.h" #include "storage/dsm_impl.h" -#include "storage/indexfsm.h" +#include "storage/fd.h" +#include "storage/fileset.h" #include "storage/freespace.h" +#include "storage/fsm_internals.h" +#include "storage/indexfsm.h" #include "storage/ipc.h" +#include "storage/item.h" +#include "storage/itemid.h" #include "storage/itemptr.h" +#include "storage/large_object.h" +#include "storage/latch.h" #include "storage/lmgr.h" +#include "storage/lock.h" +#include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/md.h" +#include "storage/off.h" +#include "storage/pg_sema.h" +#include "storage/pg_shmem.h" +#include "storage/pmsignal.h" #include "storage/predicate.h" +#include "storage/predicate_internals.h" +#include "storage/proc.h" #include "storage/procarray.h" +#include "storage/proclist.h" +#include "storage/proclist_types.h" +#include "storage/procsignal.h" +#include "storage/reinit.h" #include "storage/relfilenode.h" +#include "storage/s_lock.h" +#include "storage/sharedfileset.h" +#include "storage/shm_mq.h" +#include "storage/shm_toc.h" +#include "storage/shmem.h" +#include "storage/sinval.h" +#include "storage/sinvaladt.h" #include "storage/smgr.h" #include "storage/spin.h" +#include "storage/standby.h" +#include "storage/standbydefs.h" #include "storage/sync.h" +#include "tcop/cmdtag.h" +#include "tcop/deparse_utility.h" +#include "tcop/dest.h" +#include "tcop/fastpath.h" #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "tsearch/ts_cache.h" +#include "tsearch/ts_locale.h" #include "tsearch/ts_public.h" +#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" -#include "utils/acl.h" +#include "utils/acl.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/date.h" #include "utils/datetime.h" #include "utils/datum.h" @@ -206,6 +487,7 @@ #include "utils/numeric.h" #include "utils/palloc.h" #include "utils/ps_status.h" +#include "utils/rangetypes.h" #include "utils/regproc.h" #include "utils/rel.h" #include "utils/relcache.h" @@ -218,10 +500,15 @@ #include "utils/snapmgr.h" #include "utils/sortsupport.h" #include "utils/spccache.h" -#include "utils/catcache.h" #include "utils/syscache.h" +#include "utils/tuplesort.h" #include "utils/tuplestore.h" #include "utils/typcache.h" -#include "utils/rangetypes.h" -#include "utils/rel.h" #include "utils/varlena.h" +#include "utils/wait_event.h" + +#if PG_VERSION_NUM < 140000 +#ifndef WIN32 +#define PGERROR ERROR +#endif +#endif diff --git a/pgrx-pg-sys/include/pg16.h b/pgrx-pg-sys/include/pg16.h index 4d70c7c19..8b7994360 100644 --- a/pgrx-pg-sys/include/pg16.h +++ b/pgrx-pg-sys/include/pg16.h @@ -8,115 +8,302 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. - #include "postgres.h" #include "pg_config.h" -#include "funcapi.h" -#include "miscadmin.h" -#include "pgstat.h" -#include "varatt.h" #include "access/amapi.h" +#include "access/amvalidate.h" +#include "access/attmap.h" +#include "access/attnum.h" +#include "access/brin.h" +#include "access/brin_internal.h" +#include "access/brin_page.h" +#include "access/brin_pageops.h" +#include "access/brin_revmap.h" +#include "access/brin_tuple.h" +#include "access/brin_xlog.h" +#include "access/bufmask.h" +#include "access/clog.h" +#include "access/commit_ts.h" #include "access/detoast.h" #include "access/genam.h" #include "access/generic_xlog.h" #include "access/gin.h" +#include "access/gin_private.h" +#include "access/ginblock.h" +#include "access/ginxlog.h" #include "access/gist.h" +#include "access/gist_private.h" +#include "access/gistscan.h" +#include "access/gistxlog.h" +#include "access/hash.h" +#include "access/hash_xlog.h" #include "access/heapam.h" +#include "access/heapam_xlog.h" +#include "access/heaptoast.h" +#include "access/hio.h" #include "access/htup.h" #include "access/htup_details.h" +#include "access/itup.h" #include "access/multixact.h" +#include "access/nbtree.h" +#include "access/nbtxlog.h" +#include "access/parallel.h" +#include "access/printsimple.h" +#include "access/printtup.h" #include "access/relation.h" #include "access/reloptions.h" #include "access/relscan.h" +#include "access/rewriteheap.h" #include "access/rmgr.h" +#include "access/rmgrdesc_utils.h" +#include "access/sdir.h" +#include "access/session.h" #include "access/skey.h" +#include "access/slru.h" +#include "access/spgist.h" +#include "access/spgist_private.h" +#include "access/spgxlog.h" +#include "access/stratnum.h" +#include "access/subtrans.h" +#include "access/syncscan.h" #include "access/sysattr.h" #include "access/table.h" +#include "access/tableam.h" +#include "access/timeline.h" +#include "access/toast_compression.h" +#include "access/toast_helper.h" +#include "access/toast_internals.h" +#include "access/transam.h" #include "access/tsmapi.h" +#include "access/tupconvert.h" +#include "access/tupdesc.h" +#include "access/tupdesc_details.h" +#include "access/tupmacs.h" +#include "access/twophase.h" +#include "access/twophase_rmgr.h" +#include "access/valid.h" #include "access/visibilitymap.h" +#include "access/visibilitymapdefs.h" #include "access/xact.h" +#include "access/xlog.h" #include "access/xlog_internal.h" +#include "access/xlogarchive.h" +#include "access/xlogbackup.h" +#include "access/xlogdefs.h" +#include "access/xloginsert.h" +#include "access/xlogprefetcher.h" #include "access/xlogreader.h" +#include "access/xlogrecord.h" #include "access/xlogrecovery.h" +#include "access/xlogstats.h" #include "access/xlogutils.h" -#include "access/subtrans.h" -#include "access/commit_ts.h" +#include "catalog/binary_upgrade.h" #include "catalog/catalog.h" +#include "catalog/catversion.h" #include "catalog/dependency.h" +#include "catalog/genbki.h" #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/objectaddress.h" +#include "catalog/partition.h" +#include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_amproc.h" +#include "catalog/pg_attrdef.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_auth_members.h" #include "catalog/pg_authid.h" +#include "catalog/pg_cast.h" #include "catalog/pg_class.h" #include "catalog/pg_collation.h" +#include "catalog/pg_constraint.h" +#include "catalog/pg_control.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" +#include "catalog/pg_db_role_setting.h" +#include "catalog/pg_default_acl.h" +#include "catalog/pg_depend.h" +#include "catalog/pg_description.h" #include "catalog/pg_enum.h" +#include "catalog/pg_event_trigger.h" #include "catalog/pg_extension.h" #include "catalog/pg_foreign_data_wrapper.h" #include "catalog/pg_foreign_server.h" #include "catalog/pg_foreign_table.h" -#include "catalog/pg_operator.h" +#include "catalog/pg_index.h" +#include "catalog/pg_inherits.h" +#include "catalog/pg_init_privs.h" +#include "catalog/pg_language.h" +#include "catalog/pg_largeobject.h" +#include "catalog/pg_largeobject_metadata.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" +#include "catalog/pg_operator.h" #include "catalog/pg_opfamily.h" +#include "catalog/pg_parameter_acl.h" +#include "catalog/pg_partitioned_table.h" +#include "catalog/pg_policy.h" #include "catalog/pg_proc.h" -#include "catalog/pg_namespace.h" +#include "catalog/pg_publication.h" +#include "catalog/pg_publication_namespace.h" +#include "catalog/pg_publication_rel.h" +#include "catalog/pg_range.h" +#include "catalog/pg_replication_origin.h" +#include "catalog/pg_rewrite.h" #include "catalog/pg_seclabel.h" +#include "catalog/pg_sequence.h" +#include "catalog/pg_shdepend.h" +#include "catalog/pg_shdescription.h" +#include "catalog/pg_shseclabel.h" +#include "catalog/pg_statistic.h" #include "catalog/pg_statistic_ext.h" +#include "catalog/pg_statistic_ext_data.h" +#include "catalog/pg_subscription.h" +#include "catalog/pg_subscription_rel.h" #include "catalog/pg_tablespace.h" +#include "catalog/pg_transform.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_ts_config.h" +#include "catalog/pg_ts_config_map.h" +#include "catalog/pg_ts_dict.h" +#include "catalog/pg_ts_parser.h" +#include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "catalog/pg_user_mapping.h" +#include "catalog/schemapg.h" #include "catalog/storage.h" +#include "catalog/storage_xlog.h" +#include "catalog/system_fk_info.h" +#include "catalog/toasting.h" +#include "commands/alter.h" #include "commands/async.h" +#include "commands/cluster.h" +#include "commands/collationcmds.h" #include "commands/comment.h" +#include "commands/conversioncmds.h" #include "commands/copy.h" +#include "commands/copyfrom_internal.h" +#include "commands/createas.h" #include "commands/dbcommands.h" +#include "commands/dbcommands_xlog.h" #include "commands/defrem.h" +#include "commands/discard.h" #include "commands/event_trigger.h" #include "commands/explain.h" #include "commands/extension.h" +#include "commands/lockcmds.h" +#include "commands/matview.h" +#include "commands/policy.h" +#include "commands/portalcmds.h" #include "commands/prepare.h" #include "commands/proclang.h" #include "commands/progress.h" #include "commands/publicationcmds.h" +#include "commands/schemacmds.h" #include "commands/seclabel.h" -#include "commands/tablespace.h" +#include "commands/sequence.h" +#include "commands/subscriptioncmds.h" #include "commands/tablecmds.h" +#include "commands/tablespace.h" #include "commands/trigger.h" +#include "commands/typecmds.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "commands/view.h" #include "common/config_info.h" #include "common/controldata_utils.h" #include "common/pg_lzcompress.h" +#include "executor/execAsync.h" #include "executor/execExpr.h" +#include "executor/execParallel.h" +#include "executor/execPartition.h" +#include "executor/execdebug.h" +#include "executor/execdesc.h" #include "executor/executor.h" +#include "executor/functions.h" +#include "executor/hashjoin.h" +#include "executor/instrument.h" +#include "executor/nodeAgg.h" +#include "executor/nodeAppend.h" +#include "executor/nodeBitmapAnd.h" +#include "executor/nodeBitmapHeapscan.h" +#include "executor/nodeBitmapIndexscan.h" +#include "executor/nodeBitmapOr.h" +#include "executor/nodeCtescan.h" +#include "executor/nodeCustom.h" +#include "executor/nodeForeignscan.h" +#include "executor/nodeFunctionscan.h" +#include "executor/nodeGather.h" +#include "executor/nodeGatherMerge.h" +#include "executor/nodeGroup.h" +#include "executor/nodeHash.h" +#include "executor/nodeHashjoin.h" +#include "executor/nodeIncrementalSort.h" +#include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" +#include "executor/nodeLimit.h" +#include "executor/nodeLockRows.h" +#include "executor/nodeMaterial.h" +#include "executor/nodeMemoize.h" +#include "executor/nodeMergeAppend.h" +#include "executor/nodeMergejoin.h" +#include "executor/nodeModifyTable.h" +#include "executor/nodeNamedtuplestorescan.h" +#include "executor/nodeNestloop.h" +#include "executor/nodeProjectSet.h" +#include "executor/nodeRecursiveunion.h" +#include "executor/nodeResult.h" +#include "executor/nodeSamplescan.h" +#include "executor/nodeSeqscan.h" +#include "executor/nodeSetOp.h" +#include "executor/nodeSort.h" #include "executor/nodeSubplan.h" +#include "executor/nodeSubqueryscan.h" +#include "executor/nodeTableFuncscan.h" +#include "executor/nodeTidrangescan.h" +#include "executor/nodeTidscan.h" +#include "executor/nodeUnique.h" +#include "executor/nodeValuesscan.h" +#include "executor/nodeWindowAgg.h" +#include "executor/nodeWorktablescan.h" #include "executor/spi.h" +#include "executor/spi_priv.h" +#include "executor/tablefunc.h" +#include "executor/tqueue.h" +#include "executor/tstoreReceiver.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "funcapi.h" #include "jit/jit.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" +#include "nodes/bitmapset.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" +#include "nodes/lockoptions.h" #include "nodes/makefuncs.h" +#include "nodes/memnodes.h" #include "nodes/miscnodes.h" +#include "nodes/multibitmapset.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" +#include "nodes/params.h" #include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/pg_list.h" +#include "nodes/plannodes.h" #include "nodes/primnodes.h" #include "nodes/print.h" +#include "nodes/queryjumble.h" +#include "nodes/readfuncs.h" #include "nodes/replnodes.h" #include "nodes/subscripting.h" #include "nodes/supportnodes.h" @@ -125,23 +312,47 @@ #include "optimizer/appendinfo.h" #include "optimizer/clauses.h" #include "optimizer/cost.h" +#include "optimizer/geqo.h" +#include "optimizer/geqo_copy.h" +#include "optimizer/geqo_gene.h" +#include "optimizer/geqo_misc.h" +#include "optimizer/geqo_mutation.h" +#include "optimizer/geqo_pool.h" +#include "optimizer/geqo_random.h" +#include "optimizer/geqo_recombination.h" +#include "optimizer/geqo_selection.h" +#include "optimizer/inherit.h" +#include "optimizer/joininfo.h" #include "optimizer/optimizer.h" +#include "optimizer/orclauses.h" +#include "optimizer/paramassign.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" #include "optimizer/plancat.h" #include "optimizer/planmain.h" #include "optimizer/planner.h" +#include "optimizer/prep.h" #include "optimizer/restrictinfo.h" +#include "optimizer/subselect.h" #include "optimizer/tlist.h" #include "parser/analyze.h" +#include "parser/parse_agg.h" +#include "parser/parse_clause.h" +#include "parser/parse_coerce.h" #include "parser/parse_collate.h" +#include "parser/parse_cte.h" +#include "parser/parse_enr.h" #include "parser/parse_expr.h" #include "parser/parse_func.h" +#include "parser/parse_merge.h" +#include "parser/parse_node.h" #include "parser/parse_oper.h" +#include "parser/parse_param.h" #include "parser/parse_relation.h" +#include "parser/parse_target.h" #include "parser/parse_type.h" -#include "parser/parse_coerce.h" +#include "parser/parse_utilcmd.h" #include "parser/parser.h" #include "parser/parsetree.h" #include "parser/scanner.h" @@ -150,47 +361,118 @@ #include "partitioning/partdefs.h" #include "partitioning/partdesc.h" #include "partitioning/partprune.h" +#include "pgstat.h" #include "plpgsql.h" +#include "postmaster/autovacuum.h" +#include "postmaster/auxprocess.h" #include "postmaster/bgworker.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/fork_process.h" #include "postmaster/interrupt.h" +#include "postmaster/pgarch.h" #include "postmaster/postmaster.h" +#include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walwriter.h" +#include "replication/decode.h" #include "replication/logical.h" +#include "replication/logicallauncher.h" +#include "replication/logicalproto.h" +#include "replication/logicalrelation.h" #include "replication/logicalworker.h" +#include "replication/message.h" +#include "replication/origin.h" #include "replication/output_plugin.h" +#include "replication/pgoutput.h" +#include "replication/reorderbuffer.h" +#include "replication/slot.h" +#include "replication/snapbuild.h" #include "replication/syncrep.h" +#include "replication/walreceiver.h" +#include "replication/walsender.h" #include "replication/walsender_private.h" +#include "replication/worker_internal.h" +#include "rewrite/prs2lock.h" +#include "rewrite/rewriteDefine.h" #include "rewrite/rewriteHandler.h" #include "rewrite/rewriteManip.h" +#include "rewrite/rewriteRemove.h" +#include "rewrite/rewriteSearchCycle.h" +#include "rewrite/rewriteSupport.h" #include "rewrite/rowsecurity.h" +#include "statistics/extended_stats_internal.h" #include "statistics/statistics.h" +#include "storage/backendid.h" +#include "storage/barrier.h" #include "storage/block.h" +#include "storage/buf.h" #include "storage/buf_internals.h" -#include "storage/bufmgr.h" #include "storage/buffile.h" +#include "storage/bufmgr.h" #include "storage/bufpage.h" +#include "storage/checksum.h" +#include "storage/checksum_impl.h" +#include "storage/condition_variable.h" +#include "storage/copydir.h" #include "storage/dsm.h" #include "storage/dsm_impl.h" -#include "storage/indexfsm.h" +#include "storage/fd.h" +#include "storage/fileset.h" #include "storage/freespace.h" +#include "storage/fsm_internals.h" +#include "storage/indexfsm.h" #include "storage/ipc.h" +#include "storage/item.h" +#include "storage/itemid.h" #include "storage/itemptr.h" +#include "storage/large_object.h" +#include "storage/latch.h" #include "storage/lmgr.h" +#include "storage/lock.h" +#include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/md.h" +#include "storage/off.h" +#include "storage/pg_sema.h" +#include "storage/pg_shmem.h" +#include "storage/pmsignal.h" #include "storage/predicate.h" +#include "storage/predicate_internals.h" +#include "storage/proc.h" #include "storage/procarray.h" +#include "storage/proclist.h" +#include "storage/proclist_types.h" +#include "storage/procsignal.h" +#include "storage/reinit.h" #include "storage/relfilelocator.h" +#include "storage/s_lock.h" +#include "storage/sharedfileset.h" +#include "storage/shm_mq.h" +#include "storage/shm_toc.h" +#include "storage/shmem.h" +#include "storage/sinval.h" +#include "storage/sinvaladt.h" #include "storage/smgr.h" #include "storage/spin.h" +#include "storage/standby.h" +#include "storage/standbydefs.h" #include "storage/sync.h" +#include "tcop/cmdtag.h" +#include "tcop/deparse_utility.h" +#include "tcop/dest.h" +#include "tcop/fastpath.h" #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "tsearch/ts_cache.h" +#include "tsearch/ts_locale.h" #include "tsearch/ts_public.h" +#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" -#include "utils/acl.h" +#include "utils/acl.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/date.h" #include "utils/datetime.h" #include "utils/datum.h" @@ -208,6 +490,7 @@ #include "utils/numeric.h" #include "utils/palloc.h" #include "utils/ps_status.h" +#include "utils/rangetypes.h" #include "utils/regproc.h" #include "utils/rel.h" #include "utils/relcache.h" @@ -220,10 +503,16 @@ #include "utils/snapmgr.h" #include "utils/sortsupport.h" #include "utils/spccache.h" -#include "utils/catcache.h" #include "utils/syscache.h" +#include "utils/tuplesort.h" #include "utils/tuplestore.h" #include "utils/typcache.h" -#include "utils/rangetypes.h" -#include "utils/rel.h" #include "utils/varlena.h" +#include "utils/wait_event.h" +#include "varatt.h" + +#if PG_VERSION_NUM < 140000 +#ifndef WIN32 +#define PGERROR ERROR +#endif +#endif diff --git a/pgrx-pg-sys/include/pg17.h b/pgrx-pg-sys/include/pg17.h index a15f7c6c5..d3b02d1de 100644 --- a/pgrx-pg-sys/include/pg17.h +++ b/pgrx-pg-sys/include/pg17.h @@ -8,115 +8,304 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. - #include "postgres.h" #include "pg_config.h" -#include "funcapi.h" -#include "miscadmin.h" -#include "pgstat.h" -#include "varatt.h" #include "access/amapi.h" +#include "access/amvalidate.h" +#include "access/attmap.h" +#include "access/attnum.h" +#include "access/brin.h" +#include "access/brin_internal.h" +#include "access/brin_page.h" +#include "access/brin_pageops.h" +#include "access/brin_revmap.h" +#include "access/brin_tuple.h" +#include "access/brin_xlog.h" +#include "access/bufmask.h" +#include "access/clog.h" +#include "access/commit_ts.h" #include "access/detoast.h" #include "access/genam.h" #include "access/generic_xlog.h" #include "access/gin.h" +#include "access/gin_private.h" +#include "access/ginblock.h" +#include "access/ginxlog.h" #include "access/gist.h" +#include "access/gist_private.h" +#include "access/gistscan.h" +#include "access/gistxlog.h" +#include "access/hash.h" +#include "access/hash_xlog.h" #include "access/heapam.h" +#include "access/heapam_xlog.h" +#include "access/heaptoast.h" +#include "access/hio.h" #include "access/htup.h" #include "access/htup_details.h" +#include "access/itup.h" #include "access/multixact.h" +#include "access/nbtree.h" +#include "access/nbtxlog.h" +#include "access/parallel.h" +#include "access/printsimple.h" +#include "access/printtup.h" #include "access/relation.h" #include "access/reloptions.h" #include "access/relscan.h" +#include "access/rewriteheap.h" #include "access/rmgr.h" +#include "access/rmgrdesc_utils.h" +#include "access/sdir.h" +#include "access/sequence.h" +#include "access/session.h" #include "access/skey.h" +#include "access/slru.h" +#include "access/spgist.h" +#include "access/spgist_private.h" +#include "access/spgxlog.h" +#include "access/stratnum.h" +#include "access/subtrans.h" +#include "access/syncscan.h" #include "access/sysattr.h" #include "access/table.h" +#include "access/tableam.h" +#include "access/tidstore.h" +#include "access/timeline.h" +#include "access/toast_compression.h" +#include "access/toast_helper.h" +#include "access/toast_internals.h" +#include "access/transam.h" #include "access/tsmapi.h" +#include "access/tupconvert.h" +#include "access/tupdesc.h" +#include "access/tupdesc_details.h" +#include "access/tupmacs.h" +#include "access/twophase.h" +#include "access/twophase_rmgr.h" +#include "access/valid.h" #include "access/visibilitymap.h" +#include "access/visibilitymapdefs.h" #include "access/xact.h" +#include "access/xlog.h" #include "access/xlog_internal.h" +#include "access/xlogarchive.h" +#include "access/xlogbackup.h" +#include "access/xlogdefs.h" +#include "access/xloginsert.h" +#include "access/xlogprefetcher.h" #include "access/xlogreader.h" +#include "access/xlogrecord.h" #include "access/xlogrecovery.h" +#include "access/xlogstats.h" #include "access/xlogutils.h" -#include "access/subtrans.h" -#include "access/commit_ts.h" +#include "catalog/binary_upgrade.h" #include "catalog/catalog.h" +#include "catalog/catversion.h" #include "catalog/dependency.h" +#include "catalog/genbki.h" #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/objectaddress.h" +#include "catalog/partition.h" +#include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_amproc.h" +#include "catalog/pg_attrdef.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_auth_members.h" #include "catalog/pg_authid.h" +#include "catalog/pg_cast.h" #include "catalog/pg_class.h" #include "catalog/pg_collation.h" +#include "catalog/pg_constraint.h" +#include "catalog/pg_control.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" +#include "catalog/pg_db_role_setting.h" +#include "catalog/pg_default_acl.h" +#include "catalog/pg_depend.h" +#include "catalog/pg_description.h" #include "catalog/pg_enum.h" +#include "catalog/pg_event_trigger.h" #include "catalog/pg_extension.h" #include "catalog/pg_foreign_data_wrapper.h" #include "catalog/pg_foreign_server.h" #include "catalog/pg_foreign_table.h" -#include "catalog/pg_operator.h" +#include "catalog/pg_index.h" +#include "catalog/pg_inherits.h" +#include "catalog/pg_init_privs.h" +#include "catalog/pg_language.h" +#include "catalog/pg_largeobject.h" +#include "catalog/pg_largeobject_metadata.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" +#include "catalog/pg_operator.h" #include "catalog/pg_opfamily.h" +#include "catalog/pg_parameter_acl.h" +#include "catalog/pg_partitioned_table.h" +#include "catalog/pg_policy.h" #include "catalog/pg_proc.h" -#include "catalog/pg_namespace.h" +#include "catalog/pg_publication.h" +#include "catalog/pg_publication_namespace.h" +#include "catalog/pg_publication_rel.h" +#include "catalog/pg_range.h" +#include "catalog/pg_replication_origin.h" +#include "catalog/pg_rewrite.h" #include "catalog/pg_seclabel.h" +#include "catalog/pg_sequence.h" +#include "catalog/pg_shdepend.h" +#include "catalog/pg_shdescription.h" +#include "catalog/pg_shseclabel.h" +#include "catalog/pg_statistic.h" #include "catalog/pg_statistic_ext.h" +#include "catalog/pg_statistic_ext_data.h" +#include "catalog/pg_subscription.h" +#include "catalog/pg_subscription_rel.h" #include "catalog/pg_tablespace.h" +#include "catalog/pg_transform.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_ts_config.h" +#include "catalog/pg_ts_config_map.h" +#include "catalog/pg_ts_dict.h" +#include "catalog/pg_ts_parser.h" +#include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "catalog/pg_user_mapping.h" +#include "catalog/schemapg.h" #include "catalog/storage.h" +#include "catalog/storage_xlog.h" +#include "catalog/system_fk_info.h" +#include "catalog/toasting.h" +#include "commands/alter.h" #include "commands/async.h" +#include "commands/cluster.h" +#include "commands/collationcmds.h" #include "commands/comment.h" +#include "commands/conversioncmds.h" #include "commands/copy.h" +#include "commands/copyfrom_internal.h" +#include "commands/createas.h" #include "commands/dbcommands.h" +#include "commands/dbcommands_xlog.h" #include "commands/defrem.h" +#include "commands/discard.h" #include "commands/event_trigger.h" #include "commands/explain.h" #include "commands/extension.h" +#include "commands/lockcmds.h" +#include "commands/matview.h" +#include "commands/policy.h" +#include "commands/portalcmds.h" #include "commands/prepare.h" #include "commands/proclang.h" #include "commands/progress.h" #include "commands/publicationcmds.h" +#include "commands/schemacmds.h" #include "commands/seclabel.h" -#include "commands/tablespace.h" +#include "commands/sequence.h" +#include "commands/subscriptioncmds.h" #include "commands/tablecmds.h" +#include "commands/tablespace.h" #include "commands/trigger.h" +#include "commands/typecmds.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "commands/view.h" #include "common/config_info.h" #include "common/controldata_utils.h" #include "common/pg_lzcompress.h" +#include "executor/execAsync.h" #include "executor/execExpr.h" +#include "executor/execParallel.h" +#include "executor/execPartition.h" +#include "executor/execdebug.h" +#include "executor/execdesc.h" #include "executor/executor.h" +#include "executor/functions.h" +#include "executor/hashjoin.h" +#include "executor/instrument.h" +#include "executor/nodeAgg.h" +#include "executor/nodeAppend.h" +#include "executor/nodeBitmapAnd.h" +#include "executor/nodeBitmapHeapscan.h" +#include "executor/nodeBitmapIndexscan.h" +#include "executor/nodeBitmapOr.h" +#include "executor/nodeCtescan.h" +#include "executor/nodeCustom.h" +#include "executor/nodeForeignscan.h" +#include "executor/nodeFunctionscan.h" +#include "executor/nodeGather.h" +#include "executor/nodeGatherMerge.h" +#include "executor/nodeGroup.h" +#include "executor/nodeHash.h" +#include "executor/nodeHashjoin.h" +#include "executor/nodeIncrementalSort.h" +#include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" +#include "executor/nodeLimit.h" +#include "executor/nodeLockRows.h" +#include "executor/nodeMaterial.h" +#include "executor/nodeMemoize.h" +#include "executor/nodeMergeAppend.h" +#include "executor/nodeMergejoin.h" +#include "executor/nodeModifyTable.h" +#include "executor/nodeNamedtuplestorescan.h" +#include "executor/nodeNestloop.h" +#include "executor/nodeProjectSet.h" +#include "executor/nodeRecursiveunion.h" +#include "executor/nodeResult.h" +#include "executor/nodeSamplescan.h" +#include "executor/nodeSeqscan.h" +#include "executor/nodeSetOp.h" +#include "executor/nodeSort.h" #include "executor/nodeSubplan.h" +#include "executor/nodeSubqueryscan.h" +#include "executor/nodeTableFuncscan.h" +#include "executor/nodeTidrangescan.h" +#include "executor/nodeTidscan.h" +#include "executor/nodeUnique.h" +#include "executor/nodeValuesscan.h" +#include "executor/nodeWindowAgg.h" +#include "executor/nodeWorktablescan.h" #include "executor/spi.h" +#include "executor/spi_priv.h" +#include "executor/tablefunc.h" +#include "executor/tqueue.h" +#include "executor/tstoreReceiver.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "funcapi.h" #include "jit/jit.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" +#include "nodes/bitmapset.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" +#include "nodes/lockoptions.h" #include "nodes/makefuncs.h" +#include "nodes/memnodes.h" #include "nodes/miscnodes.h" +#include "nodes/multibitmapset.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" +#include "nodes/params.h" #include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/pg_list.h" +#include "nodes/plannodes.h" #include "nodes/primnodes.h" #include "nodes/print.h" +#include "nodes/queryjumble.h" +#include "nodes/readfuncs.h" #include "nodes/replnodes.h" #include "nodes/subscripting.h" #include "nodes/supportnodes.h" @@ -125,23 +314,47 @@ #include "optimizer/appendinfo.h" #include "optimizer/clauses.h" #include "optimizer/cost.h" +#include "optimizer/geqo.h" +#include "optimizer/geqo_copy.h" +#include "optimizer/geqo_gene.h" +#include "optimizer/geqo_misc.h" +#include "optimizer/geqo_mutation.h" +#include "optimizer/geqo_pool.h" +#include "optimizer/geqo_random.h" +#include "optimizer/geqo_recombination.h" +#include "optimizer/geqo_selection.h" +#include "optimizer/inherit.h" +#include "optimizer/joininfo.h" #include "optimizer/optimizer.h" +#include "optimizer/orclauses.h" +#include "optimizer/paramassign.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" #include "optimizer/plancat.h" #include "optimizer/planmain.h" #include "optimizer/planner.h" +#include "optimizer/prep.h" #include "optimizer/restrictinfo.h" +#include "optimizer/subselect.h" #include "optimizer/tlist.h" #include "parser/analyze.h" +#include "parser/parse_agg.h" +#include "parser/parse_clause.h" +#include "parser/parse_coerce.h" #include "parser/parse_collate.h" +#include "parser/parse_cte.h" +#include "parser/parse_enr.h" #include "parser/parse_expr.h" #include "parser/parse_func.h" +#include "parser/parse_merge.h" +#include "parser/parse_node.h" #include "parser/parse_oper.h" +#include "parser/parse_param.h" #include "parser/parse_relation.h" +#include "parser/parse_target.h" #include "parser/parse_type.h" -#include "parser/parse_coerce.h" +#include "parser/parse_utilcmd.h" #include "parser/parser.h" #include "parser/parsetree.h" #include "parser/scanner.h" @@ -150,48 +363,124 @@ #include "partitioning/partdefs.h" #include "partitioning/partdesc.h" #include "partitioning/partprune.h" +#include "pgstat.h" #include "plpgsql.h" +#include "postmaster/autovacuum.h" +#include "postmaster/auxprocess.h" #include "postmaster/bgworker.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/fork_process.h" #include "postmaster/interrupt.h" +#include "postmaster/pgarch.h" #include "postmaster/postmaster.h" +#include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walsummarizer.h" +#include "postmaster/walwriter.h" +#include "replication/decode.h" #include "replication/logical.h" +#include "replication/logicallauncher.h" +#include "replication/logicalproto.h" +#include "replication/logicalrelation.h" #include "replication/logicalworker.h" +#include "replication/message.h" +#include "replication/origin.h" #include "replication/output_plugin.h" +#include "replication/pgoutput.h" +#include "replication/reorderbuffer.h" +#include "replication/slot.h" +#include "replication/slotsync.h" +#include "replication/snapbuild.h" #include "replication/syncrep.h" +#include "replication/walreceiver.h" +#include "replication/walsender.h" #include "replication/walsender_private.h" +#include "replication/worker_internal.h" +#include "rewrite/prs2lock.h" +#include "rewrite/rewriteDefine.h" #include "rewrite/rewriteHandler.h" #include "rewrite/rewriteManip.h" +#include "rewrite/rewriteRemove.h" +#include "rewrite/rewriteSearchCycle.h" +#include "rewrite/rewriteSupport.h" #include "rewrite/rowsecurity.h" +#include "statistics/extended_stats_internal.h" #include "statistics/statistics.h" +#include "storage/barrier.h" #include "storage/block.h" +#include "storage/buf.h" #include "storage/buf_internals.h" -#include "storage/bufmgr.h" #include "storage/buffile.h" +#include "storage/bufmgr.h" #include "storage/bufpage.h" +#include "storage/bulk_write.h" +#include "storage/checksum.h" +#include "storage/checksum_impl.h" +#include "storage/condition_variable.h" +#include "storage/copydir.h" #include "storage/dsm.h" #include "storage/dsm_impl.h" #include "storage/dsm_registry.h" -#include "storage/indexfsm.h" +#include "storage/fd.h" +#include "storage/fileset.h" #include "storage/freespace.h" +#include "storage/fsm_internals.h" +#include "storage/indexfsm.h" #include "storage/ipc.h" +#include "storage/item.h" +#include "storage/itemid.h" #include "storage/itemptr.h" +#include "storage/large_object.h" +#include "storage/latch.h" #include "storage/lmgr.h" +#include "storage/lock.h" +#include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/md.h" +#include "storage/off.h" +#include "storage/pg_sema.h" +#include "storage/pg_shmem.h" +#include "storage/pmsignal.h" #include "storage/predicate.h" +#include "storage/predicate_internals.h" +#include "storage/proc.h" #include "storage/procarray.h" +#include "storage/proclist.h" +#include "storage/proclist_types.h" +#include "storage/procnumber.h" +#include "storage/procsignal.h" +#include "storage/read_stream.h" +#include "storage/reinit.h" #include "storage/relfilelocator.h" +#include "storage/s_lock.h" +#include "storage/sharedfileset.h" +#include "storage/shm_mq.h" +#include "storage/shm_toc.h" +#include "storage/shmem.h" +#include "storage/sinval.h" +#include "storage/sinvaladt.h" #include "storage/smgr.h" #include "storage/spin.h" +#include "storage/standby.h" +#include "storage/standbydefs.h" #include "storage/sync.h" +#include "tcop/backend_startup.h" +#include "tcop/cmdtag.h" +#include "tcop/deparse_utility.h" +#include "tcop/dest.h" +#include "tcop/fastpath.h" #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "tsearch/ts_cache.h" +#include "tsearch/ts_locale.h" #include "tsearch/ts_public.h" +#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" #include "utils/acl.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/date.h" #include "utils/datetime.h" #include "utils/datum.h" @@ -209,6 +498,7 @@ #include "utils/numeric.h" #include "utils/palloc.h" #include "utils/ps_status.h" +#include "utils/rangetypes.h" #include "utils/regproc.h" #include "utils/rel.h" #include "utils/relcache.h" @@ -220,10 +510,16 @@ #include "utils/snapmgr.h" #include "utils/sortsupport.h" #include "utils/spccache.h" -#include "utils/catcache.h" #include "utils/syscache.h" +#include "utils/tuplesort.h" #include "utils/tuplestore.h" #include "utils/typcache.h" -#include "utils/rangetypes.h" -#include "utils/rel.h" #include "utils/varlena.h" +#include "utils/wait_event.h" +#include "varatt.h" + +#if PG_VERSION_NUM < 140000 +#ifndef WIN32 +#define PGERROR ERROR +#endif +#endif diff --git a/pgrx-pg-sys/include/pg18.h b/pgrx-pg-sys/include/pg18.h index 2ccf91c05..e70b29537 100644 --- a/pgrx-pg-sys/include/pg18.h +++ b/pgrx-pg-sys/include/pg18.h @@ -8,116 +8,311 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. - #include "postgres.h" #include "pg_config.h" -#include "funcapi.h" -#include "miscadmin.h" -#include "pgstat.h" -#include "varatt.h" #include "access/amapi.h" +#include "access/amvalidate.h" +#include "access/attmap.h" +#include "access/attnum.h" +#include "access/brin.h" +#include "access/brin_internal.h" +#include "access/brin_page.h" +#include "access/brin_pageops.h" +#include "access/brin_revmap.h" +#include "access/brin_tuple.h" +#include "access/brin_xlog.h" +#include "access/bufmask.h" +#include "access/clog.h" +#include "access/cmptype.h" +#include "access/commit_ts.h" #include "access/detoast.h" #include "access/genam.h" #include "access/generic_xlog.h" #include "access/gin.h" +#include "access/gin_private.h" +#include "access/gin_tuple.h" +#include "access/ginblock.h" +#include "access/ginxlog.h" #include "access/gist.h" +#include "access/gist_private.h" +#include "access/gistscan.h" +#include "access/gistxlog.h" +#include "access/hash.h" +#include "access/hash_xlog.h" #include "access/heapam.h" +#include "access/heapam_xlog.h" +#include "access/heaptoast.h" +#include "access/hio.h" #include "access/htup.h" #include "access/htup_details.h" +#include "access/itup.h" #include "access/multixact.h" +#include "access/nbtree.h" +#include "access/nbtxlog.h" +#include "access/parallel.h" +#include "access/printsimple.h" +#include "access/printtup.h" #include "access/relation.h" #include "access/reloptions.h" #include "access/relscan.h" +#include "access/rewriteheap.h" #include "access/rmgr.h" +#include "access/rmgrdesc_utils.h" +#include "access/sdir.h" +#include "access/sequence.h" +#include "access/session.h" #include "access/skey.h" +#include "access/slru.h" +#include "access/spgist.h" +#include "access/spgist_private.h" +#include "access/spgxlog.h" +#include "access/stratnum.h" +#include "access/subtrans.h" +#include "access/syncscan.h" #include "access/sysattr.h" #include "access/table.h" +#include "access/tableam.h" +#include "access/tidstore.h" +#include "access/timeline.h" +#include "access/toast_compression.h" +#include "access/toast_helper.h" +#include "access/toast_internals.h" +#include "access/transam.h" #include "access/tsmapi.h" +#include "access/tupconvert.h" +#include "access/tupdesc.h" +#include "access/tupdesc_details.h" +#include "access/tupmacs.h" +#include "access/twophase.h" +#include "access/twophase_rmgr.h" +#include "access/valid.h" #include "access/visibilitymap.h" +#include "access/visibilitymapdefs.h" #include "access/xact.h" +#include "access/xlog.h" #include "access/xlog_internal.h" +#include "access/xlogarchive.h" +#include "access/xlogbackup.h" +#include "access/xlogdefs.h" +#include "access/xloginsert.h" +#include "access/xlogprefetcher.h" #include "access/xlogreader.h" +#include "access/xlogrecord.h" #include "access/xlogrecovery.h" +#include "access/xlogstats.h" #include "access/xlogutils.h" -#include "access/subtrans.h" -#include "access/commit_ts.h" +#include "catalog/binary_upgrade.h" #include "catalog/catalog.h" +#include "catalog/catversion.h" #include "catalog/dependency.h" +#include "catalog/genbki.h" #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/objectaddress.h" +#include "catalog/partition.h" +#include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_amproc.h" +#include "catalog/pg_attrdef.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_auth_members.h" #include "catalog/pg_authid.h" +#include "catalog/pg_cast.h" #include "catalog/pg_class.h" #include "catalog/pg_collation.h" +#include "catalog/pg_constraint.h" +#include "catalog/pg_control.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" +#include "catalog/pg_db_role_setting.h" +#include "catalog/pg_default_acl.h" +#include "catalog/pg_depend.h" +#include "catalog/pg_description.h" #include "catalog/pg_enum.h" +#include "catalog/pg_event_trigger.h" #include "catalog/pg_extension.h" #include "catalog/pg_foreign_data_wrapper.h" #include "catalog/pg_foreign_server.h" #include "catalog/pg_foreign_table.h" -#include "catalog/pg_operator.h" +#include "catalog/pg_index.h" +#include "catalog/pg_inherits.h" +#include "catalog/pg_init_privs.h" +#include "catalog/pg_language.h" +#include "catalog/pg_largeobject.h" +#include "catalog/pg_largeobject_metadata.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" +#include "catalog/pg_operator.h" #include "catalog/pg_opfamily.h" +#include "catalog/pg_parameter_acl.h" +#include "catalog/pg_partitioned_table.h" +#include "catalog/pg_policy.h" #include "catalog/pg_proc.h" -#include "catalog/pg_namespace.h" +#include "catalog/pg_publication.h" +#include "catalog/pg_publication_namespace.h" +#include "catalog/pg_publication_rel.h" +#include "catalog/pg_range.h" +#include "catalog/pg_replication_origin.h" +#include "catalog/pg_rewrite.h" #include "catalog/pg_seclabel.h" +#include "catalog/pg_sequence.h" +#include "catalog/pg_shdepend.h" +#include "catalog/pg_shdescription.h" +#include "catalog/pg_shseclabel.h" +#include "catalog/pg_statistic.h" #include "catalog/pg_statistic_ext.h" +#include "catalog/pg_statistic_ext_data.h" +#include "catalog/pg_subscription.h" +#include "catalog/pg_subscription_rel.h" #include "catalog/pg_tablespace.h" +#include "catalog/pg_transform.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_ts_config.h" +#include "catalog/pg_ts_config_map.h" +#include "catalog/pg_ts_dict.h" +#include "catalog/pg_ts_parser.h" +#include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "catalog/pg_user_mapping.h" +#include "catalog/schemapg.h" #include "catalog/storage.h" +#include "catalog/storage_xlog.h" +#include "catalog/system_fk_info.h" +#include "catalog/toasting.h" +#include "commands/alter.h" #include "commands/async.h" +#include "commands/cluster.h" +#include "commands/collationcmds.h" #include "commands/comment.h" +#include "commands/conversioncmds.h" #include "commands/copy.h" +#include "commands/copyapi.h" +#include "commands/copyfrom_internal.h" +#include "commands/createas.h" #include "commands/dbcommands.h" +#include "commands/dbcommands_xlog.h" #include "commands/defrem.h" +#include "commands/discard.h" #include "commands/event_trigger.h" #include "commands/explain.h" +#include "commands/explain_dr.h" #include "commands/explain_format.h" +#include "commands/explain_state.h" #include "commands/extension.h" +#include "commands/lockcmds.h" +#include "commands/matview.h" +#include "commands/policy.h" +#include "commands/portalcmds.h" #include "commands/prepare.h" #include "commands/proclang.h" #include "commands/progress.h" #include "commands/publicationcmds.h" +#include "commands/schemacmds.h" #include "commands/seclabel.h" -#include "commands/tablespace.h" +#include "commands/sequence.h" +#include "commands/subscriptioncmds.h" #include "commands/tablecmds.h" +#include "commands/tablespace.h" #include "commands/trigger.h" +#include "commands/typecmds.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "commands/view.h" #include "common/config_info.h" #include "common/controldata_utils.h" #include "common/pg_lzcompress.h" +#include "executor/execAsync.h" #include "executor/execExpr.h" +#include "executor/execParallel.h" +#include "executor/execPartition.h" +#include "executor/execScan.h" +#include "executor/execdebug.h" +#include "executor/execdesc.h" #include "executor/executor.h" +#include "executor/functions.h" +#include "executor/hashjoin.h" +#include "executor/instrument.h" +#include "executor/nodeAgg.h" +#include "executor/nodeAppend.h" +#include "executor/nodeBitmapAnd.h" +#include "executor/nodeBitmapHeapscan.h" +#include "executor/nodeBitmapIndexscan.h" +#include "executor/nodeBitmapOr.h" +#include "executor/nodeCtescan.h" +#include "executor/nodeCustom.h" +#include "executor/nodeForeignscan.h" +#include "executor/nodeFunctionscan.h" +#include "executor/nodeGather.h" +#include "executor/nodeGatherMerge.h" +#include "executor/nodeGroup.h" +#include "executor/nodeHash.h" +#include "executor/nodeHashjoin.h" +#include "executor/nodeIncrementalSort.h" +#include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" +#include "executor/nodeLimit.h" +#include "executor/nodeLockRows.h" +#include "executor/nodeMaterial.h" +#include "executor/nodeMemoize.h" +#include "executor/nodeMergeAppend.h" +#include "executor/nodeMergejoin.h" +#include "executor/nodeModifyTable.h" +#include "executor/nodeNamedtuplestorescan.h" +#include "executor/nodeNestloop.h" +#include "executor/nodeProjectSet.h" +#include "executor/nodeRecursiveunion.h" +#include "executor/nodeResult.h" +#include "executor/nodeSamplescan.h" +#include "executor/nodeSeqscan.h" +#include "executor/nodeSetOp.h" +#include "executor/nodeSort.h" #include "executor/nodeSubplan.h" +#include "executor/nodeSubqueryscan.h" +#include "executor/nodeTableFuncscan.h" +#include "executor/nodeTidrangescan.h" +#include "executor/nodeTidscan.h" +#include "executor/nodeUnique.h" +#include "executor/nodeValuesscan.h" +#include "executor/nodeWindowAgg.h" +#include "executor/nodeWorktablescan.h" #include "executor/spi.h" +#include "executor/spi_priv.h" +#include "executor/tablefunc.h" +#include "executor/tqueue.h" +#include "executor/tstoreReceiver.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "funcapi.h" #include "jit/jit.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" +#include "nodes/bitmapset.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" +#include "nodes/lockoptions.h" #include "nodes/makefuncs.h" +#include "nodes/memnodes.h" #include "nodes/miscnodes.h" +#include "nodes/multibitmapset.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" +#include "nodes/params.h" #include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/pg_list.h" +#include "nodes/plannodes.h" #include "nodes/primnodes.h" #include "nodes/print.h" +#include "nodes/queryjumble.h" +#include "nodes/readfuncs.h" #include "nodes/replnodes.h" #include "nodes/subscripting.h" #include "nodes/supportnodes.h" @@ -126,23 +321,47 @@ #include "optimizer/appendinfo.h" #include "optimizer/clauses.h" #include "optimizer/cost.h" +#include "optimizer/geqo.h" +#include "optimizer/geqo_copy.h" +#include "optimizer/geqo_gene.h" +#include "optimizer/geqo_misc.h" +#include "optimizer/geqo_mutation.h" +#include "optimizer/geqo_pool.h" +#include "optimizer/geqo_random.h" +#include "optimizer/geqo_recombination.h" +#include "optimizer/geqo_selection.h" +#include "optimizer/inherit.h" +#include "optimizer/joininfo.h" #include "optimizer/optimizer.h" +#include "optimizer/orclauses.h" +#include "optimizer/paramassign.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" #include "optimizer/plancat.h" #include "optimizer/planmain.h" #include "optimizer/planner.h" +#include "optimizer/prep.h" #include "optimizer/restrictinfo.h" +#include "optimizer/subselect.h" #include "optimizer/tlist.h" #include "parser/analyze.h" +#include "parser/parse_agg.h" +#include "parser/parse_clause.h" +#include "parser/parse_coerce.h" #include "parser/parse_collate.h" +#include "parser/parse_cte.h" +#include "parser/parse_enr.h" #include "parser/parse_expr.h" #include "parser/parse_func.h" +#include "parser/parse_merge.h" +#include "parser/parse_node.h" #include "parser/parse_oper.h" +#include "parser/parse_param.h" #include "parser/parse_relation.h" +#include "parser/parse_target.h" #include "parser/parse_type.h" -#include "parser/parse_coerce.h" +#include "parser/parse_utilcmd.h" #include "parser/parser.h" #include "parser/parsetree.h" #include "parser/scanner.h" @@ -151,48 +370,133 @@ #include "partitioning/partdefs.h" #include "partitioning/partdesc.h" #include "partitioning/partprune.h" +#include "pgstat.h" #include "plpgsql.h" +#include "postmaster/autovacuum.h" +#include "postmaster/auxprocess.h" #include "postmaster/bgworker.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/fork_process.h" #include "postmaster/interrupt.h" +#include "postmaster/pgarch.h" #include "postmaster/postmaster.h" +#include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walsummarizer.h" +#include "postmaster/walwriter.h" +#include "replication/conflict.h" +#include "replication/decode.h" #include "replication/logical.h" +#include "replication/logicallauncher.h" +#include "replication/logicalproto.h" +#include "replication/logicalrelation.h" #include "replication/logicalworker.h" +#include "replication/message.h" +#include "replication/origin.h" #include "replication/output_plugin.h" +#include "replication/pgoutput.h" +#include "replication/reorderbuffer.h" +#include "replication/slot.h" +#include "replication/slotsync.h" +#include "replication/snapbuild.h" +#include "replication/snapbuild_internal.h" #include "replication/syncrep.h" +#include "replication/walreceiver.h" +#include "replication/walsender.h" #include "replication/walsender_private.h" +#include "replication/worker_internal.h" +#include "rewrite/prs2lock.h" +#include "rewrite/rewriteDefine.h" #include "rewrite/rewriteHandler.h" #include "rewrite/rewriteManip.h" +#include "rewrite/rewriteRemove.h" +#include "rewrite/rewriteSearchCycle.h" +#include "rewrite/rewriteSupport.h" #include "rewrite/rowsecurity.h" +#include "statistics/extended_stats_internal.h" +#include "statistics/stat_utils.h" #include "statistics/statistics.h" +#include "storage/aio.h" +#include "storage/aio_internal.h" +#include "storage/aio_subsys.h" +#include "storage/aio_types.h" +#include "storage/barrier.h" #include "storage/block.h" +#include "storage/buf.h" #include "storage/buf_internals.h" -#include "storage/bufmgr.h" #include "storage/buffile.h" +#include "storage/bufmgr.h" #include "storage/bufpage.h" +#include "storage/bulk_write.h" +#include "storage/checksum.h" +#include "storage/checksum_impl.h" +#include "storage/condition_variable.h" +#include "storage/copydir.h" #include "storage/dsm.h" #include "storage/dsm_impl.h" #include "storage/dsm_registry.h" -#include "storage/indexfsm.h" +#include "storage/fd.h" +#include "storage/fileset.h" #include "storage/freespace.h" +#include "storage/fsm_internals.h" +#include "storage/indexfsm.h" +#include "storage/io_worker.h" #include "storage/ipc.h" +#include "storage/item.h" +#include "storage/itemid.h" #include "storage/itemptr.h" +#include "storage/large_object.h" +#include "storage/latch.h" #include "storage/lmgr.h" +#include "storage/lock.h" +#include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/md.h" +#include "storage/off.h" +#include "storage/pg_sema.h" +#include "storage/pg_shmem.h" +#include "storage/pmsignal.h" #include "storage/predicate.h" +#include "storage/predicate_internals.h" +#include "storage/proc.h" #include "storage/procarray.h" +#include "storage/proclist.h" +#include "storage/proclist_types.h" +#include "storage/procnumber.h" +#include "storage/procsignal.h" +#include "storage/read_stream.h" +#include "storage/reinit.h" #include "storage/relfilelocator.h" +#include "storage/s_lock.h" +#include "storage/sharedfileset.h" +#include "storage/shm_mq.h" +#include "storage/shm_toc.h" +#include "storage/shmem.h" +#include "storage/sinval.h" +#include "storage/sinvaladt.h" #include "storage/smgr.h" #include "storage/spin.h" +#include "storage/standby.h" +#include "storage/standbydefs.h" #include "storage/sync.h" +#include "storage/waiteventset.h" +#include "tcop/backend_startup.h" +#include "tcop/cmdtag.h" +#include "tcop/deparse_utility.h" +#include "tcop/dest.h" +#include "tcop/fastpath.h" #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "tsearch/ts_cache.h" +#include "tsearch/ts_locale.h" #include "tsearch/ts_public.h" +#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" #include "utils/acl.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/date.h" #include "utils/datetime.h" #include "utils/datum.h" @@ -210,6 +514,7 @@ #include "utils/numeric.h" #include "utils/palloc.h" #include "utils/ps_status.h" +#include "utils/rangetypes.h" #include "utils/regproc.h" #include "utils/rel.h" #include "utils/relcache.h" @@ -221,10 +526,16 @@ #include "utils/snapmgr.h" #include "utils/sortsupport.h" #include "utils/spccache.h" -#include "utils/catcache.h" #include "utils/syscache.h" +#include "utils/tuplesort.h" #include "utils/tuplestore.h" #include "utils/typcache.h" -#include "utils/rangetypes.h" -#include "utils/rel.h" #include "utils/varlena.h" +#include "utils/wait_event.h" +#include "varatt.h" + +#if PG_VERSION_NUM < 140000 +#ifndef WIN32 +#define PGERROR ERROR +#endif +#endif diff --git a/pgrx-pg-sys/include/pg19.h b/pgrx-pg-sys/include/pg19.h index 558bb869a..9324023ef 100644 --- a/pgrx-pg-sys/include/pg19.h +++ b/pgrx-pg-sys/include/pg19.h @@ -8,116 +8,323 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. - #include "postgres.h" #include "pg_config.h" -#include "funcapi.h" -#include "miscadmin.h" -#include "pgstat.h" -#include "varatt.h" #include "access/amapi.h" +#include "access/amvalidate.h" +#include "access/attmap.h" +#include "access/attnum.h" +#include "access/brin.h" +#include "access/brin_internal.h" +#include "access/brin_page.h" +#include "access/brin_pageops.h" +#include "access/brin_revmap.h" +#include "access/brin_tuple.h" +#include "access/brin_xlog.h" +#include "access/bufmask.h" +#include "access/clog.h" +#include "access/cmptype.h" +#include "access/commit_ts.h" #include "access/detoast.h" #include "access/genam.h" #include "access/generic_xlog.h" #include "access/gin.h" +#include "access/gin_private.h" +#include "access/gin_tuple.h" +#include "access/ginblock.h" +#include "access/ginxlog.h" #include "access/gist.h" +#include "access/gist_private.h" +#include "access/gistscan.h" +#include "access/gistxlog.h" +#include "access/hash.h" +#include "access/hash_xlog.h" #include "access/heapam.h" +#include "access/heapam_xlog.h" +#include "access/heaptoast.h" +#include "access/hio.h" #include "access/htup.h" #include "access/htup_details.h" +#include "access/itup.h" #include "access/multixact.h" +#include "access/multixact_internal.h" +#include "access/nbtree.h" +#include "access/nbtxlog.h" +#include "access/parallel.h" +#include "access/printsimple.h" +#include "access/printtup.h" #include "access/relation.h" #include "access/reloptions.h" #include "access/relscan.h" +#include "access/rewriteheap.h" #include "access/rmgr.h" +#include "access/rmgrdesc_utils.h" +#include "access/sdir.h" +#include "access/sequence.h" +#include "access/session.h" #include "access/skey.h" +#include "access/slru.h" +#include "access/spgist.h" +#include "access/spgist_private.h" +#include "access/spgxlog.h" +#include "access/stratnum.h" +#include "access/subtrans.h" +#include "access/syncscan.h" #include "access/sysattr.h" #include "access/table.h" +#include "access/tableam.h" +#include "access/tidstore.h" +#include "access/timeline.h" +#include "access/toast_compression.h" +#include "access/toast_helper.h" +#include "access/toast_internals.h" +#include "access/transam.h" #include "access/tsmapi.h" +#include "access/tupconvert.h" +#include "access/tupdesc.h" +#include "access/tupdesc_details.h" +#include "access/tupmacs.h" +#include "access/twophase.h" +#include "access/twophase_rmgr.h" +#include "access/valid.h" #include "access/visibilitymap.h" +#include "access/visibilitymapdefs.h" #include "access/xact.h" +#include "access/xlog.h" #include "access/xlog_internal.h" +#include "access/xlogarchive.h" +#include "access/xlogbackup.h" +#include "access/xlogdefs.h" +#include "access/xloginsert.h" +#include "access/xlogprefetcher.h" #include "access/xlogreader.h" +#include "access/xlogrecord.h" #include "access/xlogrecovery.h" +#include "access/xlogstats.h" #include "access/xlogutils.h" -#include "access/subtrans.h" -#include "access/commit_ts.h" +#include "access/xlogwait.h" +#include "catalog/binary_upgrade.h" #include "catalog/catalog.h" +#include "catalog/catversion.h" #include "catalog/dependency.h" +#include "catalog/genbki.h" #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/indexing.h" #include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/objectaddress.h" +#include "catalog/partition.h" +#include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_amproc.h" +#include "catalog/pg_attrdef.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_auth_members.h" #include "catalog/pg_authid.h" +#include "catalog/pg_cast.h" #include "catalog/pg_class.h" #include "catalog/pg_collation.h" +#include "catalog/pg_constraint.h" +#include "catalog/pg_control.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" +#include "catalog/pg_db_role_setting.h" +#include "catalog/pg_default_acl.h" +#include "catalog/pg_depend.h" +#include "catalog/pg_description.h" #include "catalog/pg_enum.h" +#include "catalog/pg_event_trigger.h" #include "catalog/pg_extension.h" #include "catalog/pg_foreign_data_wrapper.h" #include "catalog/pg_foreign_server.h" #include "catalog/pg_foreign_table.h" -#include "catalog/pg_operator.h" +#include "catalog/pg_index.h" +#include "catalog/pg_inherits.h" +#include "catalog/pg_init_privs.h" +#include "catalog/pg_language.h" +#include "catalog/pg_largeobject.h" +#include "catalog/pg_largeobject_metadata.h" +#include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" +#include "catalog/pg_operator.h" #include "catalog/pg_opfamily.h" +#include "catalog/pg_parameter_acl.h" +#include "catalog/pg_partitioned_table.h" +#include "catalog/pg_policy.h" #include "catalog/pg_proc.h" -#include "catalog/pg_namespace.h" +#include "catalog/pg_propgraph_element.h" +#include "catalog/pg_propgraph_element_label.h" +#include "catalog/pg_propgraph_label.h" +#include "catalog/pg_propgraph_label_property.h" +#include "catalog/pg_propgraph_property.h" +#include "catalog/pg_publication.h" +#include "catalog/pg_publication_namespace.h" +#include "catalog/pg_publication_rel.h" +#include "catalog/pg_range.h" +#include "catalog/pg_replication_origin.h" +#include "catalog/pg_rewrite.h" #include "catalog/pg_seclabel.h" +#include "catalog/pg_sequence.h" +#include "catalog/pg_shdepend.h" +#include "catalog/pg_shdescription.h" +#include "catalog/pg_shseclabel.h" +#include "catalog/pg_statistic.h" #include "catalog/pg_statistic_ext.h" +#include "catalog/pg_statistic_ext_data.h" +#include "catalog/pg_subscription.h" +#include "catalog/pg_subscription_rel.h" #include "catalog/pg_tablespace.h" +#include "catalog/pg_transform.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_ts_config.h" +#include "catalog/pg_ts_config_map.h" +#include "catalog/pg_ts_dict.h" +#include "catalog/pg_ts_parser.h" +#include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "catalog/pg_user_mapping.h" +#include "catalog/schemapg.h" #include "catalog/storage.h" +#include "catalog/storage_xlog.h" +#include "catalog/system_fk_info.h" +#include "catalog/toasting.h" +#include "commands/alter.h" #include "commands/async.h" +#include "commands/collationcmds.h" #include "commands/comment.h" +#include "commands/conversioncmds.h" #include "commands/copy.h" +#include "commands/copyapi.h" +#include "commands/copyfrom_internal.h" +#include "commands/createas.h" #include "commands/dbcommands.h" +#include "commands/dbcommands_xlog.h" #include "commands/defrem.h" +#include "commands/discard.h" #include "commands/event_trigger.h" #include "commands/explain.h" +#include "commands/explain_dr.h" #include "commands/explain_format.h" +#include "commands/explain_state.h" #include "commands/extension.h" +#include "commands/lockcmds.h" +#include "commands/matview.h" +#include "commands/policy.h" +#include "commands/portalcmds.h" #include "commands/prepare.h" #include "commands/proclang.h" #include "commands/progress.h" +#include "commands/propgraphcmds.h" #include "commands/publicationcmds.h" +#include "commands/repack.h" +#include "commands/repack_internal.h" +#include "commands/schemacmds.h" #include "commands/seclabel.h" -#include "commands/tablespace.h" +#include "commands/sequence.h" +#include "commands/sequence_xlog.h" +#include "commands/subscriptioncmds.h" #include "commands/tablecmds.h" +#include "commands/tablespace.h" #include "commands/trigger.h" +#include "commands/typecmds.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "commands/view.h" +#include "commands/wait.h" #include "common/config_info.h" #include "common/controldata_utils.h" #include "common/pg_lzcompress.h" +#include "executor/execAsync.h" #include "executor/execExpr.h" +#include "executor/execParallel.h" +#include "executor/execPartition.h" +#include "executor/execScan.h" +#include "executor/execdebug.h" +#include "executor/execdesc.h" #include "executor/executor.h" +#include "executor/functions.h" +#include "executor/hashjoin.h" +#include "executor/instrument.h" +#include "executor/instrument_node.h" +#include "executor/nodeAgg.h" +#include "executor/nodeAppend.h" +#include "executor/nodeBitmapAnd.h" +#include "executor/nodeBitmapHeapscan.h" +#include "executor/nodeBitmapIndexscan.h" +#include "executor/nodeBitmapOr.h" +#include "executor/nodeCtescan.h" +#include "executor/nodeCustom.h" +#include "executor/nodeForeignscan.h" +#include "executor/nodeFunctionscan.h" +#include "executor/nodeGather.h" +#include "executor/nodeGatherMerge.h" +#include "executor/nodeGroup.h" +#include "executor/nodeHash.h" +#include "executor/nodeHashjoin.h" +#include "executor/nodeIncrementalSort.h" +#include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" +#include "executor/nodeLimit.h" +#include "executor/nodeLockRows.h" +#include "executor/nodeMaterial.h" +#include "executor/nodeMemoize.h" +#include "executor/nodeMergeAppend.h" +#include "executor/nodeMergejoin.h" +#include "executor/nodeModifyTable.h" +#include "executor/nodeNamedtuplestorescan.h" +#include "executor/nodeNestloop.h" +#include "executor/nodeProjectSet.h" +#include "executor/nodeRecursiveunion.h" +#include "executor/nodeResult.h" +#include "executor/nodeSamplescan.h" +#include "executor/nodeSeqscan.h" +#include "executor/nodeSetOp.h" +#include "executor/nodeSort.h" #include "executor/nodeSubplan.h" +#include "executor/nodeSubqueryscan.h" +#include "executor/nodeTableFuncscan.h" +#include "executor/nodeTidrangescan.h" +#include "executor/nodeTidscan.h" +#include "executor/nodeUnique.h" +#include "executor/nodeValuesscan.h" +#include "executor/nodeWindowAgg.h" +#include "executor/nodeWorktablescan.h" #include "executor/spi.h" +#include "executor/spi_priv.h" +#include "executor/tablefunc.h" +#include "executor/tqueue.h" +#include "executor/tstoreReceiver.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "funcapi.h" #include "jit/jit.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" +#include "miscadmin.h" +#include "nodes/bitmapset.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" +#include "nodes/lockoptions.h" #include "nodes/makefuncs.h" +#include "nodes/memnodes.h" #include "nodes/miscnodes.h" +#include "nodes/multibitmapset.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" +#include "nodes/params.h" #include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/pg_list.h" +#include "nodes/plannodes.h" #include "nodes/primnodes.h" #include "nodes/print.h" +#include "nodes/queryjumble.h" +#include "nodes/readfuncs.h" #include "nodes/replnodes.h" #include "nodes/subscripting.h" #include "nodes/supportnodes.h" @@ -126,23 +333,49 @@ #include "optimizer/appendinfo.h" #include "optimizer/clauses.h" #include "optimizer/cost.h" +#include "optimizer/extendplan.h" +#include "optimizer/geqo.h" +#include "optimizer/geqo_copy.h" +#include "optimizer/geqo_gene.h" +#include "optimizer/geqo_misc.h" +#include "optimizer/geqo_mutation.h" +#include "optimizer/geqo_pool.h" +#include "optimizer/geqo_random.h" +#include "optimizer/geqo_recombination.h" +#include "optimizer/geqo_selection.h" +#include "optimizer/inherit.h" +#include "optimizer/joininfo.h" #include "optimizer/optimizer.h" +#include "optimizer/orclauses.h" +#include "optimizer/paramassign.h" #include "optimizer/pathnode.h" #include "optimizer/paths.h" #include "optimizer/placeholder.h" #include "optimizer/plancat.h" #include "optimizer/planmain.h" #include "optimizer/planner.h" +#include "optimizer/prep.h" #include "optimizer/restrictinfo.h" +#include "optimizer/subselect.h" #include "optimizer/tlist.h" #include "parser/analyze.h" +#include "parser/parse_agg.h" +#include "parser/parse_clause.h" +#include "parser/parse_coerce.h" #include "parser/parse_collate.h" +#include "parser/parse_cte.h" +#include "parser/parse_enr.h" #include "parser/parse_expr.h" #include "parser/parse_func.h" +#include "parser/parse_graphtable.h" +#include "parser/parse_merge.h" +#include "parser/parse_node.h" #include "parser/parse_oper.h" +#include "parser/parse_param.h" #include "parser/parse_relation.h" +#include "parser/parse_target.h" #include "parser/parse_type.h" -#include "parser/parse_coerce.h" +#include "parser/parse_utilcmd.h" #include "parser/parser.h" #include "parser/parsetree.h" #include "parser/scanner.h" @@ -151,49 +384,139 @@ #include "partitioning/partdefs.h" #include "partitioning/partdesc.h" #include "partitioning/partprune.h" +#include "pgstat.h" #include "plpgsql.h" +#include "postmaster/autovacuum.h" +#include "postmaster/auxprocess.h" #include "postmaster/bgworker.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/datachecksum_state.h" +#include "postmaster/fork_process.h" #include "postmaster/interrupt.h" +#include "postmaster/pgarch.h" #include "postmaster/postmaster.h" +#include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walsummarizer.h" +#include "postmaster/walwriter.h" +#include "replication/conflict.h" +#include "replication/decode.h" #include "replication/logical.h" +#include "replication/logicalctl.h" +#include "replication/logicallauncher.h" +#include "replication/logicalproto.h" +#include "replication/logicalrelation.h" #include "replication/logicalworker.h" +#include "replication/message.h" +#include "replication/origin.h" #include "replication/output_plugin.h" +#include "replication/pgoutput.h" +#include "replication/reorderbuffer.h" +#include "replication/slot.h" +#include "replication/slotsync.h" +#include "replication/snapbuild.h" +#include "replication/snapbuild_internal.h" #include "replication/syncrep.h" +#include "replication/walreceiver.h" +#include "replication/walsender.h" #include "replication/walsender_private.h" +#include "replication/worker_internal.h" +#include "rewrite/prs2lock.h" +#include "rewrite/rewriteDefine.h" +#include "rewrite/rewriteGraphTable.h" #include "rewrite/rewriteHandler.h" #include "rewrite/rewriteManip.h" +#include "rewrite/rewriteRemove.h" +#include "rewrite/rewriteSearchCycle.h" +#include "rewrite/rewriteSupport.h" #include "rewrite/rowsecurity.h" +#include "statistics/extended_stats_internal.h" +#include "statistics/stat_utils.h" #include "statistics/statistics.h" +#include "statistics/statistics_format.h" +#include "storage/aio.h" +#include "storage/aio_internal.h" +#include "storage/aio_subsys.h" +#include "storage/aio_types.h" +#include "storage/barrier.h" #include "storage/block.h" +#include "storage/buf.h" #include "storage/buf_internals.h" -#include "storage/bufmgr.h" #include "storage/buffile.h" +#include "storage/bufmgr.h" #include "storage/bufpage.h" +#include "storage/bulk_write.h" +#include "storage/checksum.h" +#include "storage/checksum_impl.h" +#include "storage/condition_variable.h" +#include "storage/copydir.h" #include "storage/dsm.h" #include "storage/dsm_impl.h" #include "storage/dsm_registry.h" -#include "storage/indexfsm.h" +#include "storage/fd.h" +#include "storage/fileset.h" #include "storage/freespace.h" +#include "storage/fsm_internals.h" +#include "storage/indexfsm.h" +#include "storage/io_worker.h" #include "storage/ipc.h" +#include "storage/itemid.h" #include "storage/itemptr.h" +#include "storage/large_object.h" +#include "storage/latch.h" #include "storage/lmgr.h" +#include "storage/lock.h" +#include "storage/lockdefs.h" +#include "storage/locktag.h" #include "storage/lwlock.h" +#include "storage/md.h" +#include "storage/off.h" +#include "storage/pg_sema.h" +#include "storage/pg_shmem.h" +#include "storage/pmsignal.h" #include "storage/predicate.h" +#include "storage/predicate_internals.h" #include "storage/proc.h" #include "storage/procarray.h" +#include "storage/proclist.h" +#include "storage/proclist_types.h" +#include "storage/procnumber.h" +#include "storage/procsignal.h" +#include "storage/read_stream.h" +#include "storage/reinit.h" #include "storage/relfilelocator.h" +#include "storage/s_lock.h" +#include "storage/sharedfileset.h" +#include "storage/shm_mq.h" +#include "storage/shm_toc.h" +#include "storage/shmem.h" +#include "storage/shmem_internal.h" +#include "storage/sinval.h" +#include "storage/sinvaladt.h" #include "storage/smgr.h" #include "storage/spin.h" +#include "storage/standby.h" +#include "storage/standbydefs.h" +#include "storage/subsystems.h" #include "storage/sync.h" +#include "storage/waiteventset.h" +#include "tcop/backend_startup.h" +#include "tcop/cmdtag.h" +#include "tcop/deparse_utility.h" +#include "tcop/dest.h" +#include "tcop/fastpath.h" #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "tsearch/ts_cache.h" +#include "tsearch/ts_locale.h" #include "tsearch/ts_public.h" +#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" #include "utils/acl.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/date.h" #include "utils/datetime.h" #include "utils/datum.h" @@ -211,6 +534,7 @@ #include "utils/numeric.h" #include "utils/palloc.h" #include "utils/ps_status.h" +#include "utils/rangetypes.h" #include "utils/regproc.h" #include "utils/rel.h" #include "utils/relcache.h" @@ -222,12 +546,16 @@ #include "utils/snapmgr.h" #include "utils/sortsupport.h" #include "utils/spccache.h" -#include "utils/catcache.h" #include "utils/syscache.h" -#include "utils/tuplestore.h" #include "utils/tuplesort.h" +#include "utils/tuplestore.h" #include "utils/typcache.h" -#include "utils/wait_event.h" -#include "utils/rangetypes.h" -#include "utils/rel.h" #include "utils/varlena.h" +#include "utils/wait_event.h" +#include "varatt.h" + +#if PG_VERSION_NUM < 140000 +#ifndef WIN32 +#define PGERROR ERROR +#endif +#endif From 3107a7ee8a13c02dc09871629704662d7825e83d Mon Sep 17 00:00:00 2001 From: usamoi Date: Sun, 13 Sep 2026 21:42:05 +0800 Subject: [PATCH 3/3] windows hack --- pgrx-bindgen/src/build.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pgrx-bindgen/src/build.rs b/pgrx-bindgen/src/build.rs index fdd70cf8d..8b4f85330 100644 --- a/pgrx-bindgen/src/build.rs +++ b/pgrx-bindgen/src/build.rs @@ -958,8 +958,13 @@ fn add_blocklists( .blocklist_function("PageIsValid") // it's defined twice on Windows, so use PGERROR instead .blocklist_item("ERROR") - // it causes strange linker errors for PostgreSQL 14 on Windows + // they cause linker errors for PostgreSQL 14 on Windows .blocklist_function("IsQueryIdEnabled") + .blocklist_function("am_tablesync_worker") + .blocklist_function("am_sequencesync_worker") + .blocklist_function("am_leader_apply_worker") + .blocklist_function("am_parallel_apply_worker") + .blocklist_function("get_logical_worker_type") } fn add_allowlists<'a>(