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,337 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* xlogreader.h
|
4
|
-
* Definitions for the generic XLog reading facility
|
5
|
-
*
|
6
|
-
* Portions Copyright (c) 2013-2020, PostgreSQL Global Development Group
|
7
|
-
*
|
8
|
-
* IDENTIFICATION
|
9
|
-
* src/include/access/xlogreader.h
|
10
|
-
*
|
11
|
-
* NOTES
|
12
|
-
* See the definition of the XLogReaderState struct for instructions on
|
13
|
-
* how to use the XLogReader infrastructure.
|
14
|
-
*
|
15
|
-
* The basic idea is to allocate an XLogReaderState via
|
16
|
-
* XLogReaderAllocate(), position the reader to the first record with
|
17
|
-
* XLogBeginRead() or XLogFindNextRecord(), and call XLogReadRecord()
|
18
|
-
* until it returns NULL.
|
19
|
-
*
|
20
|
-
* Callers supply a page_read callback if they want to to call
|
21
|
-
* XLogReadRecord or XLogFindNextRecord; it can be passed in as NULL
|
22
|
-
* otherwise. The WALRead function can be used as a helper to write
|
23
|
-
* page_read callbacks, but it is not mandatory; callers that use it,
|
24
|
-
* must supply segment_open callbacks. The segment_close callback
|
25
|
-
* must always be supplied.
|
26
|
-
*
|
27
|
-
* After reading a record with XLogReadRecord(), it's decomposed into
|
28
|
-
* the per-block and main data parts, and the parts can be accessed
|
29
|
-
* with the XLogRec* macros and functions. You can also decode a
|
30
|
-
* record that's already constructed in memory, without reading from
|
31
|
-
* disk, by calling the DecodeXLogRecord() function.
|
32
|
-
*-------------------------------------------------------------------------
|
33
|
-
*/
|
34
|
-
#ifndef XLOGREADER_H
|
35
|
-
#define XLOGREADER_H
|
36
|
-
|
37
|
-
#ifndef FRONTEND
|
38
|
-
#include "access/transam.h"
|
39
|
-
#endif
|
40
|
-
|
41
|
-
#include "access/xlogrecord.h"
|
42
|
-
|
43
|
-
/* WALOpenSegment represents a WAL segment being read. */
|
44
|
-
typedef struct WALOpenSegment
|
45
|
-
{
|
46
|
-
int ws_file; /* segment file descriptor */
|
47
|
-
XLogSegNo ws_segno; /* segment number */
|
48
|
-
TimeLineID ws_tli; /* timeline ID of the currently open file */
|
49
|
-
} WALOpenSegment;
|
50
|
-
|
51
|
-
/* WALSegmentContext carries context information about WAL segments to read */
|
52
|
-
typedef struct WALSegmentContext
|
53
|
-
{
|
54
|
-
char ws_dir[MAXPGPATH];
|
55
|
-
int ws_segsize;
|
56
|
-
} WALSegmentContext;
|
57
|
-
|
58
|
-
typedef struct XLogReaderState XLogReaderState;
|
59
|
-
|
60
|
-
/* Function type definitions for various xlogreader interactions */
|
61
|
-
typedef int (*XLogPageReadCB) (XLogReaderState *xlogreader,
|
62
|
-
XLogRecPtr targetPagePtr,
|
63
|
-
int reqLen,
|
64
|
-
XLogRecPtr targetRecPtr,
|
65
|
-
char *readBuf);
|
66
|
-
typedef void (*WALSegmentOpenCB) (XLogReaderState *xlogreader,
|
67
|
-
XLogSegNo nextSegNo,
|
68
|
-
TimeLineID *tli_p);
|
69
|
-
typedef void (*WALSegmentCloseCB) (XLogReaderState *xlogreader);
|
70
|
-
|
71
|
-
typedef struct XLogReaderRoutine
|
72
|
-
{
|
73
|
-
/*
|
74
|
-
* Data input callback
|
75
|
-
*
|
76
|
-
* This callback shall read at least reqLen valid bytes of the xlog page
|
77
|
-
* starting at targetPagePtr, and store them in readBuf. The callback
|
78
|
-
* shall return the number of bytes read (never more than XLOG_BLCKSZ), or
|
79
|
-
* -1 on failure. The callback shall sleep, if necessary, to wait for the
|
80
|
-
* requested bytes to become available. The callback will not be invoked
|
81
|
-
* again for the same page unless more than the returned number of bytes
|
82
|
-
* are needed.
|
83
|
-
*
|
84
|
-
* targetRecPtr is the position of the WAL record we're reading. Usually
|
85
|
-
* it is equal to targetPagePtr + reqLen, but sometimes xlogreader needs
|
86
|
-
* to read and verify the page or segment header, before it reads the
|
87
|
-
* actual WAL record it's interested in. In that case, targetRecPtr can
|
88
|
-
* be used to determine which timeline to read the page from.
|
89
|
-
*
|
90
|
-
* The callback shall set ->seg.ws_tli to the TLI of the file the page was
|
91
|
-
* read from.
|
92
|
-
*/
|
93
|
-
XLogPageReadCB page_read;
|
94
|
-
|
95
|
-
/*
|
96
|
-
* Callback to open the specified WAL segment for reading. ->seg.ws_file
|
97
|
-
* shall be set to the file descriptor of the opened segment. In case of
|
98
|
-
* failure, an error shall be raised by the callback and it shall not
|
99
|
-
* return.
|
100
|
-
*
|
101
|
-
* "nextSegNo" is the number of the segment to be opened.
|
102
|
-
*
|
103
|
-
* "tli_p" is an input/output argument. WALRead() uses it to pass the
|
104
|
-
* timeline in which the new segment should be found, but the callback can
|
105
|
-
* use it to return the TLI that it actually opened.
|
106
|
-
*/
|
107
|
-
WALSegmentOpenCB segment_open;
|
108
|
-
|
109
|
-
/*
|
110
|
-
* WAL segment close callback. ->seg.ws_file shall be set to a negative
|
111
|
-
* number.
|
112
|
-
*/
|
113
|
-
WALSegmentCloseCB segment_close;
|
114
|
-
} XLogReaderRoutine;
|
115
|
-
|
116
|
-
#define XL_ROUTINE(...) &(XLogReaderRoutine){__VA_ARGS__}
|
117
|
-
|
118
|
-
typedef struct
|
119
|
-
{
|
120
|
-
/* Is this block ref in use? */
|
121
|
-
bool in_use;
|
122
|
-
|
123
|
-
/* Identify the block this refers to */
|
124
|
-
RelFileNode rnode;
|
125
|
-
ForkNumber forknum;
|
126
|
-
BlockNumber blkno;
|
127
|
-
|
128
|
-
/* copy of the fork_flags field from the XLogRecordBlockHeader */
|
129
|
-
uint8 flags;
|
130
|
-
|
131
|
-
/* Information on full-page image, if any */
|
132
|
-
bool has_image; /* has image, even for consistency checking */
|
133
|
-
bool apply_image; /* has image that should be restored */
|
134
|
-
char *bkp_image;
|
135
|
-
uint16 hole_offset;
|
136
|
-
uint16 hole_length;
|
137
|
-
uint16 bimg_len;
|
138
|
-
uint8 bimg_info;
|
139
|
-
|
140
|
-
/* Buffer holding the rmgr-specific data associated with this block */
|
141
|
-
bool has_data;
|
142
|
-
char *data;
|
143
|
-
uint16 data_len;
|
144
|
-
uint16 data_bufsz;
|
145
|
-
} DecodedBkpBlock;
|
146
|
-
|
147
|
-
struct XLogReaderState
|
148
|
-
{
|
149
|
-
/*
|
150
|
-
* Operational callbacks
|
151
|
-
*/
|
152
|
-
XLogReaderRoutine routine;
|
153
|
-
|
154
|
-
/* ----------------------------------------
|
155
|
-
* Public parameters
|
156
|
-
* ----------------------------------------
|
157
|
-
*/
|
158
|
-
|
159
|
-
/*
|
160
|
-
* System identifier of the xlog files we're about to read. Set to zero
|
161
|
-
* (the default value) if unknown or unimportant.
|
162
|
-
*/
|
163
|
-
uint64 system_identifier;
|
164
|
-
|
165
|
-
/*
|
166
|
-
* Opaque data for callbacks to use. Not used by XLogReader.
|
167
|
-
*/
|
168
|
-
void *private_data;
|
169
|
-
|
170
|
-
/*
|
171
|
-
* Start and end point of last record read. EndRecPtr is also used as the
|
172
|
-
* position to read next. Calling XLogBeginRead() sets EndRecPtr to the
|
173
|
-
* starting position and ReadRecPtr to invalid.
|
174
|
-
*/
|
175
|
-
XLogRecPtr ReadRecPtr; /* start of last record read */
|
176
|
-
XLogRecPtr EndRecPtr; /* end+1 of last record read */
|
177
|
-
|
178
|
-
|
179
|
-
/* ----------------------------------------
|
180
|
-
* Decoded representation of current record
|
181
|
-
*
|
182
|
-
* Use XLogRecGet* functions to investigate the record; these fields
|
183
|
-
* should not be accessed directly.
|
184
|
-
* ----------------------------------------
|
185
|
-
*/
|
186
|
-
XLogRecord *decoded_record; /* currently decoded record */
|
187
|
-
|
188
|
-
char *main_data; /* record's main data portion */
|
189
|
-
uint32 main_data_len; /* main data portion's length */
|
190
|
-
uint32 main_data_bufsz; /* allocated size of the buffer */
|
191
|
-
|
192
|
-
RepOriginId record_origin;
|
193
|
-
|
194
|
-
/* information about blocks referenced by the record. */
|
195
|
-
DecodedBkpBlock blocks[XLR_MAX_BLOCK_ID + 1];
|
196
|
-
|
197
|
-
int max_block_id; /* highest block_id in use (-1 if none) */
|
198
|
-
|
199
|
-
/* ----------------------------------------
|
200
|
-
* private/internal state
|
201
|
-
* ----------------------------------------
|
202
|
-
*/
|
203
|
-
|
204
|
-
/*
|
205
|
-
* Buffer for currently read page (XLOG_BLCKSZ bytes, valid up to at least
|
206
|
-
* readLen bytes)
|
207
|
-
*/
|
208
|
-
char *readBuf;
|
209
|
-
uint32 readLen;
|
210
|
-
|
211
|
-
/* last read XLOG position for data currently in readBuf */
|
212
|
-
WALSegmentContext segcxt;
|
213
|
-
WALOpenSegment seg;
|
214
|
-
uint32 segoff;
|
215
|
-
|
216
|
-
/*
|
217
|
-
* beginning of prior page read, and its TLI. Doesn't necessarily
|
218
|
-
* correspond to what's in readBuf; used for timeline sanity checks.
|
219
|
-
*/
|
220
|
-
XLogRecPtr latestPagePtr;
|
221
|
-
TimeLineID latestPageTLI;
|
222
|
-
|
223
|
-
/* beginning of the WAL record being read. */
|
224
|
-
XLogRecPtr currRecPtr;
|
225
|
-
/* timeline to read it from, 0 if a lookup is required */
|
226
|
-
TimeLineID currTLI;
|
227
|
-
|
228
|
-
/*
|
229
|
-
* Safe point to read to in currTLI if current TLI is historical
|
230
|
-
* (tliSwitchPoint) or InvalidXLogRecPtr if on current timeline.
|
231
|
-
*
|
232
|
-
* Actually set to the start of the segment containing the timeline switch
|
233
|
-
* that ends currTLI's validity, not the LSN of the switch its self, since
|
234
|
-
* we can't assume the old segment will be present.
|
235
|
-
*/
|
236
|
-
XLogRecPtr currTLIValidUntil;
|
237
|
-
|
238
|
-
/*
|
239
|
-
* If currTLI is not the most recent known timeline, the next timeline to
|
240
|
-
* read from when currTLIValidUntil is reached.
|
241
|
-
*/
|
242
|
-
TimeLineID nextTLI;
|
243
|
-
|
244
|
-
/*
|
245
|
-
* Buffer for current ReadRecord result (expandable), used when a record
|
246
|
-
* crosses a page boundary.
|
247
|
-
*/
|
248
|
-
char *readRecordBuf;
|
249
|
-
uint32 readRecordBufSize;
|
250
|
-
|
251
|
-
/* Buffer to hold error message */
|
252
|
-
char *errormsg_buf;
|
253
|
-
|
254
|
-
/*
|
255
|
-
* Set at the end of recovery: the start point of a partial record at the
|
256
|
-
* end of WAL (InvalidXLogRecPtr if there wasn't one), and the start
|
257
|
-
* location of its first contrecord that went missing.
|
258
|
-
*/
|
259
|
-
XLogRecPtr abortedRecPtr;
|
260
|
-
XLogRecPtr missingContrecPtr;
|
261
|
-
/* Set when XLP_FIRST_IS_OVERWRITE_CONTRECORD is found */
|
262
|
-
XLogRecPtr overwrittenRecPtr;
|
263
|
-
};
|
264
|
-
|
265
|
-
/* Get a new XLogReader */
|
266
|
-
extern XLogReaderState *XLogReaderAllocate(int wal_segment_size,
|
267
|
-
const char *waldir,
|
268
|
-
XLogReaderRoutine *routine,
|
269
|
-
void *private_data);
|
270
|
-
extern XLogReaderRoutine *LocalXLogReaderRoutine(void);
|
271
|
-
|
272
|
-
/* Free an XLogReader */
|
273
|
-
extern void XLogReaderFree(XLogReaderState *state);
|
274
|
-
|
275
|
-
/* Position the XLogReader to given record */
|
276
|
-
extern void XLogBeginRead(XLogReaderState *state, XLogRecPtr RecPtr);
|
277
|
-
#ifdef FRONTEND
|
278
|
-
extern XLogRecPtr XLogFindNextRecord(XLogReaderState *state, XLogRecPtr RecPtr);
|
279
|
-
#endif /* FRONTEND */
|
280
|
-
|
281
|
-
/* Read the next XLog record. Returns NULL on end-of-WAL or failure */
|
282
|
-
extern struct XLogRecord *XLogReadRecord(XLogReaderState *state,
|
283
|
-
char **errormsg);
|
284
|
-
|
285
|
-
/* Validate a page */
|
286
|
-
extern bool XLogReaderValidatePageHeader(XLogReaderState *state,
|
287
|
-
XLogRecPtr recptr, char *phdr);
|
288
|
-
|
289
|
-
/*
|
290
|
-
* Error information from WALRead that both backend and frontend caller can
|
291
|
-
* process. Currently only errors from pg_pread can be reported.
|
292
|
-
*/
|
293
|
-
typedef struct WALReadError
|
294
|
-
{
|
295
|
-
int wre_errno; /* errno set by the last pg_pread() */
|
296
|
-
int wre_off; /* Offset we tried to read from. */
|
297
|
-
int wre_req; /* Bytes requested to be read. */
|
298
|
-
int wre_read; /* Bytes read by the last read(). */
|
299
|
-
WALOpenSegment wre_seg; /* Segment we tried to read from. */
|
300
|
-
} WALReadError;
|
301
|
-
|
302
|
-
extern bool WALRead(XLogReaderState *state,
|
303
|
-
char *buf, XLogRecPtr startptr, Size count,
|
304
|
-
TimeLineID tli, WALReadError *errinfo);
|
305
|
-
|
306
|
-
/* Functions for decoding an XLogRecord */
|
307
|
-
|
308
|
-
extern bool DecodeXLogRecord(XLogReaderState *state, XLogRecord *record,
|
309
|
-
char **errmsg);
|
310
|
-
|
311
|
-
#define XLogRecGetTotalLen(decoder) ((decoder)->decoded_record->xl_tot_len)
|
312
|
-
#define XLogRecGetPrev(decoder) ((decoder)->decoded_record->xl_prev)
|
313
|
-
#define XLogRecGetInfo(decoder) ((decoder)->decoded_record->xl_info)
|
314
|
-
#define XLogRecGetRmid(decoder) ((decoder)->decoded_record->xl_rmid)
|
315
|
-
#define XLogRecGetXid(decoder) ((decoder)->decoded_record->xl_xid)
|
316
|
-
#define XLogRecGetOrigin(decoder) ((decoder)->record_origin)
|
317
|
-
#define XLogRecGetData(decoder) ((decoder)->main_data)
|
318
|
-
#define XLogRecGetDataLen(decoder) ((decoder)->main_data_len)
|
319
|
-
#define XLogRecHasAnyBlockRefs(decoder) ((decoder)->max_block_id >= 0)
|
320
|
-
#define XLogRecHasBlockRef(decoder, block_id) \
|
321
|
-
((decoder)->blocks[block_id].in_use)
|
322
|
-
#define XLogRecHasBlockImage(decoder, block_id) \
|
323
|
-
((decoder)->blocks[block_id].has_image)
|
324
|
-
#define XLogRecBlockImageApply(decoder, block_id) \
|
325
|
-
((decoder)->blocks[block_id].apply_image)
|
326
|
-
|
327
|
-
#ifndef FRONTEND
|
328
|
-
extern FullTransactionId XLogRecGetFullXid(XLogReaderState *record);
|
329
|
-
#endif
|
330
|
-
|
331
|
-
extern bool RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page);
|
332
|
-
extern char *XLogRecGetBlockData(XLogReaderState *record, uint8 block_id, Size *len);
|
333
|
-
extern bool XLogRecGetBlockTag(XLogReaderState *record, uint8 block_id,
|
334
|
-
RelFileNode *rnode, ForkNumber *forknum,
|
335
|
-
BlockNumber *blknum);
|
336
|
-
|
337
|
-
#endif /* XLOGREADER_H */
|
@@ -1,227 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* xlogrecord.h
|
3
|
-
*
|
4
|
-
* Definitions for the WAL record format.
|
5
|
-
*
|
6
|
-
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
8
|
-
*
|
9
|
-
* src/include/access/xlogrecord.h
|
10
|
-
*/
|
11
|
-
#ifndef XLOGRECORD_H
|
12
|
-
#define XLOGRECORD_H
|
13
|
-
|
14
|
-
#include "access/rmgr.h"
|
15
|
-
#include "access/xlogdefs.h"
|
16
|
-
#include "port/pg_crc32c.h"
|
17
|
-
#include "storage/block.h"
|
18
|
-
#include "storage/relfilenode.h"
|
19
|
-
|
20
|
-
/*
|
21
|
-
* The overall layout of an XLOG record is:
|
22
|
-
* Fixed-size header (XLogRecord struct)
|
23
|
-
* XLogRecordBlockHeader struct
|
24
|
-
* XLogRecordBlockHeader struct
|
25
|
-
* ...
|
26
|
-
* XLogRecordDataHeader[Short|Long] struct
|
27
|
-
* block data
|
28
|
-
* block data
|
29
|
-
* ...
|
30
|
-
* main data
|
31
|
-
*
|
32
|
-
* There can be zero or more XLogRecordBlockHeaders, and 0 or more bytes of
|
33
|
-
* rmgr-specific data not associated with a block. XLogRecord structs
|
34
|
-
* always start on MAXALIGN boundaries in the WAL files, but the rest of
|
35
|
-
* the fields are not aligned.
|
36
|
-
*
|
37
|
-
* The XLogRecordBlockHeader, XLogRecordDataHeaderShort and
|
38
|
-
* XLogRecordDataHeaderLong structs all begin with a single 'id' byte. It's
|
39
|
-
* used to distinguish between block references, and the main data structs.
|
40
|
-
*/
|
41
|
-
typedef struct XLogRecord
|
42
|
-
{
|
43
|
-
uint32 xl_tot_len; /* total len of entire record */
|
44
|
-
TransactionId xl_xid; /* xact id */
|
45
|
-
XLogRecPtr xl_prev; /* ptr to previous record in log */
|
46
|
-
uint8 xl_info; /* flag bits, see below */
|
47
|
-
RmgrId xl_rmid; /* resource manager for this record */
|
48
|
-
/* 2 bytes of padding here, initialize to zero */
|
49
|
-
pg_crc32c xl_crc; /* CRC for this record */
|
50
|
-
|
51
|
-
/* XLogRecordBlockHeaders and XLogRecordDataHeader follow, no padding */
|
52
|
-
|
53
|
-
} XLogRecord;
|
54
|
-
|
55
|
-
#define SizeOfXLogRecord (offsetof(XLogRecord, xl_crc) + sizeof(pg_crc32c))
|
56
|
-
|
57
|
-
/*
|
58
|
-
* The high 4 bits in xl_info may be used freely by rmgr. The
|
59
|
-
* XLR_SPECIAL_REL_UPDATE and XLR_CHECK_CONSISTENCY bits can be passed by
|
60
|
-
* XLogInsert caller. The rest are set internally by XLogInsert.
|
61
|
-
*/
|
62
|
-
#define XLR_INFO_MASK 0x0F
|
63
|
-
#define XLR_RMGR_INFO_MASK 0xF0
|
64
|
-
|
65
|
-
/*
|
66
|
-
* If a WAL record modifies any relation files, in ways not covered by the
|
67
|
-
* usual block references, this flag is set. This is not used for anything
|
68
|
-
* by PostgreSQL itself, but it allows external tools that read WAL and keep
|
69
|
-
* track of modified blocks to recognize such special record types.
|
70
|
-
*/
|
71
|
-
#define XLR_SPECIAL_REL_UPDATE 0x01
|
72
|
-
|
73
|
-
/*
|
74
|
-
* Enforces consistency checks of replayed WAL at recovery. If enabled,
|
75
|
-
* each record will log a full-page write for each block modified by the
|
76
|
-
* record and will reuse it afterwards for consistency checks. The caller
|
77
|
-
* of XLogInsert can use this value if necessary, but if
|
78
|
-
* wal_consistency_checking is enabled for a rmgr this is set unconditionally.
|
79
|
-
*/
|
80
|
-
#define XLR_CHECK_CONSISTENCY 0x02
|
81
|
-
|
82
|
-
/*
|
83
|
-
* Header info for block data appended to an XLOG record.
|
84
|
-
*
|
85
|
-
* 'data_length' is the length of the rmgr-specific payload data associated
|
86
|
-
* with this block. It does not include the possible full page image, nor
|
87
|
-
* XLogRecordBlockHeader struct itself.
|
88
|
-
*
|
89
|
-
* Note that we don't attempt to align the XLogRecordBlockHeader struct!
|
90
|
-
* So, the struct must be copied to aligned local storage before use.
|
91
|
-
*/
|
92
|
-
typedef struct XLogRecordBlockHeader
|
93
|
-
{
|
94
|
-
uint8 id; /* block reference ID */
|
95
|
-
uint8 fork_flags; /* fork within the relation, and flags */
|
96
|
-
uint16 data_length; /* number of payload bytes (not including page
|
97
|
-
* image) */
|
98
|
-
|
99
|
-
/* If BKPBLOCK_HAS_IMAGE, an XLogRecordBlockImageHeader struct follows */
|
100
|
-
/* If BKPBLOCK_SAME_REL is not set, a RelFileNode follows */
|
101
|
-
/* BlockNumber follows */
|
102
|
-
} XLogRecordBlockHeader;
|
103
|
-
|
104
|
-
#define SizeOfXLogRecordBlockHeader (offsetof(XLogRecordBlockHeader, data_length) + sizeof(uint16))
|
105
|
-
|
106
|
-
/*
|
107
|
-
* Additional header information when a full-page image is included
|
108
|
-
* (i.e. when BKPBLOCK_HAS_IMAGE is set).
|
109
|
-
*
|
110
|
-
* The XLOG code is aware that PG data pages usually contain an unused "hole"
|
111
|
-
* in the middle, which contains only zero bytes. Since we know that the
|
112
|
-
* "hole" is all zeros, we remove it from the stored data (and it's not counted
|
113
|
-
* in the XLOG record's CRC, either). Hence, the amount of block data actually
|
114
|
-
* present is (BLCKSZ - <length of "hole" bytes>).
|
115
|
-
*
|
116
|
-
* Additionally, when wal_compression is enabled, we will try to compress full
|
117
|
-
* page images using the PGLZ compression algorithm, after removing the "hole".
|
118
|
-
* This can reduce the WAL volume, but at some extra cost of CPU spent
|
119
|
-
* on the compression during WAL logging. In this case, since the "hole"
|
120
|
-
* length cannot be calculated by subtracting the number of page image bytes
|
121
|
-
* from BLCKSZ, basically it needs to be stored as an extra information.
|
122
|
-
* But when no "hole" exists, we can assume that the "hole" length is zero
|
123
|
-
* and no such an extra information needs to be stored. Note that
|
124
|
-
* the original version of page image is stored in WAL instead of the
|
125
|
-
* compressed one if the number of bytes saved by compression is less than
|
126
|
-
* the length of extra information. Hence, when a page image is successfully
|
127
|
-
* compressed, the amount of block data actually present is less than
|
128
|
-
* BLCKSZ - the length of "hole" bytes - the length of extra information.
|
129
|
-
*/
|
130
|
-
typedef struct XLogRecordBlockImageHeader
|
131
|
-
{
|
132
|
-
uint16 length; /* number of page image bytes */
|
133
|
-
uint16 hole_offset; /* number of bytes before "hole" */
|
134
|
-
uint8 bimg_info; /* flag bits, see below */
|
135
|
-
|
136
|
-
/*
|
137
|
-
* If BKPIMAGE_HAS_HOLE and BKPIMAGE_IS_COMPRESSED, an
|
138
|
-
* XLogRecordBlockCompressHeader struct follows.
|
139
|
-
*/
|
140
|
-
} XLogRecordBlockImageHeader;
|
141
|
-
|
142
|
-
#define SizeOfXLogRecordBlockImageHeader \
|
143
|
-
(offsetof(XLogRecordBlockImageHeader, bimg_info) + sizeof(uint8))
|
144
|
-
|
145
|
-
/* Information stored in bimg_info */
|
146
|
-
#define BKPIMAGE_HAS_HOLE 0x01 /* page image has "hole" */
|
147
|
-
#define BKPIMAGE_IS_COMPRESSED 0x02 /* page image is compressed */
|
148
|
-
#define BKPIMAGE_APPLY 0x04 /* page image should be restored during
|
149
|
-
* replay */
|
150
|
-
|
151
|
-
/*
|
152
|
-
* Extra header information used when page image has "hole" and
|
153
|
-
* is compressed.
|
154
|
-
*/
|
155
|
-
typedef struct XLogRecordBlockCompressHeader
|
156
|
-
{
|
157
|
-
uint16 hole_length; /* number of bytes in "hole" */
|
158
|
-
} XLogRecordBlockCompressHeader;
|
159
|
-
|
160
|
-
#define SizeOfXLogRecordBlockCompressHeader \
|
161
|
-
sizeof(XLogRecordBlockCompressHeader)
|
162
|
-
|
163
|
-
/*
|
164
|
-
* Maximum size of the header for a block reference. This is used to size a
|
165
|
-
* temporary buffer for constructing the header.
|
166
|
-
*/
|
167
|
-
#define MaxSizeOfXLogRecordBlockHeader \
|
168
|
-
(SizeOfXLogRecordBlockHeader + \
|
169
|
-
SizeOfXLogRecordBlockImageHeader + \
|
170
|
-
SizeOfXLogRecordBlockCompressHeader + \
|
171
|
-
sizeof(RelFileNode) + \
|
172
|
-
sizeof(BlockNumber))
|
173
|
-
|
174
|
-
/*
|
175
|
-
* The fork number fits in the lower 4 bits in the fork_flags field. The upper
|
176
|
-
* bits are used for flags.
|
177
|
-
*/
|
178
|
-
#define BKPBLOCK_FORK_MASK 0x0F
|
179
|
-
#define BKPBLOCK_FLAG_MASK 0xF0
|
180
|
-
#define BKPBLOCK_HAS_IMAGE 0x10 /* block data is an XLogRecordBlockImage */
|
181
|
-
#define BKPBLOCK_HAS_DATA 0x20
|
182
|
-
#define BKPBLOCK_WILL_INIT 0x40 /* redo will re-init the page */
|
183
|
-
#define BKPBLOCK_SAME_REL 0x80 /* RelFileNode omitted, same as previous */
|
184
|
-
|
185
|
-
/*
|
186
|
-
* XLogRecordDataHeaderShort/Long are used for the "main data" portion of
|
187
|
-
* the record. If the length of the data is less than 256 bytes, the short
|
188
|
-
* form is used, with a single byte to hold the length. Otherwise the long
|
189
|
-
* form is used.
|
190
|
-
*
|
191
|
-
* (These structs are currently not used in the code, they are here just for
|
192
|
-
* documentation purposes).
|
193
|
-
*/
|
194
|
-
typedef struct XLogRecordDataHeaderShort
|
195
|
-
{
|
196
|
-
uint8 id; /* XLR_BLOCK_ID_DATA_SHORT */
|
197
|
-
uint8 data_length; /* number of payload bytes */
|
198
|
-
} XLogRecordDataHeaderShort;
|
199
|
-
|
200
|
-
#define SizeOfXLogRecordDataHeaderShort (sizeof(uint8) * 2)
|
201
|
-
|
202
|
-
typedef struct XLogRecordDataHeaderLong
|
203
|
-
{
|
204
|
-
uint8 id; /* XLR_BLOCK_ID_DATA_LONG */
|
205
|
-
/* followed by uint32 data_length, unaligned */
|
206
|
-
} XLogRecordDataHeaderLong;
|
207
|
-
|
208
|
-
#define SizeOfXLogRecordDataHeaderLong (sizeof(uint8) + sizeof(uint32))
|
209
|
-
|
210
|
-
/*
|
211
|
-
* Block IDs used to distinguish different kinds of record fragments. Block
|
212
|
-
* references are numbered from 0 to XLR_MAX_BLOCK_ID. A rmgr is free to use
|
213
|
-
* any ID number in that range (although you should stick to small numbers,
|
214
|
-
* because the WAL machinery is optimized for that case). A couple of ID
|
215
|
-
* numbers are reserved to denote the "main" data portion of the record.
|
216
|
-
*
|
217
|
-
* The maximum is currently set at 32, quite arbitrarily. Most records only
|
218
|
-
* need a handful of block references, but there are a few exceptions that
|
219
|
-
* need more.
|
220
|
-
*/
|
221
|
-
#define XLR_MAX_BLOCK_ID 32
|
222
|
-
|
223
|
-
#define XLR_BLOCK_ID_DATA_SHORT 255
|
224
|
-
#define XLR_BLOCK_ID_DATA_LONG 254
|
225
|
-
#define XLR_BLOCK_ID_ORIGIN 253
|
226
|
-
|
227
|
-
#endif /* XLOGRECORD_H */
|
@@ -1,62 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* bootstrap.h
|
4
|
-
* include file for the bootstrapping code
|
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/bootstrap/bootstrap.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef BOOTSTRAP_H
|
15
|
-
#define BOOTSTRAP_H
|
16
|
-
|
17
|
-
#include "nodes/execnodes.h"
|
18
|
-
|
19
|
-
|
20
|
-
/*
|
21
|
-
* MAXATTR is the maximum number of attributes in a relation supported
|
22
|
-
* at bootstrap time (i.e., the max possible in a system table).
|
23
|
-
*/
|
24
|
-
#define MAXATTR 40
|
25
|
-
|
26
|
-
#define BOOTCOL_NULL_AUTO 1
|
27
|
-
#define BOOTCOL_NULL_FORCE_NULL 2
|
28
|
-
#define BOOTCOL_NULL_FORCE_NOT_NULL 3
|
29
|
-
|
30
|
-
extern Relation boot_reldesc;
|
31
|
-
extern Form_pg_attribute attrtypes[MAXATTR];
|
32
|
-
extern int numattr;
|
33
|
-
|
34
|
-
|
35
|
-
extern void AuxiliaryProcessMain(int argc, char *argv[]) pg_attribute_noreturn();
|
36
|
-
|
37
|
-
extern void closerel(char *name);
|
38
|
-
extern void boot_openrel(char *name);
|
39
|
-
|
40
|
-
extern void DefineAttr(char *name, char *type, int attnum, int nullness);
|
41
|
-
extern void InsertOneTuple(void);
|
42
|
-
extern void InsertOneValue(char *value, int i);
|
43
|
-
extern void InsertOneNull(int i);
|
44
|
-
|
45
|
-
extern void index_register(Oid heap, Oid ind, IndexInfo *indexInfo);
|
46
|
-
extern void build_indices(void);
|
47
|
-
|
48
|
-
extern void boot_get_type_io_data(Oid typid,
|
49
|
-
int16 *typlen,
|
50
|
-
bool *typbyval,
|
51
|
-
char *typalign,
|
52
|
-
char *typdelim,
|
53
|
-
Oid *typioparam,
|
54
|
-
Oid *typinput,
|
55
|
-
Oid *typoutput);
|
56
|
-
|
57
|
-
extern int boot_yyparse(void);
|
58
|
-
|
59
|
-
extern int boot_yylex(void);
|
60
|
-
extern void boot_yyerror(const char *str) pg_attribute_noreturn();
|
61
|
-
|
62
|
-
#endif /* BOOTSTRAP_H */
|