pg_query 2.2.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +86 -0
- data/README.md +57 -31
- data/Rakefile +5 -6
- data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
- data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
- data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/extconf.rb +33 -9
- data/ext/pg_query/include/pg_query.h +30 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +839 -290
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +638 -481
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +6786 -4193
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +450 -330
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1489 -1044
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +157 -118
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1933 -1410
- data/ext/pg_query/include/postgres/access/amapi.h +303 -0
- data/ext/pg_query/include/postgres/access/attmap.h +54 -0
- data/ext/pg_query/include/postgres/access/attnum.h +64 -0
- data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
- data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
- data/ext/pg_query/include/postgres/access/clog.h +62 -0
- data/ext/pg_query/include/postgres/access/commit_ts.h +73 -0
- data/ext/pg_query/include/postgres/access/detoast.h +82 -0
- data/ext/pg_query/include/postgres/access/genam.h +246 -0
- data/ext/pg_query/include/postgres/access/gin.h +91 -0
- data/ext/pg_query/include/postgres/access/htup.h +89 -0
- data/ext/pg_query/include/postgres/access/htup_details.h +811 -0
- data/ext/pg_query/include/postgres/access/itup.h +170 -0
- data/ext/pg_query/include/postgres/access/parallel.h +81 -0
- data/ext/pg_query/include/postgres/access/printtup.h +35 -0
- data/ext/pg_query/include/postgres/access/relation.h +28 -0
- data/ext/pg_query/include/postgres/access/relscan.h +191 -0
- data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
- data/ext/pg_query/include/postgres/access/rmgrlist.h +49 -0
- data/ext/pg_query/include/postgres/access/sdir.h +67 -0
- data/ext/pg_query/include/postgres/access/skey.h +151 -0
- data/ext/pg_query/include/postgres/access/slru.h +218 -0
- data/ext/pg_query/include/postgres/access/stratnum.h +85 -0
- data/ext/pg_query/include/postgres/access/sysattr.h +29 -0
- data/ext/pg_query/include/postgres/access/table.h +28 -0
- data/ext/pg_query/include/postgres/access/tableam.h +2110 -0
- data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
- data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
- data/ext/pg_query/include/postgres/access/transam.h +418 -0
- data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
- data/ext/pg_query/include/postgres/access/tupconvert.h +54 -0
- data/ext/pg_query/include/postgres/access/tupdesc.h +154 -0
- data/ext/pg_query/include/postgres/access/tupmacs.h +207 -0
- data/ext/pg_query/include/postgres/access/twophase.h +65 -0
- data/ext/pg_query/include/postgres/access/xact.h +530 -0
- data/ext/pg_query/include/postgres/access/xlog.h +310 -0
- data/ext/pg_query/include/postgres/access/xlog_internal.h +405 -0
- data/ext/pg_query/include/postgres/access/xlogbackup.h +43 -0
- data/ext/pg_query/include/postgres/access/xlogdefs.h +82 -0
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/postgres/access/xlogreader.h +444 -0
- data/ext/pg_query/include/postgres/access/xlogrecord.h +248 -0
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
- data/ext/pg_query/include/postgres/archive/archive_module.h +67 -0
- data/ext/pg_query/include/postgres/c.h +1374 -0
- data/ext/pg_query/include/postgres/catalog/catalog.h +47 -0
- data/ext/pg_query/include/postgres/catalog/catversion.h +62 -0
- data/ext/pg_query/include/postgres/catalog/dependency.h +228 -0
- data/ext/pg_query/include/postgres/catalog/genbki.h +149 -0
- data/ext/pg_query/include/postgres/catalog/index.h +218 -0
- data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
- data/ext/pg_query/include/postgres/catalog/namespace.h +189 -0
- data/ext/pg_query/include/postgres/catalog/objectaccess.h +267 -0
- data/ext/pg_query/include/postgres/catalog/objectaddress.h +93 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +182 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +78 -0
- data/ext/pg_query/include/postgres/catalog/pg_am.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_am_d.h +47 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute.h +240 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_class.h +235 -0
- data/ext/pg_query/include/postgres/catalog/pg_class_d.h +134 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation.h +106 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint.h +278 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +74 -0
- data/ext/pg_query/include/postgres/catalog/pg_control.h +260 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion.h +79 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_database.h +129 -0
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +53 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend.h +77 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_index.h +92 -0
- data/ext/pg_query/include/postgres/catalog/pg_index_d.h +59 -0
- data/ext/pg_query/include/postgres/catalog/pg_language.h +75 -0
- data/ext/pg_query/include/postgres/catalog/pg_language_d.h +41 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator.h +124 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +142 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +76 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc.h +223 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +101 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication.h +161 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +65 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +33 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic.h +288 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +199 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +45 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger.h +153 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +109 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +56 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +35 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +63 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +37 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +54 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_type.h +407 -0
- data/ext/pg_query/include/postgres/catalog/pg_type_d.h +324 -0
- data/ext/pg_query/include/postgres/catalog/storage.h +50 -0
- data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
- data/ext/pg_query/include/postgres/commands/async.h +49 -0
- data/ext/pg_query/include/postgres/commands/dbcommands.h +37 -0
- data/ext/pg_query/include/postgres/commands/defrem.h +161 -0
- data/ext/pg_query/include/postgres/commands/event_trigger.h +97 -0
- data/ext/pg_query/include/postgres/commands/explain.h +145 -0
- data/ext/pg_query/include/postgres/commands/prepare.h +61 -0
- data/ext/pg_query/include/postgres/commands/tablespace.h +69 -0
- data/ext/pg_query/include/postgres/commands/trigger.h +288 -0
- data/ext/pg_query/include/postgres/commands/user.h +43 -0
- data/ext/pg_query/include/postgres/commands/vacuum.h +388 -0
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/postgres/common/file_perm.h +56 -0
- data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
- data/ext/pg_query/include/postgres/common/hashfn.h +119 -0
- data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
- data/ext/pg_query/include/postgres/common/int.h +512 -0
- data/ext/pg_query/include/postgres/common/keywords.h +29 -0
- data/ext/pg_query/include/postgres/common/kwlookup.h +44 -0
- data/ext/pg_query/include/postgres/common/pg_prng.h +62 -0
- data/ext/pg_query/include/postgres/common/relpath.h +97 -0
- data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
- data/ext/pg_query/include/postgres/common/sha2.h +32 -0
- data/ext/pg_query/include/postgres/common/string.h +44 -0
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +124 -0
- data/ext/pg_query/include/postgres/common/unicode_nonspacing_table.h +326 -0
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5261 -0
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +989 -0
- data/ext/pg_query/include/postgres/datatype/timestamp.h +269 -0
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3310 -0
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +836 -0
- data/ext/pg_query/include/postgres/executor/execdesc.h +70 -0
- data/ext/pg_query/include/postgres/executor/executor.h +681 -0
- data/ext/pg_query/include/postgres/executor/functions.h +56 -0
- data/ext/pg_query/include/postgres/executor/instrument.h +120 -0
- data/ext/pg_query/include/postgres/executor/spi.h +207 -0
- data/ext/pg_query/include/postgres/executor/tablefunc.h +67 -0
- data/ext/pg_query/include/postgres/executor/tuptable.h +523 -0
- data/ext/pg_query/include/postgres/fmgr.h +800 -0
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/postgres/funcapi.h +360 -0
- data/ext/pg_query/include/postgres/gram.h +1168 -0
- data/ext/pg_query/include/postgres/gramparse.h +75 -0
- data/ext/pg_query/include/postgres/jit/jit.h +106 -0
- data/ext/pg_query/include/postgres/kwlist_d.h +1164 -0
- data/ext/pg_query/include/postgres/lib/dshash.h +130 -0
- data/ext/pg_query/include/postgres/lib/ilist.h +1159 -0
- data/ext/pg_query/include/postgres/lib/pairingheap.h +102 -0
- data/ext/pg_query/include/postgres/lib/simplehash.h +1206 -0
- data/ext/pg_query/include/postgres/lib/sort_template.h +445 -0
- data/ext/pg_query/include/postgres/lib/stringinfo.h +243 -0
- data/ext/pg_query/include/postgres/libpq/auth.h +37 -0
- data/ext/pg_query/include/postgres/libpq/crypt.h +47 -0
- data/ext/pg_query/include/postgres/libpq/hba.h +186 -0
- data/ext/pg_query/include/postgres/libpq/libpq-be.h +361 -0
- data/ext/pg_query/include/postgres/libpq/libpq.h +143 -0
- data/ext/pg_query/include/postgres/libpq/pqcomm.h +169 -0
- data/ext/pg_query/include/postgres/libpq/pqformat.h +209 -0
- data/ext/pg_query/include/postgres/libpq/pqsignal.h +54 -0
- data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
- data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
- data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
- data/ext/pg_query/include/postgres/mb/pg_wchar.h +793 -0
- data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +24 -0
- data/ext/pg_query/include/postgres/miscadmin.h +527 -0
- data/ext/pg_query/include/postgres/nodes/bitmapset.h +140 -0
- data/ext/pg_query/include/postgres/nodes/execnodes.h +2855 -0
- data/ext/pg_query/include/postgres/nodes/extensible.h +164 -0
- data/ext/pg_query/include/postgres/nodes/lockoptions.h +61 -0
- data/ext/pg_query/include/postgres/nodes/makefuncs.h +127 -0
- data/ext/pg_query/include/postgres/nodes/memnodes.h +152 -0
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
- data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +222 -0
- data/ext/pg_query/include/postgres/nodes/nodes.h +435 -0
- data/ext/pg_query/include/postgres/nodes/nodetags.h +491 -0
- data/ext/pg_query/include/postgres/nodes/params.h +170 -0
- data/ext/pg_query/include/postgres/nodes/parsenodes.h +4233 -0
- data/ext/pg_query/include/postgres/nodes/pathnodes.h +3438 -0
- data/ext/pg_query/include/postgres/nodes/pg_list.h +686 -0
- data/ext/pg_query/include/postgres/nodes/plannodes.h +1593 -0
- data/ext/pg_query/include/postgres/nodes/primnodes.h +2339 -0
- data/ext/pg_query/include/postgres/nodes/print.h +34 -0
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
- data/ext/pg_query/include/postgres/nodes/replnodes.h +132 -0
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
- data/ext/pg_query/include/postgres/nodes/tidbitmap.h +75 -0
- data/ext/pg_query/include/postgres/nodes/value.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/cost.h +216 -0
- data/ext/pg_query/include/postgres/optimizer/geqo.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +45 -0
- data/ext/pg_query/include/postgres/optimizer/optimizer.h +205 -0
- data/ext/pg_query/include/postgres/optimizer/paths.h +271 -0
- data/ext/pg_query/include/postgres/optimizer/planmain.h +123 -0
- data/ext/pg_query/include/postgres/parser/analyze.h +66 -0
- data/ext/pg_query/include/postgres/parser/kwlist.h +518 -0
- data/ext/pg_query/include/postgres/parser/parse_agg.h +65 -0
- data/ext/pg_query/include/postgres/parser/parse_coerce.h +105 -0
- data/ext/pg_query/include/postgres/parser/parse_expr.h +25 -0
- data/ext/pg_query/include/postgres/parser/parse_func.h +74 -0
- data/ext/pg_query/include/postgres/parser/parse_node.h +358 -0
- data/ext/pg_query/include/postgres/parser/parse_oper.h +68 -0
- data/ext/pg_query/include/postgres/parser/parse_relation.h +129 -0
- data/ext/pg_query/include/postgres/parser/parse_type.h +61 -0
- data/ext/pg_query/include/postgres/parser/parser.h +68 -0
- data/ext/pg_query/include/postgres/parser/parsetree.h +61 -0
- data/ext/pg_query/include/postgres/parser/scanner.h +152 -0
- data/ext/pg_query/include/postgres/parser/scansup.h +27 -0
- data/ext/pg_query/include/postgres/partitioning/partdefs.h +26 -0
- data/ext/pg_query/include/postgres/pg_config.h +985 -0
- data/ext/pg_query/include/postgres/pg_config_manual.h +385 -0
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/postgres/pg_getopt.h +56 -0
- data/ext/pg_query/include/postgres/pg_trace.h +17 -0
- data/ext/pg_query/include/postgres/pgstat.h +780 -0
- data/ext/pg_query/include/postgres/pgtime.h +94 -0
- data/ext/pg_query/include/postgres/pl_gram.h +385 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +52 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +114 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +112 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +246 -0
- data/ext/pg_query/include/postgres/plerrcodes.h +998 -0
- data/ext/pg_query/include/postgres/plpgsql.h +1342 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +32 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +256 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +254 -0
- data/ext/pg_query/include/postgres/port/atomics/fallback.h +170 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +323 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +119 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +121 -0
- data/ext/pg_query/include/postgres/port/atomics/generic.h +437 -0
- data/ext/pg_query/include/postgres/port/atomics.h +606 -0
- data/ext/pg_query/include/postgres/port/pg_bitutils.h +421 -0
- data/ext/pg_query/include/postgres/port/pg_bswap.h +161 -0
- data/ext/pg_query/include/postgres/port/pg_crc32c.h +110 -0
- data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
- data/ext/pg_query/include/postgres/port/simd.h +422 -0
- data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
- data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +34 -0
- data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
- data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
- data/ext/pg_query/include/postgres/port/win32.h +59 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +582 -0
- data/ext/pg_query/include/postgres/port.h +555 -0
- data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
- data/ext/pg_query/include/postgres/postgres.h +579 -0
- data/ext/pg_query/include/postgres/postgres_ext.h +73 -0
- data/ext/pg_query/include/postgres/postmaster/autovacuum.h +69 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker.h +164 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +60 -0
- data/ext/pg_query/include/postgres/postmaster/bgwriter.h +45 -0
- data/ext/pg_query/include/postgres/postmaster/interrupt.h +32 -0
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
- data/ext/pg_query/include/postgres/postmaster/postmaster.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
- data/ext/pg_query/include/postgres/postmaster/syslogger.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
- data/ext/pg_query/include/postgres/postmaster/walwriter.h +23 -0
- data/ext/pg_query/include/postgres/regex/regex.h +272 -0
- data/ext/pg_query/include/postgres/replication/logicallauncher.h +34 -0
- data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
- data/ext/pg_query/include/postgres/replication/logicalworker.h +33 -0
- data/ext/pg_query/include/postgres/replication/origin.h +73 -0
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +734 -0
- data/ext/pg_query/include/postgres/replication/slot.h +289 -0
- data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
- data/ext/pg_query/include/postgres/replication/syncrep.h +109 -0
- data/ext/pg_query/include/postgres/replication/walreceiver.h +504 -0
- data/ext/pg_query/include/postgres/replication/walsender.h +76 -0
- data/ext/pg_query/include/postgres/rewrite/prs2lock.h +46 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +41 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +96 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +26 -0
- data/ext/pg_query/include/postgres/storage/block.h +108 -0
- data/ext/pg_query/include/postgres/storage/buf.h +46 -0
- data/ext/pg_query/include/postgres/storage/bufmgr.h +411 -0
- data/ext/pg_query/include/postgres/storage/bufpage.h +510 -0
- data/ext/pg_query/include/postgres/storage/condition_variable.h +73 -0
- data/ext/pg_query/include/postgres/storage/dsm.h +61 -0
- data/ext/pg_query/include/postgres/storage/dsm_impl.h +79 -0
- data/ext/pg_query/include/postgres/storage/fd.h +219 -0
- data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
- data/ext/pg_query/include/postgres/storage/ipc.h +87 -0
- data/ext/pg_query/include/postgres/storage/item.h +19 -0
- data/ext/pg_query/include/postgres/storage/itemid.h +184 -0
- data/ext/pg_query/include/postgres/storage/itemptr.h +245 -0
- data/ext/pg_query/include/postgres/storage/large_object.h +100 -0
- data/ext/pg_query/include/postgres/storage/latch.h +196 -0
- data/ext/pg_query/include/postgres/storage/lmgr.h +126 -0
- data/ext/pg_query/include/postgres/storage/lock.h +624 -0
- data/ext/pg_query/include/postgres/storage/lockdefs.h +61 -0
- data/ext/pg_query/include/postgres/storage/lwlock.h +228 -0
- data/ext/pg_query/include/postgres/storage/lwlocknames.h +47 -0
- data/ext/pg_query/include/postgres/storage/off.h +57 -0
- data/ext/pg_query/include/postgres/storage/pg_sema.h +61 -0
- data/ext/pg_query/include/postgres/storage/pg_shmem.h +93 -0
- data/ext/pg_query/include/postgres/storage/pmsignal.h +105 -0
- data/ext/pg_query/include/postgres/storage/predicate.h +83 -0
- data/ext/pg_query/include/postgres/storage/proc.h +488 -0
- data/ext/pg_query/include/postgres/storage/procarray.h +103 -0
- data/ext/pg_query/include/postgres/storage/proclist_types.h +53 -0
- data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
- data/ext/pg_query/include/postgres/storage/procsignal.h +75 -0
- data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +100 -0
- data/ext/pg_query/include/postgres/storage/s_lock.h +847 -0
- data/ext/pg_query/include/postgres/storage/sharedfileset.h +37 -0
- data/ext/pg_query/include/postgres/storage/shm_mq.h +86 -0
- data/ext/pg_query/include/postgres/storage/shm_toc.h +58 -0
- data/ext/pg_query/include/postgres/storage/shmem.h +59 -0
- data/ext/pg_query/include/postgres/storage/sinval.h +153 -0
- data/ext/pg_query/include/postgres/storage/smgr.h +130 -0
- data/ext/pg_query/include/postgres/storage/spin.h +77 -0
- data/ext/pg_query/include/postgres/storage/standby.h +109 -0
- data/ext/pg_query/include/postgres/storage/standbydefs.h +74 -0
- data/ext/pg_query/include/postgres/storage/sync.h +66 -0
- data/ext/pg_query/include/postgres/tcop/cmdtag.h +62 -0
- data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +219 -0
- data/ext/pg_query/include/postgres/tcop/deparse_utility.h +108 -0
- data/ext/pg_query/include/postgres/tcop/dest.h +148 -0
- data/ext/pg_query/include/postgres/tcop/fastpath.h +20 -0
- data/ext/pg_query/include/postgres/tcop/pquery.h +51 -0
- data/ext/pg_query/include/postgres/tcop/tcopprot.h +98 -0
- data/ext/pg_query/include/postgres/tcop/utility.h +112 -0
- data/ext/pg_query/include/postgres/tsearch/ts_cache.h +96 -0
- data/ext/pg_query/include/postgres/utils/acl.h +290 -0
- data/ext/pg_query/include/postgres/utils/aclchk_internal.h +45 -0
- data/ext/pg_query/include/postgres/utils/array.h +481 -0
- data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
- data/ext/pg_query/include/postgres/utils/backend_progress.h +46 -0
- data/ext/pg_query/include/postgres/utils/backend_status.h +340 -0
- data/ext/pg_query/include/postgres/utils/builtins.h +139 -0
- data/ext/pg_query/include/postgres/utils/bytea.h +28 -0
- data/ext/pg_query/include/postgres/utils/catcache.h +231 -0
- data/ext/pg_query/include/postgres/utils/date.h +118 -0
- data/ext/pg_query/include/postgres/utils/datetime.h +367 -0
- data/ext/pg_query/include/postgres/utils/datum.h +76 -0
- data/ext/pg_query/include/postgres/utils/dsa.h +166 -0
- data/ext/pg_query/include/postgres/utils/elog.h +540 -0
- data/ext/pg_query/include/postgres/utils/errcodes.h +352 -0
- data/ext/pg_query/include/postgres/utils/expandeddatum.h +170 -0
- data/ext/pg_query/include/postgres/utils/expandedrecord.h +241 -0
- data/ext/pg_query/include/postgres/utils/float.h +357 -0
- data/ext/pg_query/include/postgres/utils/fmgroids.h +3347 -0
- data/ext/pg_query/include/postgres/utils/fmgrprotos.h +2904 -0
- data/ext/pg_query/include/postgres/utils/fmgrtab.h +49 -0
- data/ext/pg_query/include/postgres/utils/guc.h +456 -0
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +184 -0
- data/ext/pg_query/include/postgres/utils/guc_tables.h +323 -0
- data/ext/pg_query/include/postgres/utils/hsearch.h +153 -0
- data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
- data/ext/pg_query/include/postgres/utils/inval.h +68 -0
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/postgres/utils/lsyscache.h +215 -0
- data/ext/pg_query/include/postgres/utils/memdebug.h +82 -0
- data/ext/pg_query/include/postgres/utils/memutils.h +193 -0
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +176 -0
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +253 -0
- data/ext/pg_query/include/postgres/utils/numeric.h +110 -0
- data/ext/pg_query/include/postgres/utils/palloc.h +151 -0
- data/ext/pg_query/include/postgres/utils/partcache.h +103 -0
- data/ext/pg_query/include/postgres/utils/pg_locale.h +136 -0
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +827 -0
- data/ext/pg_query/include/postgres/utils/plancache.h +238 -0
- data/ext/pg_query/include/postgres/utils/portal.h +252 -0
- data/ext/pg_query/include/postgres/utils/probes.h +114 -0
- data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
- data/ext/pg_query/include/postgres/utils/queryenvironment.h +74 -0
- data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
- data/ext/pg_query/include/postgres/utils/rel.h +711 -0
- data/ext/pg_query/include/postgres/utils/relcache.h +155 -0
- data/ext/pg_query/include/postgres/utils/reltrigger.h +81 -0
- data/ext/pg_query/include/postgres/utils/resowner.h +167 -0
- data/ext/pg_query/include/postgres/utils/ruleutils.h +52 -0
- data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +61 -0
- data/ext/pg_query/include/postgres/utils/snapmgr.h +130 -0
- data/ext/pg_query/include/postgres/utils/snapshot.h +219 -0
- data/ext/pg_query/include/postgres/utils/sortsupport.h +391 -0
- data/ext/pg_query/include/postgres/utils/syscache.h +136 -0
- data/ext/pg_query/include/postgres/utils/timeout.h +96 -0
- data/ext/pg_query/include/postgres/utils/timestamp.h +147 -0
- data/ext/pg_query/include/postgres/utils/tuplesort.h +472 -0
- data/ext/pg_query/include/postgres/utils/tuplestore.h +88 -0
- data/ext/pg_query/include/postgres/utils/typcache.h +210 -0
- data/ext/pg_query/include/postgres/utils/varlena.h +53 -0
- data/ext/pg_query/include/postgres/utils/wait_event.h +108 -0
- data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
- data/ext/pg_query/include/postgres/utils/xml.h +94 -0
- data/ext/pg_query/include/postgres/varatt.h +358 -0
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +8077 -6217
- data/ext/pg_query/include/protobuf/pg_query.pb.h +132024 -88124
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +24028 -17173
- data/ext/pg_query/pg_query_deparse.c +1 -9902
- data/ext/pg_query/pg_query_fingerprint.c +42 -18
- data/ext/pg_query/pg_query_fingerprint.h +1 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +1 -25
- data/ext/pg_query/pg_query_normalize.c +44 -3
- data/ext/pg_query/pg_query_outfuncs_json.c +62 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +19 -18
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +45 -10
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_scan.c +4 -3
- data/ext/pg_query/pg_query_split.c +6 -5
- data/ext/pg_query/postgres_deparse.c +11496 -0
- data/ext/pg_query/postgres_deparse.h +9 -0
- data/ext/pg_query/src_backend_catalog_namespace.c +262 -71
- data/ext/pg_query/src_backend_catalog_pg_proc.c +3 -2
- data/ext/pg_query/src_backend_commands_define.c +12 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +142 -156
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +100 -5881
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3831
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +89 -18
- data/ext/pg_query/src_backend_nodes_makefuncs.c +138 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +433 -132
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +45255 -38885
- data/ext/pg_query/src_backend_parser_parser.c +53 -8
- data/ext/pg_query/src_backend_parser_scan.c +6999 -3438
- data/ext/pg_query/src_backend_parser_scansup.c +5 -28
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +156 -114
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +14 -2
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
- data/ext/pg_query/src_backend_utils_adt_numutils.c +488 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +247 -34
- data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
- data/ext/pg_query/src_backend_utils_error_elog.c +543 -343
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +47 -18
- data/ext/pg_query/src_backend_utils_init_globals.c +22 -7
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +84 -148
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +502 -0
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +166 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +708 -499
- data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1115 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +710 -218
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +1079 -0
- data/ext/pg_query/src_common_encnames.c +46 -44
- data/ext/pg_query/src_common_hashfn.c +3 -3
- data/ext/pg_query/src_common_keywords.c +15 -2
- data/ext/pg_query/src_common_kwlist_d.h +602 -510
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_psprintf.c +3 -3
- data/ext/pg_query/src_common_stringinfo.c +21 -4
- data/ext/pg_query/src_common_wchar.c +754 -178
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +143 -24
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1295 -1255
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +20 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
- data/ext/pg_query/src_port_pg_bitutils.c +283 -54
- data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +56 -39
- data/ext/pg_query/src_port_strerror.c +9 -21
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/filter_columns.rb +1 -1
- data/lib/pg_query/fingerprint.rb +10 -9
- data/lib/pg_query/node.rb +18 -13
- data/lib/pg_query/param_refs.rb +3 -3
- data/lib/pg_query/parse.rb +25 -15
- data/lib/pg_query/parse_error.rb +1 -0
- data/lib/pg_query/pg_query_pb.rb +181 -3038
- data/lib/pg_query/scan.rb +1 -0
- data/lib/pg_query/treewalker.rb +55 -8
- data/lib/pg_query/truncate.rb +19 -21
- data/lib/pg_query/version.rb +1 -1
- metadata +447 -436
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +0 -246
- data/ext/pg_query/include/access/attmap.h +0 -52
- data/ext/pg_query/include/access/attnum.h +0 -64
- data/ext/pg_query/include/access/clog.h +0 -61
- data/ext/pg_query/include/access/commit_ts.h +0 -77
- data/ext/pg_query/include/access/detoast.h +0 -92
- data/ext/pg_query/include/access/genam.h +0 -228
- data/ext/pg_query/include/access/gin.h +0 -78
- data/ext/pg_query/include/access/htup.h +0 -89
- data/ext/pg_query/include/access/htup_details.h +0 -819
- data/ext/pg_query/include/access/itup.h +0 -161
- data/ext/pg_query/include/access/parallel.h +0 -82
- data/ext/pg_query/include/access/printtup.h +0 -35
- data/ext/pg_query/include/access/relation.h +0 -28
- data/ext/pg_query/include/access/relscan.h +0 -176
- data/ext/pg_query/include/access/rmgr.h +0 -35
- data/ext/pg_query/include/access/rmgrlist.h +0 -49
- data/ext/pg_query/include/access/sdir.h +0 -58
- data/ext/pg_query/include/access/skey.h +0 -151
- data/ext/pg_query/include/access/stratnum.h +0 -83
- data/ext/pg_query/include/access/sysattr.h +0 -29
- data/ext/pg_query/include/access/table.h +0 -27
- data/ext/pg_query/include/access/tableam.h +0 -1825
- data/ext/pg_query/include/access/transam.h +0 -265
- data/ext/pg_query/include/access/tupconvert.h +0 -51
- data/ext/pg_query/include/access/tupdesc.h +0 -154
- data/ext/pg_query/include/access/tupmacs.h +0 -247
- data/ext/pg_query/include/access/twophase.h +0 -63
- data/ext/pg_query/include/access/xact.h +0 -469
- data/ext/pg_query/include/access/xlog.h +0 -398
- data/ext/pg_query/include/access/xlog_internal.h +0 -339
- data/ext/pg_query/include/access/xlogdefs.h +0 -109
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/access/xlogreader.h +0 -337
- data/ext/pg_query/include/access/xlogrecord.h +0 -227
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/c.h +0 -1334
- data/ext/pg_query/include/catalog/catalog.h +0 -42
- data/ext/pg_query/include/catalog/catversion.h +0 -58
- data/ext/pg_query/include/catalog/dependency.h +0 -277
- data/ext/pg_query/include/catalog/genbki.h +0 -64
- data/ext/pg_query/include/catalog/index.h +0 -199
- data/ext/pg_query/include/catalog/indexing.h +0 -366
- data/ext/pg_query/include/catalog/namespace.h +0 -188
- data/ext/pg_query/include/catalog/objectaccess.h +0 -197
- data/ext/pg_query/include/catalog/objectaddress.h +0 -84
- data/ext/pg_query/include/catalog/pg_aggregate.h +0 -176
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -77
- data/ext/pg_query/include/catalog/pg_am.h +0 -60
- data/ext/pg_query/include/catalog/pg_am_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_attribute.h +0 -204
- data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -59
- data/ext/pg_query/include/catalog/pg_authid.h +0 -58
- data/ext/pg_query/include/catalog/pg_authid_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_class.h +0 -200
- data/ext/pg_query/include/catalog/pg_class_d.h +0 -103
- data/ext/pg_query/include/catalog/pg_collation.h +0 -73
- data/ext/pg_query/include/catalog/pg_collation_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_constraint.h +0 -247
- data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -67
- data/ext/pg_query/include/catalog/pg_control.h +0 -252
- data/ext/pg_query/include/catalog/pg_conversion.h +0 -72
- data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_depend.h +0 -73
- data/ext/pg_query/include/catalog/pg_depend_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -51
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_index.h +0 -80
- data/ext/pg_query/include/catalog/pg_index_d.h +0 -56
- data/ext/pg_query/include/catalog/pg_language.h +0 -67
- data/ext/pg_query/include/catalog/pg_language_d.h +0 -39
- data/ext/pg_query/include/catalog/pg_namespace.h +0 -59
- data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_opclass.h +0 -85
- data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_operator.h +0 -104
- data/ext/pg_query/include/catalog/pg_operator_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_opfamily.h +0 -60
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -47
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -63
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_proc.h +0 -211
- data/ext/pg_query/include/catalog/pg_proc_d.h +0 -99
- data/ext/pg_query/include/catalog/pg_publication.h +0 -118
- data/ext/pg_query/include/catalog/pg_publication_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -57
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -29
- data/ext/pg_query/include/catalog/pg_statistic.h +0 -275
- data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -194
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -74
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -40
- data/ext/pg_query/include/catalog/pg_transform.h +0 -45
- data/ext/pg_query/include/catalog/pg_transform_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_trigger.h +0 -137
- data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_ts_config.h +0 -50
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -54
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -33
- data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -57
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_ts_template.h +0 -48
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_type.h +0 -373
- data/ext/pg_query/include/catalog/pg_type_d.h +0 -285
- data/ext/pg_query/include/catalog/storage.h +0 -48
- data/ext/pg_query/include/commands/async.h +0 -54
- data/ext/pg_query/include/commands/dbcommands.h +0 -35
- data/ext/pg_query/include/commands/defrem.h +0 -173
- data/ext/pg_query/include/commands/event_trigger.h +0 -88
- data/ext/pg_query/include/commands/explain.h +0 -127
- data/ext/pg_query/include/commands/prepare.h +0 -61
- data/ext/pg_query/include/commands/tablespace.h +0 -69
- data/ext/pg_query/include/commands/trigger.h +0 -285
- data/ext/pg_query/include/commands/user.h +0 -37
- data/ext/pg_query/include/commands/vacuum.h +0 -293
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/common/file_perm.h +0 -56
- data/ext/pg_query/include/common/hashfn.h +0 -104
- data/ext/pg_query/include/common/ip.h +0 -37
- data/ext/pg_query/include/common/keywords.h +0 -33
- data/ext/pg_query/include/common/kwlookup.h +0 -44
- data/ext/pg_query/include/common/relpath.h +0 -90
- data/ext/pg_query/include/common/string.h +0 -19
- data/ext/pg_query/include/common/unicode_combining_table.h +0 -196
- data/ext/pg_query/include/datatype/timestamp.h +0 -197
- data/ext/pg_query/include/executor/execdesc.h +0 -70
- data/ext/pg_query/include/executor/executor.h +0 -620
- data/ext/pg_query/include/executor/functions.h +0 -41
- data/ext/pg_query/include/executor/instrument.h +0 -101
- data/ext/pg_query/include/executor/spi.h +0 -175
- data/ext/pg_query/include/executor/tablefunc.h +0 -67
- data/ext/pg_query/include/executor/tuptable.h +0 -487
- data/ext/pg_query/include/fmgr.h +0 -775
- data/ext/pg_query/include/funcapi.h +0 -348
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/jit/jit.h +0 -105
- data/ext/pg_query/include/kwlist_d.h +0 -1072
- data/ext/pg_query/include/lib/ilist.h +0 -727
- data/ext/pg_query/include/lib/pairingheap.h +0 -102
- data/ext/pg_query/include/lib/simplehash.h +0 -1059
- data/ext/pg_query/include/lib/stringinfo.h +0 -161
- data/ext/pg_query/include/libpq/auth.h +0 -29
- data/ext/pg_query/include/libpq/crypt.h +0 -46
- data/ext/pg_query/include/libpq/hba.h +0 -140
- data/ext/pg_query/include/libpq/libpq-be.h +0 -326
- data/ext/pg_query/include/libpq/libpq.h +0 -134
- data/ext/pg_query/include/libpq/pqcomm.h +0 -208
- data/ext/pg_query/include/libpq/pqformat.h +0 -210
- data/ext/pg_query/include/libpq/pqsignal.h +0 -42
- data/ext/pg_query/include/mb/pg_wchar.h +0 -673
- data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
- data/ext/pg_query/include/miscadmin.h +0 -489
- data/ext/pg_query/include/nodes/bitmapset.h +0 -122
- data/ext/pg_query/include/nodes/execnodes.h +0 -2523
- data/ext/pg_query/include/nodes/extensible.h +0 -160
- data/ext/pg_query/include/nodes/lockoptions.h +0 -61
- data/ext/pg_query/include/nodes/makefuncs.h +0 -108
- data/ext/pg_query/include/nodes/memnodes.h +0 -108
- data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
- data/ext/pg_query/include/nodes/nodes.h +0 -842
- data/ext/pg_query/include/nodes/params.h +0 -170
- data/ext/pg_query/include/nodes/parsenodes.h +0 -3580
- data/ext/pg_query/include/nodes/pathnodes.h +0 -2557
- data/ext/pg_query/include/nodes/pg_list.h +0 -606
- data/ext/pg_query/include/nodes/plannodes.h +0 -1266
- data/ext/pg_query/include/nodes/primnodes.h +0 -1541
- data/ext/pg_query/include/nodes/print.h +0 -34
- data/ext/pg_query/include/nodes/tidbitmap.h +0 -75
- data/ext/pg_query/include/nodes/value.h +0 -61
- data/ext/pg_query/include/optimizer/cost.h +0 -206
- data/ext/pg_query/include/optimizer/geqo.h +0 -88
- data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
- data/ext/pg_query/include/optimizer/optimizer.h +0 -194
- data/ext/pg_query/include/optimizer/paths.h +0 -257
- data/ext/pg_query/include/optimizer/planmain.h +0 -119
- data/ext/pg_query/include/parser/analyze.h +0 -49
- data/ext/pg_query/include/parser/gram.h +0 -1067
- data/ext/pg_query/include/parser/gramparse.h +0 -75
- data/ext/pg_query/include/parser/kwlist.h +0 -477
- data/ext/pg_query/include/parser/parse_agg.h +0 -68
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_coerce.h +0 -98
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_expr.h +0 -26
- data/ext/pg_query/include/parser/parse_func.h +0 -73
- data/ext/pg_query/include/parser/parse_node.h +0 -327
- data/ext/pg_query/include/parser/parse_oper.h +0 -67
- data/ext/pg_query/include/parser/parse_relation.h +0 -123
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/include/parser/parse_type.h +0 -60
- data/ext/pg_query/include/parser/parser.h +0 -41
- data/ext/pg_query/include/parser/parsetree.h +0 -61
- data/ext/pg_query/include/parser/scanner.h +0 -152
- data/ext/pg_query/include/parser/scansup.h +0 -30
- data/ext/pg_query/include/partitioning/partdefs.h +0 -26
- data/ext/pg_query/include/pg_config.h +0 -995
- data/ext/pg_query/include/pg_config_manual.h +0 -357
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/pg_getopt.h +0 -56
- data/ext/pg_query/include/pg_trace.h +0 -17
- data/ext/pg_query/include/pgstat.h +0 -1488
- data/ext/pg_query/include/pgtime.h +0 -84
- data/ext/pg_query/include/pl_gram.h +0 -385
- data/ext/pg_query/include/pl_reserved_kwlist.h +0 -52
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +0 -114
- data/ext/pg_query/include/pl_unreserved_kwlist.h +0 -112
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -246
- data/ext/pg_query/include/plerrcodes.h +0 -990
- data/ext/pg_query/include/plpgsql.h +0 -1347
- data/ext/pg_query/include/port/atomics/arch-arm.h +0 -26
- data/ext/pg_query/include/port/atomics/arch-ppc.h +0 -254
- data/ext/pg_query/include/port/atomics/arch-x86.h +0 -252
- data/ext/pg_query/include/port/atomics/fallback.h +0 -170
- data/ext/pg_query/include/port/atomics/generic-gcc.h +0 -286
- data/ext/pg_query/include/port/atomics/generic.h +0 -401
- data/ext/pg_query/include/port/atomics.h +0 -524
- data/ext/pg_query/include/port/pg_bitutils.h +0 -272
- data/ext/pg_query/include/port/pg_bswap.h +0 -161
- data/ext/pg_query/include/port/pg_crc32c.h +0 -101
- data/ext/pg_query/include/port.h +0 -528
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postgres.h +0 -764
- data/ext/pg_query/include/postgres_ext.h +0 -74
- data/ext/pg_query/include/postmaster/autovacuum.h +0 -83
- data/ext/pg_query/include/postmaster/bgworker.h +0 -161
- data/ext/pg_query/include/postmaster/bgworker_internals.h +0 -64
- data/ext/pg_query/include/postmaster/bgwriter.h +0 -45
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/postmaster/interrupt.h +0 -32
- data/ext/pg_query/include/postmaster/pgarch.h +0 -39
- data/ext/pg_query/include/postmaster/postmaster.h +0 -77
- data/ext/pg_query/include/postmaster/syslogger.h +0 -98
- data/ext/pg_query/include/postmaster/walwriter.h +0 -21
- data/ext/pg_query/include/regex/regex.h +0 -184
- data/ext/pg_query/include/replication/logicallauncher.h +0 -31
- data/ext/pg_query/include/replication/logicalproto.h +0 -110
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- data/ext/pg_query/include/replication/origin.h +0 -73
- data/ext/pg_query/include/replication/reorderbuffer.h +0 -468
- data/ext/pg_query/include/replication/slot.h +0 -219
- data/ext/pg_query/include/replication/syncrep.h +0 -115
- data/ext/pg_query/include/replication/walreceiver.h +0 -340
- data/ext/pg_query/include/replication/walsender.h +0 -74
- data/ext/pg_query/include/rewrite/prs2lock.h +0 -46
- data/ext/pg_query/include/rewrite/rewriteHandler.h +0 -40
- data/ext/pg_query/include/rewrite/rewriteManip.h +0 -87
- data/ext/pg_query/include/rewrite/rewriteSupport.h +0 -26
- data/ext/pg_query/include/storage/backendid.h +0 -37
- data/ext/pg_query/include/storage/block.h +0 -121
- data/ext/pg_query/include/storage/buf.h +0 -46
- data/ext/pg_query/include/storage/bufmgr.h +0 -292
- data/ext/pg_query/include/storage/bufpage.h +0 -459
- data/ext/pg_query/include/storage/condition_variable.h +0 -62
- data/ext/pg_query/include/storage/dsm.h +0 -61
- data/ext/pg_query/include/storage/dsm_impl.h +0 -75
- data/ext/pg_query/include/storage/fd.h +0 -168
- data/ext/pg_query/include/storage/ipc.h +0 -81
- data/ext/pg_query/include/storage/item.h +0 -19
- data/ext/pg_query/include/storage/itemid.h +0 -184
- data/ext/pg_query/include/storage/itemptr.h +0 -206
- data/ext/pg_query/include/storage/large_object.h +0 -100
- data/ext/pg_query/include/storage/latch.h +0 -190
- data/ext/pg_query/include/storage/lmgr.h +0 -114
- data/ext/pg_query/include/storage/lock.h +0 -613
- data/ext/pg_query/include/storage/lockdefs.h +0 -59
- data/ext/pg_query/include/storage/lwlock.h +0 -233
- data/ext/pg_query/include/storage/lwlocknames.h +0 -51
- data/ext/pg_query/include/storage/off.h +0 -57
- data/ext/pg_query/include/storage/pg_sema.h +0 -61
- data/ext/pg_query/include/storage/pg_shmem.h +0 -90
- data/ext/pg_query/include/storage/pmsignal.h +0 -94
- data/ext/pg_query/include/storage/predicate.h +0 -87
- data/ext/pg_query/include/storage/proc.h +0 -347
- data/ext/pg_query/include/storage/proclist_types.h +0 -51
- data/ext/pg_query/include/storage/procsignal.h +0 -75
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/storage/s_lock.h +0 -1071
- data/ext/pg_query/include/storage/sharedfileset.h +0 -45
- data/ext/pg_query/include/storage/shm_mq.h +0 -85
- data/ext/pg_query/include/storage/shm_toc.h +0 -58
- data/ext/pg_query/include/storage/shmem.h +0 -81
- data/ext/pg_query/include/storage/sinval.h +0 -153
- data/ext/pg_query/include/storage/sinvaladt.h +0 -43
- data/ext/pg_query/include/storage/smgr.h +0 -109
- data/ext/pg_query/include/storage/spin.h +0 -77
- data/ext/pg_query/include/storage/standby.h +0 -91
- data/ext/pg_query/include/storage/standbydefs.h +0 -74
- data/ext/pg_query/include/storage/sync.h +0 -62
- data/ext/pg_query/include/tcop/cmdtag.h +0 -58
- data/ext/pg_query/include/tcop/cmdtaglist.h +0 -217
- data/ext/pg_query/include/tcop/deparse_utility.h +0 -108
- data/ext/pg_query/include/tcop/dest.h +0 -149
- data/ext/pg_query/include/tcop/fastpath.h +0 -21
- data/ext/pg_query/include/tcop/pquery.h +0 -51
- data/ext/pg_query/include/tcop/tcopprot.h +0 -89
- data/ext/pg_query/include/tcop/utility.h +0 -108
- data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
- data/ext/pg_query/include/utils/acl.h +0 -312
- data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
- data/ext/pg_query/include/utils/array.h +0 -459
- data/ext/pg_query/include/utils/builtins.h +0 -128
- data/ext/pg_query/include/utils/bytea.h +0 -27
- data/ext/pg_query/include/utils/catcache.h +0 -231
- data/ext/pg_query/include/utils/date.h +0 -90
- data/ext/pg_query/include/utils/datetime.h +0 -343
- data/ext/pg_query/include/utils/datum.h +0 -68
- data/ext/pg_query/include/utils/dsa.h +0 -123
- data/ext/pg_query/include/utils/dynahash.h +0 -19
- data/ext/pg_query/include/utils/elog.h +0 -439
- data/ext/pg_query/include/utils/errcodes.h +0 -352
- data/ext/pg_query/include/utils/expandeddatum.h +0 -159
- data/ext/pg_query/include/utils/expandedrecord.h +0 -231
- data/ext/pg_query/include/utils/float.h +0 -356
- data/ext/pg_query/include/utils/fmgroids.h +0 -2657
- data/ext/pg_query/include/utils/fmgrprotos.h +0 -2646
- data/ext/pg_query/include/utils/fmgrtab.h +0 -48
- data/ext/pg_query/include/utils/guc.h +0 -443
- data/ext/pg_query/include/utils/guc_tables.h +0 -272
- data/ext/pg_query/include/utils/hsearch.h +0 -149
- data/ext/pg_query/include/utils/inval.h +0 -65
- data/ext/pg_query/include/utils/lsyscache.h +0 -198
- data/ext/pg_query/include/utils/memdebug.h +0 -82
- data/ext/pg_query/include/utils/memutils.h +0 -225
- data/ext/pg_query/include/utils/numeric.h +0 -76
- data/ext/pg_query/include/utils/palloc.h +0 -136
- data/ext/pg_query/include/utils/partcache.h +0 -102
- data/ext/pg_query/include/utils/pg_locale.h +0 -119
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/pidfile.h +0 -56
- data/ext/pg_query/include/utils/plancache.h +0 -235
- data/ext/pg_query/include/utils/portal.h +0 -254
- data/ext/pg_query/include/utils/probes.h +0 -114
- data/ext/pg_query/include/utils/ps_status.h +0 -25
- data/ext/pg_query/include/utils/queryenvironment.h +0 -74
- data/ext/pg_query/include/utils/regproc.h +0 -28
- data/ext/pg_query/include/utils/rel.h +0 -643
- data/ext/pg_query/include/utils/relcache.h +0 -150
- data/ext/pg_query/include/utils/reltrigger.h +0 -81
- data/ext/pg_query/include/utils/resowner.h +0 -86
- data/ext/pg_query/include/utils/rls.h +0 -50
- data/ext/pg_query/include/utils/ruleutils.h +0 -44
- data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
- data/ext/pg_query/include/utils/snapmgr.h +0 -159
- data/ext/pg_query/include/utils/snapshot.h +0 -206
- data/ext/pg_query/include/utils/sortsupport.h +0 -276
- data/ext/pg_query/include/utils/syscache.h +0 -219
- data/ext/pg_query/include/utils/timeout.h +0 -88
- data/ext/pg_query/include/utils/timestamp.h +0 -116
- data/ext/pg_query/include/utils/tuplesort.h +0 -277
- data/ext/pg_query/include/utils/tuplestore.h +0 -91
- data/ext/pg_query/include/utils/typcache.h +0 -202
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/include/utils/varlena.h +0 -39
- data/ext/pg_query/include/utils/xml.h +0 -84
- data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -659
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1832
- data/ext/pg_query/src_common_string.c +0 -86
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- data/ext/pg_query/src_port_random.c +0 -31
- data/ext/pg_query/src_port_strnlen.c +0 -39
- /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -0,0 +1,272 @@
|
|
1
|
+
#ifndef _PG_REGEX_H_
|
2
|
+
#define _PG_REGEX_H_ /* never again */
|
3
|
+
/*
|
4
|
+
* regular expressions
|
5
|
+
*
|
6
|
+
* Copyright (c) 1998, 1999 Henry Spencer. All rights reserved.
|
7
|
+
*
|
8
|
+
* Development of this software was funded, in part, by Cray Research Inc.,
|
9
|
+
* UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics
|
10
|
+
* Corporation, none of whom are responsible for the results. The author
|
11
|
+
* thanks all of them.
|
12
|
+
*
|
13
|
+
* Redistribution and use in source and binary forms -- with or without
|
14
|
+
* modification -- are permitted for any purpose, provided that
|
15
|
+
* redistributions in source form retain this entire copyright notice and
|
16
|
+
* indicate the origin and nature of any modifications.
|
17
|
+
*
|
18
|
+
* I'd appreciate being given credit for this package in the documentation
|
19
|
+
* of software which uses it, but that is not a requirement.
|
20
|
+
*
|
21
|
+
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
22
|
+
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
23
|
+
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
24
|
+
* HENRY SPENCER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
25
|
+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
26
|
+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
27
|
+
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
28
|
+
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
29
|
+
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
30
|
+
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
*
|
32
|
+
* src/include/regex/regex.h
|
33
|
+
*/
|
34
|
+
|
35
|
+
/*
|
36
|
+
* This is an implementation of POSIX regex_t, so it clashes with the
|
37
|
+
* system-provided <regex.h> header. That header might be unintentionally
|
38
|
+
* included already, so we force that to happen now on all systems to show that
|
39
|
+
* we can cope and that we completely replace the system regex interfaces.
|
40
|
+
*
|
41
|
+
* Note that we avoided using _REGEX_H_ as an include guard, as that confuses
|
42
|
+
* matters on BSD family systems including macOS that use the same include
|
43
|
+
* guard.
|
44
|
+
*/
|
45
|
+
#ifndef _WIN32
|
46
|
+
#include <regex.h>
|
47
|
+
#endif
|
48
|
+
|
49
|
+
/* Avoid redefinition errors due to the system header. */
|
50
|
+
#undef REG_UBACKREF
|
51
|
+
#undef REG_ULOOKAROUND
|
52
|
+
#undef REG_UBOUNDS
|
53
|
+
#undef REG_UBRACES
|
54
|
+
#undef REG_UBSALNUM
|
55
|
+
#undef REG_UPBOTCH
|
56
|
+
#undef REG_UBBS
|
57
|
+
#undef REG_UNONPOSIX
|
58
|
+
#undef REG_UUNSPEC
|
59
|
+
#undef REG_UUNPORT
|
60
|
+
#undef REG_ULOCALE
|
61
|
+
#undef REG_UEMPTYMATCH
|
62
|
+
#undef REG_UIMPOSSIBLE
|
63
|
+
#undef REG_USHORTEST
|
64
|
+
#undef REG_BASIC
|
65
|
+
#undef REG_EXTENDED
|
66
|
+
#undef REG_ADVF
|
67
|
+
#undef REG_ADVANCED
|
68
|
+
#undef REG_QUOTE
|
69
|
+
#undef REG_NOSPEC
|
70
|
+
#undef REG_ICASE
|
71
|
+
#undef REG_NOSUB
|
72
|
+
#undef REG_EXPANDED
|
73
|
+
#undef REG_NLSTOP
|
74
|
+
#undef REG_NLANCH
|
75
|
+
#undef REG_NEWLINE
|
76
|
+
#undef REG_PEND
|
77
|
+
#undef REG_EXPECT
|
78
|
+
#undef REG_BOSONLY
|
79
|
+
#undef REG_DUMP
|
80
|
+
#undef REG_FAKE
|
81
|
+
#undef REG_PROGRESS
|
82
|
+
#undef REG_NOTBOL
|
83
|
+
#undef REG_NOTEOL
|
84
|
+
#undef REG_STARTEND
|
85
|
+
#undef REG_FTRACE
|
86
|
+
#undef REG_MTRACE
|
87
|
+
#undef REG_SMALL
|
88
|
+
#undef REG_OKAY
|
89
|
+
#undef REG_NOMATCH
|
90
|
+
#undef REG_BADPAT
|
91
|
+
#undef REG_ECOLLATE
|
92
|
+
#undef REG_ECTYPE
|
93
|
+
#undef REG_EESCAPE
|
94
|
+
#undef REG_ESUBREG
|
95
|
+
#undef REG_EBRACK
|
96
|
+
#undef REG_EPAREN
|
97
|
+
#undef REG_EBRACE
|
98
|
+
#undef REG_BADBR
|
99
|
+
#undef REG_ERANGE
|
100
|
+
#undef REG_ESPACE
|
101
|
+
#undef REG_BADRPT
|
102
|
+
#undef REG_ASSERT
|
103
|
+
#undef REG_INVARG
|
104
|
+
#undef REG_MIXED
|
105
|
+
#undef REG_BADOPT
|
106
|
+
#undef REG_ETOOBIG
|
107
|
+
#undef REG_ECOLORS
|
108
|
+
#undef REG_ATOI
|
109
|
+
#undef REG_ITOA
|
110
|
+
#undef REG_PREFIX
|
111
|
+
#undef REG_EXACT
|
112
|
+
|
113
|
+
/*
|
114
|
+
* Add your own defines, if needed, here.
|
115
|
+
*/
|
116
|
+
#include "mb/pg_wchar.h"
|
117
|
+
|
118
|
+
/*
|
119
|
+
* interface types etc.
|
120
|
+
*/
|
121
|
+
|
122
|
+
/*
|
123
|
+
* regoff_t has to be large enough to hold either off_t or ssize_t,
|
124
|
+
* and must be signed; it's only a guess that long is suitable.
|
125
|
+
*/
|
126
|
+
typedef long pg_regoff_t;
|
127
|
+
|
128
|
+
/*
|
129
|
+
* other interface types
|
130
|
+
*/
|
131
|
+
|
132
|
+
/* the biggie, a compiled RE (or rather, a front end to same) */
|
133
|
+
typedef struct
|
134
|
+
{
|
135
|
+
int re_magic; /* magic number */
|
136
|
+
size_t re_nsub; /* number of subexpressions */
|
137
|
+
long re_info; /* bitmask of the following flags: */
|
138
|
+
#define REG_UBACKREF 000001 /* has back-reference (\n) */
|
139
|
+
#define REG_ULOOKAROUND 000002 /* has lookahead/lookbehind constraint */
|
140
|
+
#define REG_UBOUNDS 000004 /* has bounded quantifier ({m,n}) */
|
141
|
+
#define REG_UBRACES 000010 /* has { that doesn't begin a quantifier */
|
142
|
+
#define REG_UBSALNUM 000020 /* has backslash-alphanumeric in non-ARE */
|
143
|
+
#define REG_UPBOTCH 000040 /* has unmatched right paren in ERE (legal
|
144
|
+
* per spec, but that was a mistake) */
|
145
|
+
#define REG_UBBS 000100 /* has backslash within bracket expr */
|
146
|
+
#define REG_UNONPOSIX 000200 /* has any construct that extends POSIX */
|
147
|
+
#define REG_UUNSPEC 000400 /* has any case disallowed by POSIX, e.g.
|
148
|
+
* an empty branch */
|
149
|
+
#define REG_UUNPORT 001000 /* has numeric character code dependency */
|
150
|
+
#define REG_ULOCALE 002000 /* has locale dependency */
|
151
|
+
#define REG_UEMPTYMATCH 004000 /* can match a zero-length string */
|
152
|
+
#define REG_UIMPOSSIBLE 010000 /* provably cannot match anything */
|
153
|
+
#define REG_USHORTEST 020000 /* has non-greedy quantifier */
|
154
|
+
int re_csize; /* sizeof(character) */
|
155
|
+
char *re_endp; /* backward compatibility kludge */
|
156
|
+
Oid re_collation; /* Collation that defines LC_CTYPE behavior */
|
157
|
+
/* the rest is opaque pointers to hidden innards */
|
158
|
+
char *re_guts; /* `char *' is more portable than `void *' */
|
159
|
+
char *re_fns;
|
160
|
+
} pg_regex_t;
|
161
|
+
|
162
|
+
/* result reporting (may acquire more fields later) */
|
163
|
+
typedef struct
|
164
|
+
{
|
165
|
+
pg_regoff_t rm_so; /* start of substring */
|
166
|
+
pg_regoff_t rm_eo; /* end of substring */
|
167
|
+
} pg_regmatch_t;
|
168
|
+
|
169
|
+
/* supplementary control and reporting */
|
170
|
+
typedef struct
|
171
|
+
{
|
172
|
+
pg_regmatch_t rm_extend; /* see REG_EXPECT */
|
173
|
+
} rm_detail_t;
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
/*
|
178
|
+
* regex compilation flags
|
179
|
+
*/
|
180
|
+
#define REG_BASIC 000000 /* BREs (convenience) */
|
181
|
+
#define REG_EXTENDED 000001 /* EREs */
|
182
|
+
#define REG_ADVF 000002 /* advanced features in EREs */
|
183
|
+
#define REG_ADVANCED 000003 /* AREs (which are also EREs) */
|
184
|
+
#define REG_QUOTE 000004 /* no special characters, none */
|
185
|
+
#define REG_NOSPEC REG_QUOTE /* historical synonym */
|
186
|
+
#define REG_ICASE 000010 /* ignore case */
|
187
|
+
#define REG_NOSUB 000020 /* caller doesn't need subexpr match data */
|
188
|
+
#define REG_EXPANDED 000040 /* expanded format, white space & comments */
|
189
|
+
#define REG_NLSTOP 000100 /* \n doesn't match . or [^ ] */
|
190
|
+
#define REG_NLANCH 000200 /* ^ matches after \n, $ before */
|
191
|
+
#define REG_NEWLINE 000300 /* newlines are line terminators */
|
192
|
+
#define REG_PEND 000400 /* ugh -- backward-compatibility hack */
|
193
|
+
#define REG_EXPECT 001000 /* report details on partial/limited matches */
|
194
|
+
#define REG_BOSONLY 002000 /* temporary kludge for BOS-only matches */
|
195
|
+
#define REG_DUMP 004000 /* none of your business :-) */
|
196
|
+
#define REG_FAKE 010000 /* none of your business :-) */
|
197
|
+
#define REG_PROGRESS 020000 /* none of your business :-) */
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
/*
|
202
|
+
* regex execution flags
|
203
|
+
*/
|
204
|
+
#define REG_NOTBOL 0001 /* BOS is not BOL */
|
205
|
+
#define REG_NOTEOL 0002 /* EOS is not EOL */
|
206
|
+
#define REG_STARTEND 0004 /* backward compatibility kludge */
|
207
|
+
#define REG_FTRACE 0010 /* none of your business */
|
208
|
+
#define REG_MTRACE 0020 /* none of your business */
|
209
|
+
#define REG_SMALL 0040 /* none of your business */
|
210
|
+
|
211
|
+
|
212
|
+
/*
|
213
|
+
* error reporting
|
214
|
+
* Be careful if modifying the list of error codes -- the table used by
|
215
|
+
* regerror() is generated automatically from this file!
|
216
|
+
*/
|
217
|
+
#define REG_OKAY 0 /* no errors detected */
|
218
|
+
#define REG_NOMATCH 1 /* failed to match */
|
219
|
+
#define REG_BADPAT 2 /* invalid regexp */
|
220
|
+
#define REG_ECOLLATE 3 /* invalid collating element */
|
221
|
+
#define REG_ECTYPE 4 /* invalid character class */
|
222
|
+
#define REG_EESCAPE 5 /* invalid escape \ sequence */
|
223
|
+
#define REG_ESUBREG 6 /* invalid backreference number */
|
224
|
+
#define REG_EBRACK 7 /* brackets [] not balanced */
|
225
|
+
#define REG_EPAREN 8 /* parentheses () not balanced */
|
226
|
+
#define REG_EBRACE 9 /* braces {} not balanced */
|
227
|
+
#define REG_BADBR 10 /* invalid repetition count(s) */
|
228
|
+
#define REG_ERANGE 11 /* invalid character range */
|
229
|
+
#define REG_ESPACE 12 /* out of memory */
|
230
|
+
#define REG_BADRPT 13 /* quantifier operand invalid */
|
231
|
+
#define REG_ASSERT 15 /* "can't happen" -- you found a bug */
|
232
|
+
#define REG_INVARG 16 /* invalid argument to regex function */
|
233
|
+
#define REG_MIXED 17 /* character widths of regex and string differ */
|
234
|
+
#define REG_BADOPT 18 /* invalid embedded option */
|
235
|
+
#define REG_ETOOBIG 19 /* regular expression is too complex */
|
236
|
+
#define REG_ECOLORS 20 /* too many colors */
|
237
|
+
/* two specials for debugging and testing */
|
238
|
+
#define REG_ATOI 101 /* convert error-code name to number */
|
239
|
+
#define REG_ITOA 102 /* convert error-code number to name */
|
240
|
+
/* non-error result codes for pg_regprefix */
|
241
|
+
#define REG_PREFIX (-1) /* identified a common prefix */
|
242
|
+
#define REG_EXACT (-2) /* identified an exact match */
|
243
|
+
|
244
|
+
|
245
|
+
/* Redirect the standard typenames to our typenames. */
|
246
|
+
#define regoff_t pg_regoff_t
|
247
|
+
#define regex_t pg_regex_t
|
248
|
+
#define regmatch_t pg_regmatch_t
|
249
|
+
|
250
|
+
|
251
|
+
/*
|
252
|
+
* the prototypes for exported functions
|
253
|
+
*/
|
254
|
+
|
255
|
+
/* regcomp.c */
|
256
|
+
extern int pg_regcomp(regex_t *re, const pg_wchar *string, size_t len,
|
257
|
+
int flags, Oid collation);
|
258
|
+
extern int pg_regexec(regex_t *re, const pg_wchar *string, size_t len,
|
259
|
+
size_t search_start, rm_detail_t *details,
|
260
|
+
size_t nmatch, regmatch_t pmatch[], int flags);
|
261
|
+
extern int pg_regprefix(regex_t *re, pg_wchar **string, size_t *slength);
|
262
|
+
extern void pg_regfree(regex_t *re);
|
263
|
+
extern size_t pg_regerror(int errcode, const regex_t *preg, char *errbuf,
|
264
|
+
size_t errbuf_size);
|
265
|
+
|
266
|
+
/* regexp.c */
|
267
|
+
extern regex_t *RE_compile_and_cache(text *text_re, int cflags, Oid collation);
|
268
|
+
extern bool RE_compile_and_execute(text *text_re, char *dat, int dat_len,
|
269
|
+
int cflags, Oid collation,
|
270
|
+
int nmatch, regmatch_t *pmatch);
|
271
|
+
|
272
|
+
#endif /* _PG_REGEX_H_ */
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* logicallauncher.h
|
4
|
+
* Exports for logical replication launcher.
|
5
|
+
*
|
6
|
+
* Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group
|
7
|
+
*
|
8
|
+
* src/include/replication/logicallauncher.h
|
9
|
+
*
|
10
|
+
*-------------------------------------------------------------------------
|
11
|
+
*/
|
12
|
+
#ifndef LOGICALLAUNCHER_H
|
13
|
+
#define LOGICALLAUNCHER_H
|
14
|
+
|
15
|
+
extern PGDLLIMPORT int max_logical_replication_workers;
|
16
|
+
extern PGDLLIMPORT int max_sync_workers_per_subscription;
|
17
|
+
extern PGDLLIMPORT int max_parallel_apply_workers_per_subscription;
|
18
|
+
|
19
|
+
extern void ApplyLauncherRegister(void);
|
20
|
+
extern void ApplyLauncherMain(Datum main_arg);
|
21
|
+
|
22
|
+
extern Size ApplyLauncherShmemSize(void);
|
23
|
+
extern void ApplyLauncherShmemInit(void);
|
24
|
+
|
25
|
+
extern void ApplyLauncherForgetWorkerStartTime(Oid subid);
|
26
|
+
|
27
|
+
extern void ApplyLauncherWakeupAtCommit(void);
|
28
|
+
extern void AtEOXact_ApplyLauncher(bool isCommit);
|
29
|
+
|
30
|
+
extern bool IsLogicalLauncher(void);
|
31
|
+
|
32
|
+
extern pid_t GetLeaderApplyWorkerPid(pid_t pid);
|
33
|
+
|
34
|
+
#endif /* LOGICALLAUNCHER_H */
|
@@ -0,0 +1,274 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* logicalproto.h
|
4
|
+
* logical replication protocol
|
5
|
+
*
|
6
|
+
* Copyright (c) 2015-2024, PostgreSQL Global Development Group
|
7
|
+
*
|
8
|
+
* IDENTIFICATION
|
9
|
+
* src/include/replication/logicalproto.h
|
10
|
+
*
|
11
|
+
*-------------------------------------------------------------------------
|
12
|
+
*/
|
13
|
+
#ifndef LOGICAL_PROTO_H
|
14
|
+
#define LOGICAL_PROTO_H
|
15
|
+
|
16
|
+
#include "access/xact.h"
|
17
|
+
#include "executor/tuptable.h"
|
18
|
+
#include "replication/reorderbuffer.h"
|
19
|
+
#include "utils/rel.h"
|
20
|
+
|
21
|
+
/*
|
22
|
+
* Protocol capabilities
|
23
|
+
*
|
24
|
+
* LOGICALREP_PROTO_VERSION_NUM is our native protocol.
|
25
|
+
* LOGICALREP_PROTO_MAX_VERSION_NUM is the greatest version we can support.
|
26
|
+
* LOGICALREP_PROTO_MIN_VERSION_NUM is the oldest version we
|
27
|
+
* have backwards compatibility for. The client requests protocol version at
|
28
|
+
* connect time.
|
29
|
+
*
|
30
|
+
* LOGICALREP_PROTO_STREAM_VERSION_NUM is the minimum protocol version with
|
31
|
+
* support for streaming large transactions. Introduced in PG14.
|
32
|
+
*
|
33
|
+
* LOGICALREP_PROTO_TWOPHASE_VERSION_NUM is the minimum protocol version with
|
34
|
+
* support for two-phase commit decoding (at prepare time). Introduced in PG15.
|
35
|
+
*
|
36
|
+
* LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM is the minimum protocol version
|
37
|
+
* where we support applying large streaming transactions in parallel.
|
38
|
+
* Introduced in PG16.
|
39
|
+
*/
|
40
|
+
#define LOGICALREP_PROTO_MIN_VERSION_NUM 1
|
41
|
+
#define LOGICALREP_PROTO_VERSION_NUM 1
|
42
|
+
#define LOGICALREP_PROTO_STREAM_VERSION_NUM 2
|
43
|
+
#define LOGICALREP_PROTO_TWOPHASE_VERSION_NUM 3
|
44
|
+
#define LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM 4
|
45
|
+
#define LOGICALREP_PROTO_MAX_VERSION_NUM LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM
|
46
|
+
|
47
|
+
/*
|
48
|
+
* Logical message types
|
49
|
+
*
|
50
|
+
* Used by logical replication wire protocol.
|
51
|
+
*
|
52
|
+
* Note: though this is an enum, the values are used to identify message types
|
53
|
+
* in logical replication protocol, which uses a single byte to identify a
|
54
|
+
* message type. Hence the values should be single-byte wide and preferably
|
55
|
+
* human-readable characters.
|
56
|
+
*/
|
57
|
+
typedef enum LogicalRepMsgType
|
58
|
+
{
|
59
|
+
LOGICAL_REP_MSG_BEGIN = 'B',
|
60
|
+
LOGICAL_REP_MSG_COMMIT = 'C',
|
61
|
+
LOGICAL_REP_MSG_ORIGIN = 'O',
|
62
|
+
LOGICAL_REP_MSG_INSERT = 'I',
|
63
|
+
LOGICAL_REP_MSG_UPDATE = 'U',
|
64
|
+
LOGICAL_REP_MSG_DELETE = 'D',
|
65
|
+
LOGICAL_REP_MSG_TRUNCATE = 'T',
|
66
|
+
LOGICAL_REP_MSG_RELATION = 'R',
|
67
|
+
LOGICAL_REP_MSG_TYPE = 'Y',
|
68
|
+
LOGICAL_REP_MSG_MESSAGE = 'M',
|
69
|
+
LOGICAL_REP_MSG_BEGIN_PREPARE = 'b',
|
70
|
+
LOGICAL_REP_MSG_PREPARE = 'P',
|
71
|
+
LOGICAL_REP_MSG_COMMIT_PREPARED = 'K',
|
72
|
+
LOGICAL_REP_MSG_ROLLBACK_PREPARED = 'r',
|
73
|
+
LOGICAL_REP_MSG_STREAM_START = 'S',
|
74
|
+
LOGICAL_REP_MSG_STREAM_STOP = 'E',
|
75
|
+
LOGICAL_REP_MSG_STREAM_COMMIT = 'c',
|
76
|
+
LOGICAL_REP_MSG_STREAM_ABORT = 'A',
|
77
|
+
LOGICAL_REP_MSG_STREAM_PREPARE = 'p',
|
78
|
+
} LogicalRepMsgType;
|
79
|
+
|
80
|
+
/*
|
81
|
+
* This struct stores a tuple received via logical replication.
|
82
|
+
* Keep in mind that the columns correspond to the *remote* table.
|
83
|
+
*/
|
84
|
+
typedef struct LogicalRepTupleData
|
85
|
+
{
|
86
|
+
/* Array of StringInfos, one per column; some may be unused */
|
87
|
+
StringInfoData *colvalues;
|
88
|
+
/* Array of markers for null/unchanged/text/binary, one per column */
|
89
|
+
char *colstatus;
|
90
|
+
/* Length of above arrays */
|
91
|
+
int ncols;
|
92
|
+
} LogicalRepTupleData;
|
93
|
+
|
94
|
+
/* Possible values for LogicalRepTupleData.colstatus[colnum] */
|
95
|
+
/* These values are also used in the on-the-wire protocol */
|
96
|
+
#define LOGICALREP_COLUMN_NULL 'n'
|
97
|
+
#define LOGICALREP_COLUMN_UNCHANGED 'u'
|
98
|
+
#define LOGICALREP_COLUMN_TEXT 't'
|
99
|
+
#define LOGICALREP_COLUMN_BINARY 'b' /* added in PG14 */
|
100
|
+
|
101
|
+
typedef uint32 LogicalRepRelId;
|
102
|
+
|
103
|
+
/* Relation information */
|
104
|
+
typedef struct LogicalRepRelation
|
105
|
+
{
|
106
|
+
/* Info coming from the remote side. */
|
107
|
+
LogicalRepRelId remoteid; /* unique id of the relation */
|
108
|
+
char *nspname; /* schema name */
|
109
|
+
char *relname; /* relation name */
|
110
|
+
int natts; /* number of columns */
|
111
|
+
char **attnames; /* column names */
|
112
|
+
Oid *atttyps; /* column types */
|
113
|
+
char replident; /* replica identity */
|
114
|
+
char relkind; /* remote relation kind */
|
115
|
+
Bitmapset *attkeys; /* Bitmap of key columns */
|
116
|
+
} LogicalRepRelation;
|
117
|
+
|
118
|
+
/* Type mapping info */
|
119
|
+
typedef struct LogicalRepTyp
|
120
|
+
{
|
121
|
+
Oid remoteid; /* unique id of the remote type */
|
122
|
+
char *nspname; /* schema name of remote type */
|
123
|
+
char *typname; /* name of the remote type */
|
124
|
+
} LogicalRepTyp;
|
125
|
+
|
126
|
+
/* Transaction info */
|
127
|
+
typedef struct LogicalRepBeginData
|
128
|
+
{
|
129
|
+
XLogRecPtr final_lsn;
|
130
|
+
TimestampTz committime;
|
131
|
+
TransactionId xid;
|
132
|
+
} LogicalRepBeginData;
|
133
|
+
|
134
|
+
typedef struct LogicalRepCommitData
|
135
|
+
{
|
136
|
+
XLogRecPtr commit_lsn;
|
137
|
+
XLogRecPtr end_lsn;
|
138
|
+
TimestampTz committime;
|
139
|
+
} LogicalRepCommitData;
|
140
|
+
|
141
|
+
/*
|
142
|
+
* Prepared transaction protocol information for begin_prepare, and prepare.
|
143
|
+
*/
|
144
|
+
typedef struct LogicalRepPreparedTxnData
|
145
|
+
{
|
146
|
+
XLogRecPtr prepare_lsn;
|
147
|
+
XLogRecPtr end_lsn;
|
148
|
+
TimestampTz prepare_time;
|
149
|
+
TransactionId xid;
|
150
|
+
char gid[GIDSIZE];
|
151
|
+
} LogicalRepPreparedTxnData;
|
152
|
+
|
153
|
+
/*
|
154
|
+
* Prepared transaction protocol information for commit prepared.
|
155
|
+
*/
|
156
|
+
typedef struct LogicalRepCommitPreparedTxnData
|
157
|
+
{
|
158
|
+
XLogRecPtr commit_lsn;
|
159
|
+
XLogRecPtr end_lsn;
|
160
|
+
TimestampTz commit_time;
|
161
|
+
TransactionId xid;
|
162
|
+
char gid[GIDSIZE];
|
163
|
+
} LogicalRepCommitPreparedTxnData;
|
164
|
+
|
165
|
+
/*
|
166
|
+
* Rollback Prepared transaction protocol information. The prepare information
|
167
|
+
* prepare_end_lsn and prepare_time are used to check if the downstream has
|
168
|
+
* received this prepared transaction in which case it can apply the rollback,
|
169
|
+
* otherwise, it can skip the rollback operation. The gid alone is not
|
170
|
+
* sufficient because the downstream node can have a prepared transaction with
|
171
|
+
* same identifier.
|
172
|
+
*/
|
173
|
+
typedef struct LogicalRepRollbackPreparedTxnData
|
174
|
+
{
|
175
|
+
XLogRecPtr prepare_end_lsn;
|
176
|
+
XLogRecPtr rollback_end_lsn;
|
177
|
+
TimestampTz prepare_time;
|
178
|
+
TimestampTz rollback_time;
|
179
|
+
TransactionId xid;
|
180
|
+
char gid[GIDSIZE];
|
181
|
+
} LogicalRepRollbackPreparedTxnData;
|
182
|
+
|
183
|
+
/*
|
184
|
+
* Transaction protocol information for stream abort.
|
185
|
+
*/
|
186
|
+
typedef struct LogicalRepStreamAbortData
|
187
|
+
{
|
188
|
+
TransactionId xid;
|
189
|
+
TransactionId subxid;
|
190
|
+
XLogRecPtr abort_lsn;
|
191
|
+
TimestampTz abort_time;
|
192
|
+
} LogicalRepStreamAbortData;
|
193
|
+
|
194
|
+
extern void logicalrep_write_begin(StringInfo out, ReorderBufferTXN *txn);
|
195
|
+
extern void logicalrep_read_begin(StringInfo in,
|
196
|
+
LogicalRepBeginData *begin_data);
|
197
|
+
extern void logicalrep_write_commit(StringInfo out, ReorderBufferTXN *txn,
|
198
|
+
XLogRecPtr commit_lsn);
|
199
|
+
extern void logicalrep_read_commit(StringInfo in,
|
200
|
+
LogicalRepCommitData *commit_data);
|
201
|
+
extern void logicalrep_write_begin_prepare(StringInfo out, ReorderBufferTXN *txn);
|
202
|
+
extern void logicalrep_read_begin_prepare(StringInfo in,
|
203
|
+
LogicalRepPreparedTxnData *begin_data);
|
204
|
+
extern void logicalrep_write_prepare(StringInfo out, ReorderBufferTXN *txn,
|
205
|
+
XLogRecPtr prepare_lsn);
|
206
|
+
extern void logicalrep_read_prepare(StringInfo in,
|
207
|
+
LogicalRepPreparedTxnData *prepare_data);
|
208
|
+
extern void logicalrep_write_commit_prepared(StringInfo out, ReorderBufferTXN *txn,
|
209
|
+
XLogRecPtr commit_lsn);
|
210
|
+
extern void logicalrep_read_commit_prepared(StringInfo in,
|
211
|
+
LogicalRepCommitPreparedTxnData *prepare_data);
|
212
|
+
extern void logicalrep_write_rollback_prepared(StringInfo out, ReorderBufferTXN *txn,
|
213
|
+
XLogRecPtr prepare_end_lsn,
|
214
|
+
TimestampTz prepare_time);
|
215
|
+
extern void logicalrep_read_rollback_prepared(StringInfo in,
|
216
|
+
LogicalRepRollbackPreparedTxnData *rollback_data);
|
217
|
+
extern void logicalrep_write_stream_prepare(StringInfo out, ReorderBufferTXN *txn,
|
218
|
+
XLogRecPtr prepare_lsn);
|
219
|
+
extern void logicalrep_read_stream_prepare(StringInfo in,
|
220
|
+
LogicalRepPreparedTxnData *prepare_data);
|
221
|
+
|
222
|
+
extern void logicalrep_write_origin(StringInfo out, const char *origin,
|
223
|
+
XLogRecPtr origin_lsn);
|
224
|
+
extern char *logicalrep_read_origin(StringInfo in, XLogRecPtr *origin_lsn);
|
225
|
+
extern void logicalrep_write_insert(StringInfo out, TransactionId xid,
|
226
|
+
Relation rel,
|
227
|
+
TupleTableSlot *newslot,
|
228
|
+
bool binary, Bitmapset *columns);
|
229
|
+
extern LogicalRepRelId logicalrep_read_insert(StringInfo in, LogicalRepTupleData *newtup);
|
230
|
+
extern void logicalrep_write_update(StringInfo out, TransactionId xid,
|
231
|
+
Relation rel,
|
232
|
+
TupleTableSlot *oldslot,
|
233
|
+
TupleTableSlot *newslot, bool binary, Bitmapset *columns);
|
234
|
+
extern LogicalRepRelId logicalrep_read_update(StringInfo in,
|
235
|
+
bool *has_oldtuple, LogicalRepTupleData *oldtup,
|
236
|
+
LogicalRepTupleData *newtup);
|
237
|
+
extern void logicalrep_write_delete(StringInfo out, TransactionId xid,
|
238
|
+
Relation rel, TupleTableSlot *oldslot,
|
239
|
+
bool binary, Bitmapset *columns);
|
240
|
+
extern LogicalRepRelId logicalrep_read_delete(StringInfo in,
|
241
|
+
LogicalRepTupleData *oldtup);
|
242
|
+
extern void logicalrep_write_truncate(StringInfo out, TransactionId xid,
|
243
|
+
int nrelids, Oid relids[],
|
244
|
+
bool cascade, bool restart_seqs);
|
245
|
+
extern List *logicalrep_read_truncate(StringInfo in,
|
246
|
+
bool *cascade, bool *restart_seqs);
|
247
|
+
extern void logicalrep_write_message(StringInfo out, TransactionId xid, XLogRecPtr lsn,
|
248
|
+
bool transactional, const char *prefix, Size sz, const char *message);
|
249
|
+
extern void logicalrep_write_rel(StringInfo out, TransactionId xid,
|
250
|
+
Relation rel, Bitmapset *columns);
|
251
|
+
extern LogicalRepRelation *logicalrep_read_rel(StringInfo in);
|
252
|
+
extern void logicalrep_write_typ(StringInfo out, TransactionId xid,
|
253
|
+
Oid typoid);
|
254
|
+
extern void logicalrep_read_typ(StringInfo in, LogicalRepTyp *ltyp);
|
255
|
+
extern void logicalrep_write_stream_start(StringInfo out, TransactionId xid,
|
256
|
+
bool first_segment);
|
257
|
+
extern TransactionId logicalrep_read_stream_start(StringInfo in,
|
258
|
+
bool *first_segment);
|
259
|
+
extern void logicalrep_write_stream_stop(StringInfo out);
|
260
|
+
extern void logicalrep_write_stream_commit(StringInfo out, ReorderBufferTXN *txn,
|
261
|
+
XLogRecPtr commit_lsn);
|
262
|
+
extern TransactionId logicalrep_read_stream_commit(StringInfo in,
|
263
|
+
LogicalRepCommitData *commit_data);
|
264
|
+
extern void logicalrep_write_stream_abort(StringInfo out, TransactionId xid,
|
265
|
+
TransactionId subxid,
|
266
|
+
XLogRecPtr abort_lsn,
|
267
|
+
TimestampTz abort_time,
|
268
|
+
bool write_abort_info);
|
269
|
+
extern void logicalrep_read_stream_abort(StringInfo in,
|
270
|
+
LogicalRepStreamAbortData *abort_data,
|
271
|
+
bool read_abort_info);
|
272
|
+
extern const char *logicalrep_message_type(LogicalRepMsgType action);
|
273
|
+
|
274
|
+
#endif /* LOGICAL_PROTO_H */
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
*
|
3
|
+
* logicalworker.h
|
4
|
+
* Exports for logical replication workers.
|
5
|
+
*
|
6
|
+
* Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group
|
7
|
+
*
|
8
|
+
* src/include/replication/logicalworker.h
|
9
|
+
*
|
10
|
+
*-------------------------------------------------------------------------
|
11
|
+
*/
|
12
|
+
#ifndef LOGICALWORKER_H
|
13
|
+
#define LOGICALWORKER_H
|
14
|
+
|
15
|
+
#include <signal.h>
|
16
|
+
|
17
|
+
extern PGDLLIMPORT volatile sig_atomic_t ParallelApplyMessagePending;
|
18
|
+
|
19
|
+
extern void ApplyWorkerMain(Datum main_arg);
|
20
|
+
extern void ParallelApplyWorkerMain(Datum main_arg);
|
21
|
+
extern void TablesyncWorkerMain(Datum main_arg);
|
22
|
+
|
23
|
+
extern bool IsLogicalWorker(void);
|
24
|
+
extern bool IsLogicalParallelApplyWorker(void);
|
25
|
+
|
26
|
+
extern void HandleParallelApplyMessageInterrupt(void);
|
27
|
+
extern void HandleParallelApplyMessages(void);
|
28
|
+
|
29
|
+
extern void LogicalRepWorkersWakeupAtCommit(Oid subid);
|
30
|
+
|
31
|
+
extern void AtEOXact_LogicalRepWorkers(bool isCommit);
|
32
|
+
|
33
|
+
#endif /* LOGICALWORKER_H */
|
@@ -0,0 +1,73 @@
|
|
1
|
+
/*-------------------------------------------------------------------------
|
2
|
+
* origin.h
|
3
|
+
* Exports from replication/logical/origin.c
|
4
|
+
*
|
5
|
+
* Copyright (c) 2013-2024, PostgreSQL Global Development Group
|
6
|
+
*
|
7
|
+
* src/include/replication/origin.h
|
8
|
+
*-------------------------------------------------------------------------
|
9
|
+
*/
|
10
|
+
#ifndef PG_ORIGIN_H
|
11
|
+
#define PG_ORIGIN_H
|
12
|
+
|
13
|
+
#include "access/xlog.h"
|
14
|
+
#include "access/xlogdefs.h"
|
15
|
+
#include "access/xlogreader.h"
|
16
|
+
#include "catalog/pg_replication_origin.h"
|
17
|
+
|
18
|
+
typedef struct xl_replorigin_set
|
19
|
+
{
|
20
|
+
XLogRecPtr remote_lsn;
|
21
|
+
RepOriginId node_id;
|
22
|
+
bool force;
|
23
|
+
} xl_replorigin_set;
|
24
|
+
|
25
|
+
typedef struct xl_replorigin_drop
|
26
|
+
{
|
27
|
+
RepOriginId node_id;
|
28
|
+
} xl_replorigin_drop;
|
29
|
+
|
30
|
+
#define XLOG_REPLORIGIN_SET 0x00
|
31
|
+
#define XLOG_REPLORIGIN_DROP 0x10
|
32
|
+
|
33
|
+
#define InvalidRepOriginId 0
|
34
|
+
#define DoNotReplicateId PG_UINT16_MAX
|
35
|
+
|
36
|
+
extern PGDLLIMPORT RepOriginId replorigin_session_origin;
|
37
|
+
extern PGDLLIMPORT XLogRecPtr replorigin_session_origin_lsn;
|
38
|
+
extern PGDLLIMPORT TimestampTz replorigin_session_origin_timestamp;
|
39
|
+
|
40
|
+
/* API for querying & manipulating replication origins */
|
41
|
+
extern RepOriginId replorigin_by_name(const char *roname, bool missing_ok);
|
42
|
+
extern RepOriginId replorigin_create(const char *roname);
|
43
|
+
extern void replorigin_drop_by_name(const char *name, bool missing_ok, bool nowait);
|
44
|
+
extern bool replorigin_by_oid(RepOriginId roident, bool missing_ok,
|
45
|
+
char **roname);
|
46
|
+
|
47
|
+
/* API for querying & manipulating replication progress tracking */
|
48
|
+
extern void replorigin_advance(RepOriginId node,
|
49
|
+
XLogRecPtr remote_commit,
|
50
|
+
XLogRecPtr local_commit,
|
51
|
+
bool go_backward, bool wal_log);
|
52
|
+
extern XLogRecPtr replorigin_get_progress(RepOriginId node, bool flush);
|
53
|
+
|
54
|
+
extern void replorigin_session_advance(XLogRecPtr remote_commit,
|
55
|
+
XLogRecPtr local_commit);
|
56
|
+
extern void replorigin_session_setup(RepOriginId node, int acquired_by);
|
57
|
+
extern void replorigin_session_reset(void);
|
58
|
+
extern XLogRecPtr replorigin_session_get_progress(bool flush);
|
59
|
+
|
60
|
+
/* Checkpoint/Startup integration */
|
61
|
+
extern void CheckPointReplicationOrigin(void);
|
62
|
+
extern void StartupReplicationOrigin(void);
|
63
|
+
|
64
|
+
/* WAL logging */
|
65
|
+
extern void replorigin_redo(XLogReaderState *record);
|
66
|
+
extern void replorigin_desc(StringInfo buf, XLogReaderState *record);
|
67
|
+
extern const char *replorigin_identify(uint8 info);
|
68
|
+
|
69
|
+
/* shared memory allocation */
|
70
|
+
extern Size ReplicationOriginShmemSize(void);
|
71
|
+
extern void ReplicationOriginShmemInit(void);
|
72
|
+
|
73
|
+
#endif /* PG_ORIGIN_H */
|