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
@@ -1,347 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* proc.h
|
4
|
-
* per-process shared memory data structures
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/storage/proc.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef _PROC_H_
|
15
|
-
#define _PROC_H_
|
16
|
-
|
17
|
-
#include "access/clog.h"
|
18
|
-
#include "access/xlogdefs.h"
|
19
|
-
#include "lib/ilist.h"
|
20
|
-
#include "storage/latch.h"
|
21
|
-
#include "storage/lock.h"
|
22
|
-
#include "storage/pg_sema.h"
|
23
|
-
#include "storage/proclist_types.h"
|
24
|
-
|
25
|
-
/*
|
26
|
-
* Each backend advertises up to PGPROC_MAX_CACHED_SUBXIDS TransactionIds
|
27
|
-
* for non-aborted subtransactions of its current top transaction. These
|
28
|
-
* have to be treated as running XIDs by other backends.
|
29
|
-
*
|
30
|
-
* We also keep track of whether the cache overflowed (ie, the transaction has
|
31
|
-
* generated at least one subtransaction that didn't fit in the cache).
|
32
|
-
* If none of the caches have overflowed, we can assume that an XID that's not
|
33
|
-
* listed anywhere in the PGPROC array is not a running transaction. Else we
|
34
|
-
* have to look at pg_subtrans.
|
35
|
-
*/
|
36
|
-
#define PGPROC_MAX_CACHED_SUBXIDS 64 /* XXX guessed-at value */
|
37
|
-
|
38
|
-
struct XidCache
|
39
|
-
{
|
40
|
-
TransactionId xids[PGPROC_MAX_CACHED_SUBXIDS];
|
41
|
-
};
|
42
|
-
|
43
|
-
/*
|
44
|
-
* Flags for PGXACT->vacuumFlags
|
45
|
-
*
|
46
|
-
* Note: If you modify these flags, you need to modify PROCARRAY_XXX flags
|
47
|
-
* in src/include/storage/procarray.h.
|
48
|
-
*
|
49
|
-
* PROC_RESERVED may later be assigned for use in vacuumFlags, but its value is
|
50
|
-
* used for PROCARRAY_SLOTS_XMIN in procarray.h, so GetOldestXmin won't be able
|
51
|
-
* to match and ignore processes with this flag set.
|
52
|
-
*/
|
53
|
-
#define PROC_IS_AUTOVACUUM 0x01 /* is it an autovac worker? */
|
54
|
-
#define PROC_IN_VACUUM 0x02 /* currently running lazy vacuum */
|
55
|
-
#define PROC_IN_ANALYZE 0x04 /* currently running analyze */
|
56
|
-
#define PROC_VACUUM_FOR_WRAPAROUND 0x08 /* set by autovac only */
|
57
|
-
#define PROC_IN_LOGICAL_DECODING 0x10 /* currently doing logical
|
58
|
-
* decoding outside xact */
|
59
|
-
#define PROC_RESERVED 0x20 /* reserved for procarray */
|
60
|
-
|
61
|
-
/* flags reset at EOXact */
|
62
|
-
#define PROC_VACUUM_STATE_MASK \
|
63
|
-
(PROC_IN_VACUUM | PROC_IN_ANALYZE | PROC_VACUUM_FOR_WRAPAROUND)
|
64
|
-
|
65
|
-
/*
|
66
|
-
* Xmin-related flags. Make sure any flags that affect how the process' Xmin
|
67
|
-
* value is interpreted by VACUUM are included here.
|
68
|
-
*/
|
69
|
-
#define PROC_XMIN_FLAGS (PROC_IN_VACUUM)
|
70
|
-
|
71
|
-
/*
|
72
|
-
* We allow a small number of "weak" relation locks (AccessShareLock,
|
73
|
-
* RowShareLock, RowExclusiveLock) to be recorded in the PGPROC structure
|
74
|
-
* rather than the main lock table. This eases contention on the lock
|
75
|
-
* manager LWLocks. See storage/lmgr/README for additional details.
|
76
|
-
*/
|
77
|
-
#define FP_LOCK_SLOTS_PER_BACKEND 16
|
78
|
-
|
79
|
-
/*
|
80
|
-
* An invalid pgprocno. Must be larger than the maximum number of PGPROC
|
81
|
-
* structures we could possibly have. See comments for MAX_BACKENDS.
|
82
|
-
*/
|
83
|
-
#define INVALID_PGPROCNO PG_INT32_MAX
|
84
|
-
|
85
|
-
/*
|
86
|
-
* Flags used only for type of internal functions
|
87
|
-
* GetVirtualXIDsDelayingChkptGuts and HaveVirtualXIDsDelayingChkptGuts.
|
88
|
-
*/
|
89
|
-
#define DELAY_CHKPT_START (1<<0)
|
90
|
-
#define DELAY_CHKPT_COMPLETE (1<<1)
|
91
|
-
|
92
|
-
/*
|
93
|
-
* Each backend has a PGPROC struct in shared memory. There is also a list of
|
94
|
-
* currently-unused PGPROC structs that will be reallocated to new backends.
|
95
|
-
*
|
96
|
-
* links: list link for any list the PGPROC is in. When waiting for a lock,
|
97
|
-
* the PGPROC is linked into that lock's waitProcs queue. A recycled PGPROC
|
98
|
-
* is linked into ProcGlobal's freeProcs list.
|
99
|
-
*
|
100
|
-
* Note: twophase.c also sets up a dummy PGPROC struct for each currently
|
101
|
-
* prepared transaction. These PGPROCs appear in the ProcArray data structure
|
102
|
-
* so that the prepared transactions appear to be still running and are
|
103
|
-
* correctly shown as holding locks. A prepared transaction PGPROC can be
|
104
|
-
* distinguished from a real one at need by the fact that it has pid == 0.
|
105
|
-
* The semaphore and lock-activity fields in a prepared-xact PGPROC are unused,
|
106
|
-
* but its myProcLocks[] lists are valid.
|
107
|
-
*/
|
108
|
-
struct PGPROC
|
109
|
-
{
|
110
|
-
/* proc->links MUST BE FIRST IN STRUCT (see ProcSleep,ProcWakeup,etc) */
|
111
|
-
SHM_QUEUE links; /* list link if process is in a list */
|
112
|
-
PGPROC **procgloballist; /* procglobal list that owns this PGPROC */
|
113
|
-
|
114
|
-
PGSemaphore sem; /* ONE semaphore to sleep on */
|
115
|
-
int waitStatus; /* STATUS_WAITING, STATUS_OK or STATUS_ERROR */
|
116
|
-
|
117
|
-
Latch procLatch; /* generic latch for process */
|
118
|
-
|
119
|
-
LocalTransactionId lxid; /* local id of top-level transaction currently
|
120
|
-
* being executed by this proc, if running;
|
121
|
-
* else InvalidLocalTransactionId */
|
122
|
-
int pid; /* Backend's process ID; 0 if prepared xact */
|
123
|
-
int pgprocno;
|
124
|
-
|
125
|
-
/* These fields are zero while a backend is still starting up: */
|
126
|
-
BackendId backendId; /* This backend's backend ID (if assigned) */
|
127
|
-
Oid databaseId; /* OID of database this backend is using */
|
128
|
-
Oid roleId; /* OID of role using this backend */
|
129
|
-
|
130
|
-
Oid tempNamespaceId; /* OID of temp schema this backend is
|
131
|
-
* using */
|
132
|
-
|
133
|
-
bool isBackgroundWorker; /* true if background worker. */
|
134
|
-
|
135
|
-
/*
|
136
|
-
* While in hot standby mode, shows that a conflict signal has been sent
|
137
|
-
* for the current transaction. Set/cleared while holding ProcArrayLock,
|
138
|
-
* though not required. Accessed without lock, if needed.
|
139
|
-
*/
|
140
|
-
bool recoveryConflictPending;
|
141
|
-
|
142
|
-
/* Info about LWLock the process is currently waiting for, if any. */
|
143
|
-
bool lwWaiting; /* true if waiting for an LW lock */
|
144
|
-
uint8 lwWaitMode; /* lwlock mode being waited for */
|
145
|
-
proclist_node lwWaitLink; /* position in LW lock wait list */
|
146
|
-
|
147
|
-
/* Support for condition variables. */
|
148
|
-
proclist_node cvWaitLink; /* position in CV wait list */
|
149
|
-
|
150
|
-
/* Info about lock the process is currently waiting for, if any. */
|
151
|
-
/* waitLock and waitProcLock are NULL if not currently waiting. */
|
152
|
-
LOCK *waitLock; /* Lock object we're sleeping on ... */
|
153
|
-
PROCLOCK *waitProcLock; /* Per-holder info for awaited lock */
|
154
|
-
LOCKMODE waitLockMode; /* type of lock we're waiting for */
|
155
|
-
LOCKMASK heldLocks; /* bitmask for lock types already held on this
|
156
|
-
* lock object by this backend */
|
157
|
-
|
158
|
-
bool delayChkpt; /* true if this proc delays checkpoint start */
|
159
|
-
bool delayChkptEnd; /* true if this proc delays checkpoint end */
|
160
|
-
|
161
|
-
/*
|
162
|
-
* Info to allow us to wait for synchronous replication, if needed.
|
163
|
-
* waitLSN is InvalidXLogRecPtr if not waiting; set only by user backend.
|
164
|
-
* syncRepState must not be touched except by owning process or WALSender.
|
165
|
-
* syncRepLinks used only while holding SyncRepLock.
|
166
|
-
*/
|
167
|
-
XLogRecPtr waitLSN; /* waiting for this LSN or higher */
|
168
|
-
int syncRepState; /* wait state for sync rep */
|
169
|
-
SHM_QUEUE syncRepLinks; /* list link if process is in syncrep queue */
|
170
|
-
|
171
|
-
/*
|
172
|
-
* All PROCLOCK objects for locks held or awaited by this backend are
|
173
|
-
* linked into one of these lists, according to the partition number of
|
174
|
-
* their lock.
|
175
|
-
*/
|
176
|
-
SHM_QUEUE myProcLocks[NUM_LOCK_PARTITIONS];
|
177
|
-
|
178
|
-
struct XidCache subxids; /* cache for subtransaction XIDs */
|
179
|
-
|
180
|
-
/* Support for group XID clearing. */
|
181
|
-
/* true, if member of ProcArray group waiting for XID clear */
|
182
|
-
bool procArrayGroupMember;
|
183
|
-
/* next ProcArray group member waiting for XID clear */
|
184
|
-
pg_atomic_uint32 procArrayGroupNext;
|
185
|
-
|
186
|
-
/*
|
187
|
-
* latest transaction id among the transaction's main XID and
|
188
|
-
* subtransactions
|
189
|
-
*/
|
190
|
-
TransactionId procArrayGroupMemberXid;
|
191
|
-
|
192
|
-
uint32 wait_event_info; /* proc's wait information */
|
193
|
-
|
194
|
-
/* Support for group transaction status update. */
|
195
|
-
bool clogGroupMember; /* true, if member of clog group */
|
196
|
-
pg_atomic_uint32 clogGroupNext; /* next clog group member */
|
197
|
-
TransactionId clogGroupMemberXid; /* transaction id of clog group member */
|
198
|
-
XidStatus clogGroupMemberXidStatus; /* transaction status of clog
|
199
|
-
* group member */
|
200
|
-
int clogGroupMemberPage; /* clog page corresponding to
|
201
|
-
* transaction id of clog group member */
|
202
|
-
XLogRecPtr clogGroupMemberLsn; /* WAL location of commit record for clog
|
203
|
-
* group member */
|
204
|
-
|
205
|
-
/* Lock manager data, recording fast-path locks taken by this backend. */
|
206
|
-
LWLock fpInfoLock; /* protects per-backend fast-path state */
|
207
|
-
uint64 fpLockBits; /* lock modes held for each fast-path slot */
|
208
|
-
Oid fpRelId[FP_LOCK_SLOTS_PER_BACKEND]; /* slots for rel oids */
|
209
|
-
bool fpVXIDLock; /* are we holding a fast-path VXID lock? */
|
210
|
-
LocalTransactionId fpLocalTransactionId; /* lxid for fast-path VXID
|
211
|
-
* lock */
|
212
|
-
|
213
|
-
/*
|
214
|
-
* Support for lock groups. Use LockHashPartitionLockByProc on the group
|
215
|
-
* leader to get the LWLock protecting these fields.
|
216
|
-
*/
|
217
|
-
PGPROC *lockGroupLeader; /* lock group leader, if I'm a member */
|
218
|
-
dlist_head lockGroupMembers; /* list of members, if I'm a leader */
|
219
|
-
dlist_node lockGroupLink; /* my member link, if I'm a member */
|
220
|
-
};
|
221
|
-
|
222
|
-
/* NOTE: "typedef struct PGPROC PGPROC" appears in storage/lock.h. */
|
223
|
-
|
224
|
-
|
225
|
-
extern PGDLLIMPORT PGPROC *MyProc;
|
226
|
-
extern PGDLLIMPORT struct PGXACT *MyPgXact;
|
227
|
-
|
228
|
-
/*
|
229
|
-
* Prior to PostgreSQL 9.2, the fields below were stored as part of the
|
230
|
-
* PGPROC. However, benchmarking revealed that packing these particular
|
231
|
-
* members into a separate array as tightly as possible sped up GetSnapshotData
|
232
|
-
* considerably on systems with many CPU cores, by reducing the number of
|
233
|
-
* cache lines needing to be fetched. Thus, think very carefully before adding
|
234
|
-
* anything else here.
|
235
|
-
*/
|
236
|
-
typedef struct PGXACT
|
237
|
-
{
|
238
|
-
TransactionId xid; /* id of top-level transaction currently being
|
239
|
-
* executed by this proc, if running and XID
|
240
|
-
* is assigned; else InvalidTransactionId */
|
241
|
-
|
242
|
-
TransactionId xmin; /* minimal running XID as it was when we were
|
243
|
-
* starting our xact, excluding LAZY VACUUM:
|
244
|
-
* vacuum must not remove tuples deleted by
|
245
|
-
* xid >= xmin ! */
|
246
|
-
|
247
|
-
uint8 vacuumFlags; /* vacuum-related flags, see above */
|
248
|
-
bool overflowed;
|
249
|
-
|
250
|
-
uint8 nxids;
|
251
|
-
} PGXACT;
|
252
|
-
|
253
|
-
/*
|
254
|
-
* There is one ProcGlobal struct for the whole database cluster.
|
255
|
-
*/
|
256
|
-
typedef struct PROC_HDR
|
257
|
-
{
|
258
|
-
/* Array of PGPROC structures (not including dummies for prepared txns) */
|
259
|
-
PGPROC *allProcs;
|
260
|
-
/* Array of PGXACT structures (not including dummies for prepared txns) */
|
261
|
-
PGXACT *allPgXact;
|
262
|
-
/* Length of allProcs array */
|
263
|
-
uint32 allProcCount;
|
264
|
-
/* Head of list of free PGPROC structures */
|
265
|
-
PGPROC *freeProcs;
|
266
|
-
/* Head of list of autovacuum's free PGPROC structures */
|
267
|
-
PGPROC *autovacFreeProcs;
|
268
|
-
/* Head of list of bgworker free PGPROC structures */
|
269
|
-
PGPROC *bgworkerFreeProcs;
|
270
|
-
/* Head of list of walsender free PGPROC structures */
|
271
|
-
PGPROC *walsenderFreeProcs;
|
272
|
-
/* First pgproc waiting for group XID clear */
|
273
|
-
pg_atomic_uint32 procArrayGroupFirst;
|
274
|
-
/* First pgproc waiting for group transaction status update */
|
275
|
-
pg_atomic_uint32 clogGroupFirst;
|
276
|
-
/* WALWriter process's latch */
|
277
|
-
Latch *walwriterLatch;
|
278
|
-
/* Checkpointer process's latch */
|
279
|
-
Latch *checkpointerLatch;
|
280
|
-
/* Current shared estimate of appropriate spins_per_delay value */
|
281
|
-
int spins_per_delay;
|
282
|
-
/* The proc of the Startup process, since not in ProcArray */
|
283
|
-
PGPROC *startupProc;
|
284
|
-
int startupProcPid;
|
285
|
-
/* Buffer id of the buffer that Startup process waits for pin on, or -1 */
|
286
|
-
int startupBufferPinWaitBufId;
|
287
|
-
} PROC_HDR;
|
288
|
-
|
289
|
-
extern PGDLLIMPORT PROC_HDR *ProcGlobal;
|
290
|
-
|
291
|
-
extern PGPROC *PreparedXactProcs;
|
292
|
-
|
293
|
-
/* Accessor for PGPROC given a pgprocno. */
|
294
|
-
#define GetPGProcByNumber(n) (&ProcGlobal->allProcs[(n)])
|
295
|
-
|
296
|
-
/*
|
297
|
-
* We set aside some extra PGPROC structures for auxiliary processes,
|
298
|
-
* ie things that aren't full-fledged backends but need shmem access.
|
299
|
-
*
|
300
|
-
* Background writer, checkpointer and WAL writer run during normal operation.
|
301
|
-
* Startup process and WAL receiver also consume 2 slots, but WAL writer is
|
302
|
-
* launched only after startup has exited, so we only need 4 slots.
|
303
|
-
*/
|
304
|
-
#define NUM_AUXILIARY_PROCS 4
|
305
|
-
|
306
|
-
/* configurable options */
|
307
|
-
extern PGDLLIMPORT int DeadlockTimeout;
|
308
|
-
extern PGDLLIMPORT int StatementTimeout;
|
309
|
-
extern PGDLLIMPORT int LockTimeout;
|
310
|
-
extern PGDLLIMPORT int IdleInTransactionSessionTimeout;
|
311
|
-
extern bool log_lock_waits;
|
312
|
-
|
313
|
-
|
314
|
-
/*
|
315
|
-
* Function Prototypes
|
316
|
-
*/
|
317
|
-
extern int ProcGlobalSemas(void);
|
318
|
-
extern Size ProcGlobalShmemSize(void);
|
319
|
-
extern void InitProcGlobal(void);
|
320
|
-
extern void InitProcess(void);
|
321
|
-
extern void InitProcessPhase2(void);
|
322
|
-
extern void InitAuxiliaryProcess(void);
|
323
|
-
|
324
|
-
extern void PublishStartupProcessInformation(void);
|
325
|
-
extern void SetStartupBufferPinWaitBufId(int bufid);
|
326
|
-
extern int GetStartupBufferPinWaitBufId(void);
|
327
|
-
|
328
|
-
extern bool HaveNFreeProcs(int n);
|
329
|
-
extern void ProcReleaseLocks(bool isCommit);
|
330
|
-
|
331
|
-
extern void ProcQueueInit(PROC_QUEUE *queue);
|
332
|
-
extern int ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable);
|
333
|
-
extern PGPROC *ProcWakeup(PGPROC *proc, int waitStatus);
|
334
|
-
extern void ProcLockWakeup(LockMethod lockMethodTable, LOCK *lock);
|
335
|
-
extern void CheckDeadLockAlert(void);
|
336
|
-
extern bool IsWaitingForLock(void);
|
337
|
-
extern void LockErrorCleanup(void);
|
338
|
-
|
339
|
-
extern void ProcWaitForSignal(uint32 wait_event_info);
|
340
|
-
extern void ProcSendSignal(int pid);
|
341
|
-
|
342
|
-
extern PGPROC *AuxiliaryPidGetProc(int pid);
|
343
|
-
|
344
|
-
extern void BecomeLockGroupLeader(void);
|
345
|
-
extern bool BecomeLockGroupMember(PGPROC *leader, int pid);
|
346
|
-
|
347
|
-
#endif /* _PROC_H_ */
|
@@ -1,51 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* proclist_types.h
|
4
|
-
* doubly-linked lists of pgprocnos
|
5
|
-
*
|
6
|
-
* See proclist.h for functions that operate on these types.
|
7
|
-
*
|
8
|
-
* Portions Copyright (c) 2016-2020, PostgreSQL Global Development Group
|
9
|
-
*
|
10
|
-
* IDENTIFICATION
|
11
|
-
* src/include/storage/proclist_types.h
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
|
15
|
-
#ifndef PROCLIST_TYPES_H
|
16
|
-
#define PROCLIST_TYPES_H
|
17
|
-
|
18
|
-
/*
|
19
|
-
* A node in a doubly-linked list of processes. The link fields contain
|
20
|
-
* the 0-based PGPROC indexes of the next and previous process, or
|
21
|
-
* INVALID_PGPROCNO in the next-link of the last node and the prev-link
|
22
|
-
* of the first node. A node that is currently not in any list
|
23
|
-
* should have next == prev == 0; this is not a possible state for a node
|
24
|
-
* that is in a list, because we disallow circularity.
|
25
|
-
*/
|
26
|
-
typedef struct proclist_node
|
27
|
-
{
|
28
|
-
int next; /* pgprocno of the next PGPROC */
|
29
|
-
int prev; /* pgprocno of the prev PGPROC */
|
30
|
-
} proclist_node;
|
31
|
-
|
32
|
-
/*
|
33
|
-
* Header of a doubly-linked list of PGPROCs, identified by pgprocno.
|
34
|
-
* An empty list is represented by head == tail == INVALID_PGPROCNO.
|
35
|
-
*/
|
36
|
-
typedef struct proclist_head
|
37
|
-
{
|
38
|
-
int head; /* pgprocno of the head PGPROC */
|
39
|
-
int tail; /* pgprocno of the tail PGPROC */
|
40
|
-
} proclist_head;
|
41
|
-
|
42
|
-
/*
|
43
|
-
* List iterator allowing some modifications while iterating.
|
44
|
-
*/
|
45
|
-
typedef struct proclist_mutable_iter
|
46
|
-
{
|
47
|
-
int cur; /* pgprocno of the current PGPROC */
|
48
|
-
int next; /* pgprocno of the next PGPROC */
|
49
|
-
} proclist_mutable_iter;
|
50
|
-
|
51
|
-
#endif /* PROCLIST_TYPES_H */
|
@@ -1,75 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* procsignal.h
|
4
|
-
* Routines for interprocess signaling
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/storage/procsignal.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef PROCSIGNAL_H
|
15
|
-
#define PROCSIGNAL_H
|
16
|
-
|
17
|
-
#include "storage/backendid.h"
|
18
|
-
|
19
|
-
|
20
|
-
/*
|
21
|
-
* Reasons for signaling a Postgres child process (a backend or an auxiliary
|
22
|
-
* process, like checkpointer). We can cope with concurrent signals for different
|
23
|
-
* reasons. However, if the same reason is signaled multiple times in quick
|
24
|
-
* succession, the process is likely to observe only one notification of it.
|
25
|
-
* This is okay for the present uses.
|
26
|
-
*
|
27
|
-
* Also, because of race conditions, it's important that all the signals be
|
28
|
-
* defined so that no harm is done if a process mistakenly receives one.
|
29
|
-
*/
|
30
|
-
typedef enum
|
31
|
-
{
|
32
|
-
PROCSIG_CATCHUP_INTERRUPT, /* sinval catchup interrupt */
|
33
|
-
PROCSIG_NOTIFY_INTERRUPT, /* listen/notify interrupt */
|
34
|
-
PROCSIG_PARALLEL_MESSAGE, /* message from cooperating parallel backend */
|
35
|
-
PROCSIG_WALSND_INIT_STOPPING, /* ask walsenders to prepare for shutdown */
|
36
|
-
PROCSIG_BARRIER, /* global barrier interrupt */
|
37
|
-
|
38
|
-
/* Recovery conflict reasons */
|
39
|
-
PROCSIG_RECOVERY_CONFLICT_DATABASE,
|
40
|
-
PROCSIG_RECOVERY_CONFLICT_TABLESPACE,
|
41
|
-
PROCSIG_RECOVERY_CONFLICT_LOCK,
|
42
|
-
PROCSIG_RECOVERY_CONFLICT_SNAPSHOT,
|
43
|
-
PROCSIG_RECOVERY_CONFLICT_BUFFERPIN,
|
44
|
-
PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK,
|
45
|
-
|
46
|
-
NUM_PROCSIGNALS /* Must be last! */
|
47
|
-
} ProcSignalReason;
|
48
|
-
|
49
|
-
typedef enum
|
50
|
-
{
|
51
|
-
/*
|
52
|
-
* XXX. PROCSIGNAL_BARRIER_PLACEHOLDER should be replaced when the first
|
53
|
-
* real user of the ProcSignalBarrier mechanism is added. It's just here
|
54
|
-
* for now because we can't have an empty enum.
|
55
|
-
*/
|
56
|
-
PROCSIGNAL_BARRIER_PLACEHOLDER = 0
|
57
|
-
} ProcSignalBarrierType;
|
58
|
-
|
59
|
-
/*
|
60
|
-
* prototypes for functions in procsignal.c
|
61
|
-
*/
|
62
|
-
extern Size ProcSignalShmemSize(void);
|
63
|
-
extern void ProcSignalShmemInit(void);
|
64
|
-
|
65
|
-
extern void ProcSignalInit(int pss_idx);
|
66
|
-
extern int SendProcSignal(pid_t pid, ProcSignalReason reason,
|
67
|
-
BackendId backendId);
|
68
|
-
|
69
|
-
extern uint64 EmitProcSignalBarrier(ProcSignalBarrierType type);
|
70
|
-
extern void WaitForProcSignalBarrier(uint64 generation);
|
71
|
-
extern void ProcessProcSignalBarrier(void);
|
72
|
-
|
73
|
-
extern void procsignal_sigusr1_handler(SIGNAL_ARGS);
|
74
|
-
|
75
|
-
#endif /* PROCSIGNAL_H */
|
@@ -1,99 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* relfilenode.h
|
4
|
-
* Physical access information for relations.
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/storage/relfilenode.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef RELFILENODE_H
|
15
|
-
#define RELFILENODE_H
|
16
|
-
|
17
|
-
#include "common/relpath.h"
|
18
|
-
#include "storage/backendid.h"
|
19
|
-
|
20
|
-
/*
|
21
|
-
* RelFileNode must provide all that we need to know to physically access
|
22
|
-
* a relation, with the exception of the backend ID, which can be provided
|
23
|
-
* separately. Note, however, that a "physical" relation is comprised of
|
24
|
-
* multiple files on the filesystem, as each fork is stored as a separate
|
25
|
-
* file, and each fork can be divided into multiple segments. See md.c.
|
26
|
-
*
|
27
|
-
* spcNode identifies the tablespace of the relation. It corresponds to
|
28
|
-
* pg_tablespace.oid.
|
29
|
-
*
|
30
|
-
* dbNode identifies the database of the relation. It is zero for
|
31
|
-
* "shared" relations (those common to all databases of a cluster).
|
32
|
-
* Nonzero dbNode values correspond to pg_database.oid.
|
33
|
-
*
|
34
|
-
* relNode identifies the specific relation. relNode corresponds to
|
35
|
-
* pg_class.relfilenode (NOT pg_class.oid, because we need to be able
|
36
|
-
* to assign new physical files to relations in some situations).
|
37
|
-
* Notice that relNode is only unique within a database in a particular
|
38
|
-
* tablespace.
|
39
|
-
*
|
40
|
-
* Note: spcNode must be GLOBALTABLESPACE_OID if and only if dbNode is
|
41
|
-
* zero. We support shared relations only in the "global" tablespace.
|
42
|
-
*
|
43
|
-
* Note: in pg_class we allow reltablespace == 0 to denote that the
|
44
|
-
* relation is stored in its database's "default" tablespace (as
|
45
|
-
* identified by pg_database.dattablespace). However this shorthand
|
46
|
-
* is NOT allowed in RelFileNode structs --- the real tablespace ID
|
47
|
-
* must be supplied when setting spcNode.
|
48
|
-
*
|
49
|
-
* Note: in pg_class, relfilenode can be zero to denote that the relation
|
50
|
-
* is a "mapped" relation, whose current true filenode number is available
|
51
|
-
* from relmapper.c. Again, this case is NOT allowed in RelFileNodes.
|
52
|
-
*
|
53
|
-
* Note: various places use RelFileNode in hashtable keys. Therefore,
|
54
|
-
* there *must not* be any unused padding bytes in this struct. That
|
55
|
-
* should be safe as long as all the fields are of type Oid.
|
56
|
-
*/
|
57
|
-
typedef struct RelFileNode
|
58
|
-
{
|
59
|
-
Oid spcNode; /* tablespace */
|
60
|
-
Oid dbNode; /* database */
|
61
|
-
Oid relNode; /* relation */
|
62
|
-
} RelFileNode;
|
63
|
-
|
64
|
-
/*
|
65
|
-
* Augmenting a relfilenode with the backend ID provides all the information
|
66
|
-
* we need to locate the physical storage. The backend ID is InvalidBackendId
|
67
|
-
* for regular relations (those accessible to more than one backend), or the
|
68
|
-
* owning backend's ID for backend-local relations. Backend-local relations
|
69
|
-
* are always transient and removed in case of a database crash; they are
|
70
|
-
* never WAL-logged or fsync'd.
|
71
|
-
*/
|
72
|
-
typedef struct RelFileNodeBackend
|
73
|
-
{
|
74
|
-
RelFileNode node;
|
75
|
-
BackendId backend;
|
76
|
-
} RelFileNodeBackend;
|
77
|
-
|
78
|
-
#define RelFileNodeBackendIsTemp(rnode) \
|
79
|
-
((rnode).backend != InvalidBackendId)
|
80
|
-
|
81
|
-
/*
|
82
|
-
* Note: RelFileNodeEquals and RelFileNodeBackendEquals compare relNode first
|
83
|
-
* since that is most likely to be different in two unequal RelFileNodes. It
|
84
|
-
* is probably redundant to compare spcNode if the other fields are found equal,
|
85
|
-
* but do it anyway to be sure. Likewise for checking the backend ID in
|
86
|
-
* RelFileNodeBackendEquals.
|
87
|
-
*/
|
88
|
-
#define RelFileNodeEquals(node1, node2) \
|
89
|
-
((node1).relNode == (node2).relNode && \
|
90
|
-
(node1).dbNode == (node2).dbNode && \
|
91
|
-
(node1).spcNode == (node2).spcNode)
|
92
|
-
|
93
|
-
#define RelFileNodeBackendEquals(node1, node2) \
|
94
|
-
((node1).node.relNode == (node2).node.relNode && \
|
95
|
-
(node1).node.dbNode == (node2).node.dbNode && \
|
96
|
-
(node1).backend == (node2).backend && \
|
97
|
-
(node1).node.spcNode == (node2).node.spcNode)
|
98
|
-
|
99
|
-
#endif /* RELFILENODE_H */
|