pg_query 4.2.1 → 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 +61 -0
- data/README.md +7 -9
- 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 +28 -3
- data/ext/pg_query/include/pg_query_enum_defs.c +599 -167
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +640 -520
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +6400 -4633
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +433 -343
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1472 -1152
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +154 -124
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1886 -1506
- 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/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 +7723 -6368
- data/ext/pg_query/include/protobuf/pg_query.pb.h +120022 -87031
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +22595 -17738
- data/ext/pg_query/pg_query_deparse.c +1 -10635
- data/ext/pg_query/pg_query_fingerprint.c +12 -8
- 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 -0
- data/ext/pg_query/pg_query_normalize.c +43 -2
- data/ext/pg_query/pg_query_outfuncs_json.c +9 -1
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +3 -2
- 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 +3 -2
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_scan.c +2 -2
- data/ext/pg_query/pg_query_split.c +3 -3
- 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 +243 -63
- data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
- data/ext/pg_query/src_backend_commands_define.c +2 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +140 -156
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +16 -8
- data/ext/pg_query/src_backend_nodes_makefuncs.c +134 -1
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +391 -133
- data/ext/pg_query/src_backend_nodes_value.c +1 -1
- data/ext/pg_query/src_backend_parser_gram.c +43710 -39953
- data/ext/pg_query/src_backend_parser_parser.c +34 -8
- data/ext/pg_query/src_backend_parser_scan.c +6971 -3373
- data/ext/pg_query/src_backend_parser_scansup.c +2 -1
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
- data/ext/pg_query/src_backend_tcop_postgres.c +99 -96
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
- data/ext/pg_query/src_backend_utils_adt_datum.c +2 -2
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_numutils.c +488 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +177 -30
- data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
- data/ext/pg_query/src_backend_utils_error_elog.c +397 -270
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +36 -2
- data/ext/pg_query/src_backend_utils_init_globals.c +20 -5
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +31 -84
- 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 +704 -497
- 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 +637 -233
- 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 +1 -1
- data/ext/pg_query/src_common_keywords.c +1 -1
- data/ext/pg_query/src_common_kwlist_d.h +586 -517
- 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 +100 -116
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +829 -763
- 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 +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
- data/ext/pg_query/src_port_pg_bitutils.c +251 -32
- data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
- data/ext/pg_query/src_port_snprintf.c +20 -27
- data/ext/pg_query/src_port_strerror.c +1 -3
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/fingerprint.rb +5 -8
- data/lib/pg_query/node.rb +16 -11
- data/lib/pg_query/param_refs.rb +2 -2
- data/lib/pg_query/parse.rb +6 -8
- data/lib/pg_query/parse_error.rb +1 -0
- data/lib/pg_query/pg_query_pb.rb +173 -3196
- data/lib/pg_query/scan.rb +1 -0
- data/lib/pg_query/treewalker.rb +52 -11
- data/lib/pg_query/truncate.rb +18 -20
- data/lib/pg_query/version.rb +1 -1
- metadata +443 -442
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +0 -290
- 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 -63
- data/ext/pg_query/include/access/commit_ts.h +0 -74
- data/ext/pg_query/include/access/detoast.h +0 -82
- data/ext/pg_query/include/access/genam.h +0 -231
- 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 -807
- data/ext/pg_query/include/access/itup.h +0 -167
- 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 -191
- 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 -85
- data/ext/pg_query/include/access/sysattr.h +0 -29
- data/ext/pg_query/include/access/table.h +0 -28
- data/ext/pg_query/include/access/tableam.h +0 -2077
- data/ext/pg_query/include/access/toast_compression.h +0 -73
- data/ext/pg_query/include/access/transam.h +0 -375
- 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 -65
- data/ext/pg_query/include/access/xact.h +0 -523
- data/ext/pg_query/include/access/xlog.h +0 -303
- data/ext/pg_query/include/access/xlog_internal.h +0 -366
- data/ext/pg_query/include/access/xlogdefs.h +0 -101
- data/ext/pg_query/include/access/xlogprefetcher.h +0 -55
- data/ext/pg_query/include/access/xlogreader.h +0 -443
- data/ext/pg_query/include/access/xlogrecord.h +0 -236
- data/ext/pg_query/include/access/xlogrecovery.h +0 -157
- data/ext/pg_query/include/c.h +0 -1391
- data/ext/pg_query/include/catalog/catalog.h +0 -44
- data/ext/pg_query/include/catalog/catversion.h +0 -58
- data/ext/pg_query/include/catalog/dependency.h +0 -269
- data/ext/pg_query/include/catalog/genbki.h +0 -142
- data/ext/pg_query/include/catalog/index.h +0 -214
- data/ext/pg_query/include/catalog/indexing.h +0 -54
- data/ext/pg_query/include/catalog/namespace.h +0 -190
- data/ext/pg_query/include/catalog/objectaccess.h +0 -265
- data/ext/pg_query/include/catalog/objectaddress.h +0 -89
- data/ext/pg_query/include/catalog/pg_aggregate.h +0 -180
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -78
- data/ext/pg_query/include/catalog/pg_am.h +0 -63
- data/ext/pg_query/include/catalog/pg_am_d.h +0 -47
- data/ext/pg_query/include/catalog/pg_attribute.h +0 -221
- data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -62
- data/ext/pg_query/include/catalog/pg_authid.h +0 -63
- data/ext/pg_query/include/catalog/pg_authid_d.h +0 -57
- data/ext/pg_query/include/catalog/pg_class.h +0 -230
- data/ext/pg_query/include/catalog/pg_class_d.h +0 -132
- data/ext/pg_query/include/catalog/pg_collation.h +0 -98
- data/ext/pg_query/include/catalog/pg_collation_d.h +0 -62
- data/ext/pg_query/include/catalog/pg_constraint.h +0 -273
- data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -73
- data/ext/pg_query/include/catalog/pg_control.h +0 -250
- data/ext/pg_query/include/catalog/pg_conversion.h +0 -75
- data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -38
- data/ext/pg_query/include/catalog/pg_depend.h +0 -77
- data/ext/pg_query/include/catalog/pg_depend_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -57
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_index.h +0 -90
- data/ext/pg_query/include/catalog/pg_index_d.h +0 -59
- data/ext/pg_query/include/catalog/pg_language.h +0 -72
- data/ext/pg_query/include/catalog/pg_language_d.h +0 -41
- data/ext/pg_query/include/catalog/pg_namespace.h +0 -64
- data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_opclass.h +0 -88
- data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -51
- data/ext/pg_query/include/catalog/pg_operator.h +0 -107
- data/ext/pg_query/include/catalog/pg_operator_d.h +0 -142
- data/ext/pg_query/include/catalog/pg_opfamily.h +0 -63
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -74
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_proc.h +0 -220
- data/ext/pg_query/include/catalog/pg_proc_d.h +0 -101
- data/ext/pg_query/include/catalog/pg_publication.h +0 -161
- data/ext/pg_query/include/catalog/pg_publication_d.h +0 -38
- data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -62
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -33
- data/ext/pg_query/include/catalog/pg_statistic.h +0 -282
- data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -195
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -88
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_transform.h +0 -48
- data/ext/pg_query/include/catalog/pg_transform_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_trigger.h +0 -153
- data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -109
- data/ext/pg_query/include/catalog/pg_ts_config.h +0 -53
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -59
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -60
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -37
- data/ext/pg_query/include/catalog/pg_ts_template.h +0 -51
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_type.h +0 -404
- data/ext/pg_query/include/catalog/pg_type_d.h +0 -324
- data/ext/pg_query/include/catalog/storage.h +0 -50
- data/ext/pg_query/include/commands/async.h +0 -53
- data/ext/pg_query/include/commands/dbcommands.h +0 -36
- data/ext/pg_query/include/commands/defrem.h +0 -160
- 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 -287
- data/ext/pg_query/include/commands/user.h +0 -37
- data/ext/pg_query/include/commands/vacuum.h +0 -340
- 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 -31
- data/ext/pg_query/include/common/keywords.h +0 -29
- data/ext/pg_query/include/common/kwlookup.h +0 -44
- data/ext/pg_query/include/common/pg_prng.h +0 -60
- data/ext/pg_query/include/common/relpath.h +0 -90
- data/ext/pg_query/include/common/string.h +0 -42
- data/ext/pg_query/include/common/unicode_combining_table.h +0 -308
- data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +0 -125
- data/ext/pg_query/include/datatype/timestamp.h +0 -236
- data/ext/pg_query/include/executor/execdesc.h +0 -70
- data/ext/pg_query/include/executor/executor.h +0 -663
- data/ext/pg_query/include/executor/functions.h +0 -55
- data/ext/pg_query/include/executor/instrument.h +0 -118
- data/ext/pg_query/include/executor/spi.h +0 -213
- 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 -781
- data/ext/pg_query/include/funcapi.h +0 -360
- 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 -1095
- data/ext/pg_query/include/lib/dshash.h +0 -112
- data/ext/pg_query/include/lib/ilist.h +0 -746
- data/ext/pg_query/include/lib/pairingheap.h +0 -102
- data/ext/pg_query/include/lib/simplehash.h +0 -1184
- data/ext/pg_query/include/lib/sort_template.h +0 -432
- data/ext/pg_query/include/lib/stringinfo.h +0 -161
- data/ext/pg_query/include/libpq/auth.h +0 -31
- data/ext/pg_query/include/libpq/crypt.h +0 -47
- data/ext/pg_query/include/libpq/hba.h +0 -179
- data/ext/pg_query/include/libpq/libpq-be.h +0 -343
- data/ext/pg_query/include/libpq/libpq.h +0 -144
- data/ext/pg_query/include/libpq/pqcomm.h +0 -194
- 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 -755
- data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
- data/ext/pg_query/include/miscadmin.h +0 -495
- data/ext/pg_query/include/nodes/bitmapset.h +0 -122
- data/ext/pg_query/include/nodes/execnodes.h +0 -2715
- data/ext/pg_query/include/nodes/extensible.h +0 -162
- data/ext/pg_query/include/nodes/lockoptions.h +0 -61
- data/ext/pg_query/include/nodes/makefuncs.h +0 -109
- data/ext/pg_query/include/nodes/memnodes.h +0 -110
- data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
- data/ext/pg_query/include/nodes/nodes.h +0 -861
- data/ext/pg_query/include/nodes/params.h +0 -170
- data/ext/pg_query/include/nodes/parsenodes.h +0 -3812
- data/ext/pg_query/include/nodes/pathnodes.h +0 -2734
- data/ext/pg_query/include/nodes/pg_list.h +0 -612
- data/ext/pg_query/include/nodes/plannodes.h +0 -1349
- data/ext/pg_query/include/nodes/primnodes.h +0 -1593
- 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 -80
- data/ext/pg_query/include/optimizer/cost.h +0 -213
- data/ext/pg_query/include/optimizer/geqo.h +0 -90
- data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
- data/ext/pg_query/include/optimizer/optimizer.h +0 -202
- data/ext/pg_query/include/optimizer/paths.h +0 -257
- data/ext/pg_query/include/optimizer/planmain.h +0 -120
- data/ext/pg_query/include/parser/analyze.h +0 -63
- data/ext/pg_query/include/parser/gram.h +0 -1101
- data/ext/pg_query/include/parser/gramparse.h +0 -75
- data/ext/pg_query/include/parser/kwlist.h +0 -487
- data/ext/pg_query/include/parser/parse_agg.h +0 -63
- data/ext/pg_query/include/parser/parse_coerce.h +0 -100
- data/ext/pg_query/include/parser/parse_expr.h +0 -25
- data/ext/pg_query/include/parser/parse_func.h +0 -74
- data/ext/pg_query/include/parser/parse_node.h +0 -339
- data/ext/pg_query/include/parser/parse_oper.h +0 -65
- data/ext/pg_query/include/parser/parse_relation.h +0 -124
- data/ext/pg_query/include/parser/parse_type.h +0 -60
- data/ext/pg_query/include/parser/parser.h +0 -68
- 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 -27
- data/ext/pg_query/include/partitioning/partdefs.h +0 -26
- data/ext/pg_query/include/pg_config.h +0 -1037
- data/ext/pg_query/include/pg_config_manual.h +0 -410
- 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 -699
- data/ext/pg_query/include/pgtime.h +0 -94
- data/ext/pg_query/include/pl_gram.h +0 -383
- 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 -111
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -244
- data/ext/pg_query/include/plerrcodes.h +0 -998
- data/ext/pg_query/include/plpgsql.h +0 -1345
- data/ext/pg_query/include/port/atomics/arch-arm.h +0 -32
- 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 -302
- 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 -553
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postgres.h +0 -808
- 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/auxprocess.h +0 -20
- data/ext/pg_query/include/postmaster/bgworker.h +0 -162
- 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 -73
- data/ext/pg_query/include/postmaster/postmaster.h +0 -78
- data/ext/pg_query/include/postmaster/startup.h +0 -39
- data/ext/pg_query/include/postmaster/syslogger.h +0 -103
- data/ext/pg_query/include/postmaster/walwriter.h +0 -21
- data/ext/pg_query/include/regex/regex.h +0 -186
- data/ext/pg_query/include/replication/logicallauncher.h +0 -29
- data/ext/pg_query/include/replication/logicalproto.h +0 -254
- 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 -685
- data/ext/pg_query/include/replication/slot.h +0 -230
- data/ext/pg_query/include/replication/syncrep.h +0 -115
- data/ext/pg_query/include/replication/walreceiver.h +0 -472
- 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 -38
- 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 -115
- data/ext/pg_query/include/storage/buf.h +0 -46
- data/ext/pg_query/include/storage/bufmgr.h +0 -297
- data/ext/pg_query/include/storage/bufpage.h +0 -457
- data/ext/pg_query/include/storage/condition_variable.h +0 -73
- data/ext/pg_query/include/storage/dsm.h +0 -64
- data/ext/pg_query/include/storage/dsm_impl.h +0 -76
- data/ext/pg_query/include/storage/fd.h +0 -198
- data/ext/pg_query/include/storage/fileset.h +0 -40
- data/ext/pg_query/include/storage/ipc.h +0 -84
- 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 -208
- data/ext/pg_query/include/storage/large_object.h +0 -100
- data/ext/pg_query/include/storage/latch.h +0 -186
- data/ext/pg_query/include/storage/lmgr.h +0 -115
- data/ext/pg_query/include/storage/lock.h +0 -616
- data/ext/pg_query/include/storage/lockdefs.h +0 -59
- data/ext/pg_query/include/storage/lwlock.h +0 -206
- data/ext/pg_query/include/storage/lwlocknames.h +0 -50
- 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 -92
- data/ext/pg_query/include/storage/pmsignal.h +0 -105
- data/ext/pg_query/include/storage/predicate.h +0 -87
- data/ext/pg_query/include/storage/proc.h +0 -461
- data/ext/pg_query/include/storage/procarray.h +0 -98
- data/ext/pg_query/include/storage/proclist_types.h +0 -51
- data/ext/pg_query/include/storage/procsignal.h +0 -71
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/storage/s_lock.h +0 -1110
- data/ext/pg_query/include/storage/sharedfileset.h +0 -37
- data/ext/pg_query/include/storage/shm_mq.h +0 -86
- 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 -111
- data/ext/pg_query/include/storage/spin.h +0 -77
- data/ext/pg_query/include/storage/standby.h +0 -98
- data/ext/pg_query/include/storage/standbydefs.h +0 -74
- data/ext/pg_query/include/storage/sync.h +0 -66
- data/ext/pg_query/include/tcop/cmdtag.h +0 -58
- data/ext/pg_query/include/tcop/cmdtaglist.h +0 -218
- 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 -20
- data/ext/pg_query/include/tcop/pquery.h +0 -51
- data/ext/pg_query/include/tcop/tcopprot.h +0 -97
- data/ext/pg_query/include/tcop/utility.h +0 -112
- data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
- data/ext/pg_query/include/utils/acl.h +0 -333
- data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
- data/ext/pg_query/include/utils/array.h +0 -464
- data/ext/pg_query/include/utils/backend_progress.h +0 -44
- data/ext/pg_query/include/utils/backend_status.h +0 -321
- data/ext/pg_query/include/utils/builtins.h +0 -127
- data/ext/pg_query/include/utils/bytea.h +0 -28
- 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 -344
- data/ext/pg_query/include/utils/datum.h +0 -76
- data/ext/pg_query/include/utils/dsa.h +0 -123
- data/ext/pg_query/include/utils/dynahash.h +0 -20
- data/ext/pg_query/include/utils/elog.h +0 -470
- data/ext/pg_query/include/utils/errcodes.h +0 -354
- 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 -3261
- data/ext/pg_query/include/utils/fmgrprotos.h +0 -2829
- data/ext/pg_query/include/utils/fmgrtab.h +0 -49
- data/ext/pg_query/include/utils/guc.h +0 -469
- data/ext/pg_query/include/utils/guc_tables.h +0 -276
- data/ext/pg_query/include/utils/hsearch.h +0 -153
- data/ext/pg_query/include/utils/inval.h +0 -68
- data/ext/pg_query/include/utils/lsyscache.h +0 -208
- data/ext/pg_query/include/utils/memdebug.h +0 -82
- data/ext/pg_query/include/utils/memutils.h +0 -230
- data/ext/pg_query/include/utils/numeric.h +0 -90
- data/ext/pg_query/include/utils/palloc.h +0 -158
- data/ext/pg_query/include/utils/partcache.h +0 -102
- data/ext/pg_query/include/utils/pg_locale.h +0 -127
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/pgstat_internal.h +0 -784
- data/ext/pg_query/include/utils/pidfile.h +0 -56
- data/ext/pg_query/include/utils/plancache.h +0 -236
- data/ext/pg_query/include/utils/portal.h +0 -252
- 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/queryjumble.h +0 -88
- data/ext/pg_query/include/utils/regproc.h +0 -39
- data/ext/pg_query/include/utils/rel.h +0 -695
- data/ext/pg_query/include/utils/relcache.h +0 -153
- 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 -47
- data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
- data/ext/pg_query/include/utils/snapmgr.h +0 -179
- data/ext/pg_query/include/utils/snapshot.h +0 -219
- data/ext/pg_query/include/utils/sortsupport.h +0 -391
- data/ext/pg_query/include/utils/syscache.h +0 -224
- data/ext/pg_query/include/utils/timeout.h +0 -95
- data/ext/pg_query/include/utils/timestamp.h +0 -117
- data/ext/pg_query/include/utils/tuplesort.h +0 -291
- data/ext/pg_query/include/utils/tuplestore.h +0 -91
- data/ext/pg_query/include/utils/typcache.h +0 -209
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/include/utils/varlena.h +0 -41
- data/ext/pg_query/include/utils/wait_event.h +0 -289
- data/ext/pg_query/include/utils/xml.h +0 -84
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2201
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
- data/ext/pg_query/src_common_pg_prng.c +0 -152
- data/ext/pg_query/src_common_string.c +0 -92
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- 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/{access → postgres/access}/rmgr.h +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -1,82 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* memdebug.h
|
4
|
-
* Memory debugging support.
|
5
|
-
*
|
6
|
-
* Currently, this file either wraps <valgrind/memcheck.h> or substitutes
|
7
|
-
* empty definitions for Valgrind client request macros we use.
|
8
|
-
*
|
9
|
-
*
|
10
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
11
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
12
|
-
*
|
13
|
-
* src/include/utils/memdebug.h
|
14
|
-
*
|
15
|
-
*-------------------------------------------------------------------------
|
16
|
-
*/
|
17
|
-
#ifndef MEMDEBUG_H
|
18
|
-
#define MEMDEBUG_H
|
19
|
-
|
20
|
-
#ifdef USE_VALGRIND
|
21
|
-
#include <valgrind/memcheck.h>
|
22
|
-
#else
|
23
|
-
#define VALGRIND_CHECK_MEM_IS_DEFINED(addr, size) do {} while (0)
|
24
|
-
#define VALGRIND_CREATE_MEMPOOL(context, redzones, zeroed) do {} while (0)
|
25
|
-
#define VALGRIND_DESTROY_MEMPOOL(context) do {} while (0)
|
26
|
-
#define VALGRIND_MAKE_MEM_DEFINED(addr, size) do {} while (0)
|
27
|
-
#define VALGRIND_MAKE_MEM_NOACCESS(addr, size) do {} while (0)
|
28
|
-
#define VALGRIND_MAKE_MEM_UNDEFINED(addr, size) do {} while (0)
|
29
|
-
#define VALGRIND_MEMPOOL_ALLOC(context, addr, size) do {} while (0)
|
30
|
-
#define VALGRIND_MEMPOOL_FREE(context, addr) do {} while (0)
|
31
|
-
#define VALGRIND_MEMPOOL_CHANGE(context, optr, nptr, size) do {} while (0)
|
32
|
-
#endif
|
33
|
-
|
34
|
-
|
35
|
-
#ifdef CLOBBER_FREED_MEMORY
|
36
|
-
|
37
|
-
/* Wipe freed memory for debugging purposes */
|
38
|
-
static inline void
|
39
|
-
wipe_mem(void *ptr, size_t size)
|
40
|
-
{
|
41
|
-
VALGRIND_MAKE_MEM_UNDEFINED(ptr, size);
|
42
|
-
memset(ptr, 0x7F, size);
|
43
|
-
VALGRIND_MAKE_MEM_NOACCESS(ptr, size);
|
44
|
-
}
|
45
|
-
|
46
|
-
#endif /* CLOBBER_FREED_MEMORY */
|
47
|
-
|
48
|
-
#ifdef MEMORY_CONTEXT_CHECKING
|
49
|
-
|
50
|
-
static inline void
|
51
|
-
set_sentinel(void *base, Size offset)
|
52
|
-
{
|
53
|
-
char *ptr = (char *) base + offset;
|
54
|
-
|
55
|
-
VALGRIND_MAKE_MEM_UNDEFINED(ptr, 1);
|
56
|
-
*ptr = 0x7E;
|
57
|
-
VALGRIND_MAKE_MEM_NOACCESS(ptr, 1);
|
58
|
-
}
|
59
|
-
|
60
|
-
static inline bool
|
61
|
-
sentinel_ok(const void *base, Size offset)
|
62
|
-
{
|
63
|
-
const char *ptr = (const char *) base + offset;
|
64
|
-
bool ret;
|
65
|
-
|
66
|
-
VALGRIND_MAKE_MEM_DEFINED(ptr, 1);
|
67
|
-
ret = *ptr == 0x7E;
|
68
|
-
VALGRIND_MAKE_MEM_NOACCESS(ptr, 1);
|
69
|
-
|
70
|
-
return ret;
|
71
|
-
}
|
72
|
-
|
73
|
-
#endif /* MEMORY_CONTEXT_CHECKING */
|
74
|
-
|
75
|
-
#ifdef RANDOMIZE_ALLOCATED_MEMORY
|
76
|
-
|
77
|
-
void randomize_mem(char *ptr, size_t size);
|
78
|
-
|
79
|
-
#endif /* RANDOMIZE_ALLOCATED_MEMORY */
|
80
|
-
|
81
|
-
|
82
|
-
#endif /* MEMDEBUG_H */
|
@@ -1,230 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* memutils.h
|
4
|
-
* This file contains declarations for memory allocation utility
|
5
|
-
* functions. These are functions that are not quite widely used
|
6
|
-
* enough to justify going in utils/palloc.h, but are still part
|
7
|
-
* of the API of the memory management subsystem.
|
8
|
-
*
|
9
|
-
*
|
10
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
11
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
12
|
-
*
|
13
|
-
* src/include/utils/memutils.h
|
14
|
-
*
|
15
|
-
*-------------------------------------------------------------------------
|
16
|
-
*/
|
17
|
-
#ifndef MEMUTILS_H
|
18
|
-
#define MEMUTILS_H
|
19
|
-
|
20
|
-
#include "nodes/memnodes.h"
|
21
|
-
|
22
|
-
|
23
|
-
/*
|
24
|
-
* MaxAllocSize, MaxAllocHugeSize
|
25
|
-
* Quasi-arbitrary limits on size of allocations.
|
26
|
-
*
|
27
|
-
* Note:
|
28
|
-
* There is no guarantee that smaller allocations will succeed, but
|
29
|
-
* larger requests will be summarily denied.
|
30
|
-
*
|
31
|
-
* palloc() enforces MaxAllocSize, chosen to correspond to the limiting size
|
32
|
-
* of varlena objects under TOAST. See VARSIZE_4B() and related macros in
|
33
|
-
* postgres.h. Many datatypes assume that any allocatable size can be
|
34
|
-
* represented in a varlena header. This limit also permits a caller to use
|
35
|
-
* an "int" variable for an index into or length of an allocation. Callers
|
36
|
-
* careful to avoid these hazards can access the higher limit with
|
37
|
-
* MemoryContextAllocHuge(). Both limits permit code to assume that it may
|
38
|
-
* compute twice an allocation's size without overflow.
|
39
|
-
*/
|
40
|
-
#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */
|
41
|
-
|
42
|
-
#define AllocSizeIsValid(size) ((Size) (size) <= MaxAllocSize)
|
43
|
-
|
44
|
-
#define MaxAllocHugeSize (SIZE_MAX / 2)
|
45
|
-
|
46
|
-
#define AllocHugeSizeIsValid(size) ((Size) (size) <= MaxAllocHugeSize)
|
47
|
-
|
48
|
-
|
49
|
-
/*
|
50
|
-
* Standard top-level memory contexts.
|
51
|
-
*
|
52
|
-
* Only TopMemoryContext and ErrorContext are initialized by
|
53
|
-
* MemoryContextInit() itself.
|
54
|
-
*/
|
55
|
-
extern PGDLLIMPORT __thread MemoryContext TopMemoryContext;
|
56
|
-
extern PGDLLIMPORT __thread MemoryContext ErrorContext;
|
57
|
-
extern PGDLLIMPORT MemoryContext PostmasterContext;
|
58
|
-
extern PGDLLIMPORT MemoryContext CacheMemoryContext;
|
59
|
-
extern PGDLLIMPORT MemoryContext MessageContext;
|
60
|
-
extern PGDLLIMPORT MemoryContext TopTransactionContext;
|
61
|
-
extern PGDLLIMPORT MemoryContext CurTransactionContext;
|
62
|
-
|
63
|
-
/* This is a transient link to the active portal's memory context: */
|
64
|
-
extern PGDLLIMPORT MemoryContext PortalContext;
|
65
|
-
|
66
|
-
/* Backwards compatibility macro */
|
67
|
-
#define MemoryContextResetAndDeleteChildren(ctx) MemoryContextReset(ctx)
|
68
|
-
|
69
|
-
|
70
|
-
/*
|
71
|
-
* Memory-context-type-independent functions in mcxt.c
|
72
|
-
*/
|
73
|
-
extern void MemoryContextInit(void);
|
74
|
-
extern void MemoryContextReset(MemoryContext context);
|
75
|
-
extern void MemoryContextDelete(MemoryContext context);
|
76
|
-
extern void MemoryContextResetOnly(MemoryContext context);
|
77
|
-
extern void MemoryContextResetChildren(MemoryContext context);
|
78
|
-
extern void MemoryContextDeleteChildren(MemoryContext context);
|
79
|
-
extern void MemoryContextSetIdentifier(MemoryContext context, const char *id);
|
80
|
-
extern void MemoryContextSetParent(MemoryContext context,
|
81
|
-
MemoryContext new_parent);
|
82
|
-
extern Size GetMemoryChunkSpace(void *pointer);
|
83
|
-
extern MemoryContext MemoryContextGetParent(MemoryContext context);
|
84
|
-
extern bool MemoryContextIsEmpty(MemoryContext context);
|
85
|
-
extern Size MemoryContextMemAllocated(MemoryContext context, bool recurse);
|
86
|
-
extern void MemoryContextStats(MemoryContext context);
|
87
|
-
extern void MemoryContextStatsDetail(MemoryContext context, int max_children,
|
88
|
-
bool print_to_stderr);
|
89
|
-
extern void MemoryContextAllowInCriticalSection(MemoryContext context,
|
90
|
-
bool allow);
|
91
|
-
|
92
|
-
#ifdef MEMORY_CONTEXT_CHECKING
|
93
|
-
extern void MemoryContextCheck(MemoryContext context);
|
94
|
-
#endif
|
95
|
-
extern bool MemoryContextContains(MemoryContext context, void *pointer);
|
96
|
-
|
97
|
-
/* Handy macro for copying and assigning context ID ... but note double eval */
|
98
|
-
#define MemoryContextCopyAndSetIdentifier(cxt, id) \
|
99
|
-
MemoryContextSetIdentifier(cxt, MemoryContextStrdup(cxt, id))
|
100
|
-
|
101
|
-
/*
|
102
|
-
* GetMemoryChunkContext
|
103
|
-
* Given a currently-allocated chunk, determine the context
|
104
|
-
* it belongs to.
|
105
|
-
*
|
106
|
-
* All chunks allocated by any memory context manager are required to be
|
107
|
-
* preceded by the corresponding MemoryContext stored, without padding, in the
|
108
|
-
* preceding sizeof(void*) bytes. A currently-allocated chunk must contain a
|
109
|
-
* backpointer to its owning context. The backpointer is used by pfree() and
|
110
|
-
* repalloc() to find the context to call.
|
111
|
-
*/
|
112
|
-
#ifndef FRONTEND
|
113
|
-
static inline MemoryContext
|
114
|
-
GetMemoryChunkContext(void *pointer)
|
115
|
-
{
|
116
|
-
MemoryContext context;
|
117
|
-
|
118
|
-
/*
|
119
|
-
* Try to detect bogus pointers handed to us, poorly though we can.
|
120
|
-
* Presumably, a pointer that isn't MAXALIGNED isn't pointing at an
|
121
|
-
* allocated chunk.
|
122
|
-
*/
|
123
|
-
Assert(pointer != NULL);
|
124
|
-
Assert(pointer == (void *) MAXALIGN(pointer));
|
125
|
-
|
126
|
-
/*
|
127
|
-
* OK, it's probably safe to look at the context.
|
128
|
-
*/
|
129
|
-
context = *(MemoryContext *) (((char *) pointer) - sizeof(void *));
|
130
|
-
|
131
|
-
AssertArg(MemoryContextIsValid(context));
|
132
|
-
|
133
|
-
return context;
|
134
|
-
}
|
135
|
-
#endif
|
136
|
-
|
137
|
-
/*
|
138
|
-
* This routine handles the context-type-independent part of memory
|
139
|
-
* context creation. It's intended to be called from context-type-
|
140
|
-
* specific creation routines, and noplace else.
|
141
|
-
*/
|
142
|
-
extern void MemoryContextCreate(MemoryContext node,
|
143
|
-
NodeTag tag,
|
144
|
-
const MemoryContextMethods *methods,
|
145
|
-
MemoryContext parent,
|
146
|
-
const char *name);
|
147
|
-
|
148
|
-
extern void HandleLogMemoryContextInterrupt(void);
|
149
|
-
extern void ProcessLogMemoryContextInterrupt(void);
|
150
|
-
|
151
|
-
/*
|
152
|
-
* Memory-context-type-specific functions
|
153
|
-
*/
|
154
|
-
|
155
|
-
/* aset.c */
|
156
|
-
extern MemoryContext AllocSetContextCreateInternal(MemoryContext parent,
|
157
|
-
const char *name,
|
158
|
-
Size minContextSize,
|
159
|
-
Size initBlockSize,
|
160
|
-
Size maxBlockSize);
|
161
|
-
extern void AllocSetDeleteFreeList(MemoryContext context);
|
162
|
-
|
163
|
-
/*
|
164
|
-
* This wrapper macro exists to check for non-constant strings used as context
|
165
|
-
* names; that's no longer supported. (Use MemoryContextSetIdentifier if you
|
166
|
-
* want to provide a variable identifier.)
|
167
|
-
*/
|
168
|
-
#ifdef HAVE__BUILTIN_CONSTANT_P
|
169
|
-
#define AllocSetContextCreate(parent, name, ...) \
|
170
|
-
(StaticAssertExpr(__builtin_constant_p(name), \
|
171
|
-
"memory context names must be constant strings"), \
|
172
|
-
AllocSetContextCreateInternal(parent, name, __VA_ARGS__))
|
173
|
-
#else
|
174
|
-
#define AllocSetContextCreate \
|
175
|
-
AllocSetContextCreateInternal
|
176
|
-
#endif
|
177
|
-
|
178
|
-
/* slab.c */
|
179
|
-
extern MemoryContext SlabContextCreate(MemoryContext parent,
|
180
|
-
const char *name,
|
181
|
-
Size blockSize,
|
182
|
-
Size chunkSize);
|
183
|
-
|
184
|
-
/* generation.c */
|
185
|
-
extern MemoryContext GenerationContextCreate(MemoryContext parent,
|
186
|
-
const char *name,
|
187
|
-
Size minContextSize,
|
188
|
-
Size initBlockSize,
|
189
|
-
Size maxBlockSize);
|
190
|
-
|
191
|
-
/*
|
192
|
-
* Recommended default alloc parameters, suitable for "ordinary" contexts
|
193
|
-
* that might hold quite a lot of data.
|
194
|
-
*/
|
195
|
-
#define ALLOCSET_DEFAULT_MINSIZE 0
|
196
|
-
#define ALLOCSET_DEFAULT_INITSIZE (8 * 1024)
|
197
|
-
#define ALLOCSET_DEFAULT_MAXSIZE (8 * 1024 * 1024)
|
198
|
-
#define ALLOCSET_DEFAULT_SIZES \
|
199
|
-
ALLOCSET_DEFAULT_MINSIZE, ALLOCSET_DEFAULT_INITSIZE, ALLOCSET_DEFAULT_MAXSIZE
|
200
|
-
|
201
|
-
/*
|
202
|
-
* Recommended alloc parameters for "small" contexts that are never expected
|
203
|
-
* to contain much data (for example, a context to contain a query plan).
|
204
|
-
*/
|
205
|
-
#define ALLOCSET_SMALL_MINSIZE 0
|
206
|
-
#define ALLOCSET_SMALL_INITSIZE (1 * 1024)
|
207
|
-
#define ALLOCSET_SMALL_MAXSIZE (8 * 1024)
|
208
|
-
#define ALLOCSET_SMALL_SIZES \
|
209
|
-
ALLOCSET_SMALL_MINSIZE, ALLOCSET_SMALL_INITSIZE, ALLOCSET_SMALL_MAXSIZE
|
210
|
-
|
211
|
-
/*
|
212
|
-
* Recommended alloc parameters for contexts that should start out small,
|
213
|
-
* but might sometimes grow big.
|
214
|
-
*/
|
215
|
-
#define ALLOCSET_START_SMALL_SIZES \
|
216
|
-
ALLOCSET_SMALL_MINSIZE, ALLOCSET_SMALL_INITSIZE, ALLOCSET_DEFAULT_MAXSIZE
|
217
|
-
|
218
|
-
|
219
|
-
/*
|
220
|
-
* Threshold above which a request in an AllocSet context is certain to be
|
221
|
-
* allocated separately (and thereby have constant allocation overhead).
|
222
|
-
* Few callers should be interested in this, but tuplesort/tuplestore need
|
223
|
-
* to know it.
|
224
|
-
*/
|
225
|
-
#define ALLOCSET_SEPARATE_THRESHOLD 8192
|
226
|
-
|
227
|
-
#define SLAB_DEFAULT_BLOCK_SIZE (8 * 1024)
|
228
|
-
#define SLAB_LARGE_BLOCK_SIZE (8 * 1024 * 1024)
|
229
|
-
|
230
|
-
#endif /* MEMUTILS_H */
|
@@ -1,90 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* numeric.h
|
4
|
-
* Definitions for the exact numeric data type of Postgres
|
5
|
-
*
|
6
|
-
* Original coding 1998, Jan Wieck. Heavily revised 2003, Tom Lane.
|
7
|
-
*
|
8
|
-
* Copyright (c) 1998-2022, PostgreSQL Global Development Group
|
9
|
-
*
|
10
|
-
* src/include/utils/numeric.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef _PG_NUMERIC_H_
|
15
|
-
#define _PG_NUMERIC_H_
|
16
|
-
|
17
|
-
#include "fmgr.h"
|
18
|
-
|
19
|
-
/*
|
20
|
-
* Limits on the precision and scale specifiable in a NUMERIC typmod. The
|
21
|
-
* precision is strictly positive, but the scale may be positive or negative.
|
22
|
-
* A negative scale implies rounding before the decimal point.
|
23
|
-
*
|
24
|
-
* Note that the minimum display scale defined below is zero --- we always
|
25
|
-
* display all digits before the decimal point, even when the scale is
|
26
|
-
* negative.
|
27
|
-
*
|
28
|
-
* Note that the implementation limits on the precision and display scale of a
|
29
|
-
* numeric value are much larger --- beware of what you use these for!
|
30
|
-
*/
|
31
|
-
#define NUMERIC_MAX_PRECISION 1000
|
32
|
-
|
33
|
-
#define NUMERIC_MIN_SCALE (-1000)
|
34
|
-
#define NUMERIC_MAX_SCALE 1000
|
35
|
-
|
36
|
-
/*
|
37
|
-
* Internal limits on the scales chosen for calculation results
|
38
|
-
*/
|
39
|
-
#define NUMERIC_MAX_DISPLAY_SCALE NUMERIC_MAX_PRECISION
|
40
|
-
#define NUMERIC_MIN_DISPLAY_SCALE 0
|
41
|
-
|
42
|
-
#define NUMERIC_MAX_RESULT_SCALE (NUMERIC_MAX_PRECISION * 2)
|
43
|
-
|
44
|
-
/*
|
45
|
-
* For inherently inexact calculations such as division and square root,
|
46
|
-
* we try to get at least this many significant digits; the idea is to
|
47
|
-
* deliver a result no worse than float8 would.
|
48
|
-
*/
|
49
|
-
#define NUMERIC_MIN_SIG_DIGITS 16
|
50
|
-
|
51
|
-
/* The actual contents of Numeric are private to numeric.c */
|
52
|
-
struct NumericData;
|
53
|
-
typedef struct NumericData *Numeric;
|
54
|
-
|
55
|
-
/*
|
56
|
-
* fmgr interface macros
|
57
|
-
*/
|
58
|
-
|
59
|
-
#define DatumGetNumeric(X) ((Numeric) PG_DETOAST_DATUM(X))
|
60
|
-
#define DatumGetNumericCopy(X) ((Numeric) PG_DETOAST_DATUM_COPY(X))
|
61
|
-
#define NumericGetDatum(X) PointerGetDatum(X)
|
62
|
-
#define PG_GETARG_NUMERIC(n) DatumGetNumeric(PG_GETARG_DATUM(n))
|
63
|
-
#define PG_GETARG_NUMERIC_COPY(n) DatumGetNumericCopy(PG_GETARG_DATUM(n))
|
64
|
-
#define PG_RETURN_NUMERIC(x) return NumericGetDatum(x)
|
65
|
-
|
66
|
-
/*
|
67
|
-
* Utility functions in numeric.c
|
68
|
-
*/
|
69
|
-
extern bool numeric_is_nan(Numeric num);
|
70
|
-
extern bool numeric_is_inf(Numeric num);
|
71
|
-
extern int32 numeric_maximum_size(int32 typmod);
|
72
|
-
extern char *numeric_out_sci(Numeric num, int scale);
|
73
|
-
extern char *numeric_normalize(Numeric num);
|
74
|
-
|
75
|
-
extern Numeric int64_to_numeric(int64 val);
|
76
|
-
extern Numeric int64_div_fast_to_numeric(int64 val1, int log10val2);
|
77
|
-
|
78
|
-
extern Numeric numeric_add_opt_error(Numeric num1, Numeric num2,
|
79
|
-
bool *have_error);
|
80
|
-
extern Numeric numeric_sub_opt_error(Numeric num1, Numeric num2,
|
81
|
-
bool *have_error);
|
82
|
-
extern Numeric numeric_mul_opt_error(Numeric num1, Numeric num2,
|
83
|
-
bool *have_error);
|
84
|
-
extern Numeric numeric_div_opt_error(Numeric num1, Numeric num2,
|
85
|
-
bool *have_error);
|
86
|
-
extern Numeric numeric_mod_opt_error(Numeric num1, Numeric num2,
|
87
|
-
bool *have_error);
|
88
|
-
extern int32 numeric_int4_opt_error(Numeric num, bool *error);
|
89
|
-
|
90
|
-
#endif /* _PG_NUMERIC_H_ */
|
@@ -1,158 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* palloc.h
|
4
|
-
* POSTGRES memory allocator definitions.
|
5
|
-
*
|
6
|
-
* This file contains the basic memory allocation interface that is
|
7
|
-
* needed by almost every backend module. It is included directly by
|
8
|
-
* postgres.h, so the definitions here are automatically available
|
9
|
-
* everywhere. Keep it lean!
|
10
|
-
*
|
11
|
-
* Memory allocation occurs within "contexts". Every chunk obtained from
|
12
|
-
* palloc()/MemoryContextAlloc() is allocated within a specific context.
|
13
|
-
* The entire contents of a context can be freed easily and quickly by
|
14
|
-
* resetting or deleting the context --- this is both faster and less
|
15
|
-
* prone to memory-leakage bugs than releasing chunks individually.
|
16
|
-
* We organize contexts into context trees to allow fine-grain control
|
17
|
-
* over chunk lifetime while preserving the certainty that we will free
|
18
|
-
* everything that should be freed. See utils/mmgr/README for more info.
|
19
|
-
*
|
20
|
-
*
|
21
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
22
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
23
|
-
*
|
24
|
-
* src/include/utils/palloc.h
|
25
|
-
*
|
26
|
-
*-------------------------------------------------------------------------
|
27
|
-
*/
|
28
|
-
#ifndef PALLOC_H
|
29
|
-
#define PALLOC_H
|
30
|
-
|
31
|
-
/*
|
32
|
-
* Type MemoryContextData is declared in nodes/memnodes.h. Most users
|
33
|
-
* of memory allocation should just treat it as an abstract type, so we
|
34
|
-
* do not provide the struct contents here.
|
35
|
-
*/
|
36
|
-
typedef struct MemoryContextData *MemoryContext;
|
37
|
-
|
38
|
-
/*
|
39
|
-
* A memory context can have callback functions registered on it. Any such
|
40
|
-
* function will be called once just before the context is next reset or
|
41
|
-
* deleted. The MemoryContextCallback struct describing such a callback
|
42
|
-
* typically would be allocated within the context itself, thereby avoiding
|
43
|
-
* any need to manage it explicitly (the reset/delete action will free it).
|
44
|
-
*/
|
45
|
-
typedef void (*MemoryContextCallbackFunction) (void *arg);
|
46
|
-
|
47
|
-
typedef struct MemoryContextCallback
|
48
|
-
{
|
49
|
-
MemoryContextCallbackFunction func; /* function to call */
|
50
|
-
void *arg; /* argument to pass it */
|
51
|
-
struct MemoryContextCallback *next; /* next in list of callbacks */
|
52
|
-
} MemoryContextCallback;
|
53
|
-
|
54
|
-
/*
|
55
|
-
* CurrentMemoryContext is the default allocation context for palloc().
|
56
|
-
* Avoid accessing it directly! Instead, use MemoryContextSwitchTo()
|
57
|
-
* to change the setting.
|
58
|
-
*/
|
59
|
-
extern PGDLLIMPORT __thread MemoryContext CurrentMemoryContext;
|
60
|
-
|
61
|
-
/*
|
62
|
-
* Flags for MemoryContextAllocExtended.
|
63
|
-
*/
|
64
|
-
#define MCXT_ALLOC_HUGE 0x01 /* allow huge allocation (> 1 GB) */
|
65
|
-
#define MCXT_ALLOC_NO_OOM 0x02 /* no failure if out-of-memory */
|
66
|
-
#define MCXT_ALLOC_ZERO 0x04 /* zero allocated memory */
|
67
|
-
|
68
|
-
/*
|
69
|
-
* Fundamental memory-allocation operations (more are in utils/memutils.h)
|
70
|
-
*/
|
71
|
-
extern void *MemoryContextAlloc(MemoryContext context, Size size);
|
72
|
-
extern void *MemoryContextAllocZero(MemoryContext context, Size size);
|
73
|
-
extern void *MemoryContextAllocZeroAligned(MemoryContext context, Size size);
|
74
|
-
extern void *MemoryContextAllocExtended(MemoryContext context,
|
75
|
-
Size size, int flags);
|
76
|
-
|
77
|
-
extern void *palloc(Size size);
|
78
|
-
extern void *palloc0(Size size);
|
79
|
-
extern void *palloc_extended(Size size, int flags);
|
80
|
-
extern pg_nodiscard void *repalloc(void *pointer, Size size);
|
81
|
-
extern void pfree(void *pointer);
|
82
|
-
|
83
|
-
/*
|
84
|
-
* Variants with easier notation and more type safety
|
85
|
-
*/
|
86
|
-
|
87
|
-
/*
|
88
|
-
* Allocate space for one object of type "type"
|
89
|
-
*/
|
90
|
-
#define palloc_object(type) ((type *) palloc(sizeof(type)))
|
91
|
-
#define palloc0_object(type) ((type *) palloc0(sizeof(type)))
|
92
|
-
|
93
|
-
/*
|
94
|
-
* Allocate space for "count" objects of type "type"
|
95
|
-
*/
|
96
|
-
#define palloc_array(type, count) ((type *) palloc(sizeof(type) * (count)))
|
97
|
-
#define palloc0_array(type, count) ((type *) palloc0(sizeof(type) * (count)))
|
98
|
-
|
99
|
-
/*
|
100
|
-
* Change size of allocation pointed to by "pointer" to have space for "count"
|
101
|
-
* objects of type "type"
|
102
|
-
*/
|
103
|
-
#define repalloc_array(pointer, type, count) ((type *) repalloc(pointer, sizeof(type) * (count)))
|
104
|
-
|
105
|
-
/*
|
106
|
-
* The result of palloc() is always word-aligned, so we can skip testing
|
107
|
-
* alignment of the pointer when deciding which MemSet variant to use.
|
108
|
-
* Note that this variant does not offer any advantage, and should not be
|
109
|
-
* used, unless its "sz" argument is a compile-time constant; therefore, the
|
110
|
-
* issue that it evaluates the argument multiple times isn't a problem in
|
111
|
-
* practice.
|
112
|
-
*/
|
113
|
-
#define palloc0fast(sz) \
|
114
|
-
( MemSetTest(0, sz) ? \
|
115
|
-
MemoryContextAllocZeroAligned(CurrentMemoryContext, sz) : \
|
116
|
-
MemoryContextAllocZero(CurrentMemoryContext, sz) )
|
117
|
-
|
118
|
-
/* Higher-limit allocators. */
|
119
|
-
extern void *MemoryContextAllocHuge(MemoryContext context, Size size);
|
120
|
-
extern pg_nodiscard void *repalloc_huge(void *pointer, Size size);
|
121
|
-
|
122
|
-
/*
|
123
|
-
* Although this header file is nominally backend-only, certain frontend
|
124
|
-
* programs like pg_controldata include it via postgres.h. For some compilers
|
125
|
-
* it's necessary to hide the inline definition of MemoryContextSwitchTo in
|
126
|
-
* this scenario; hence the #ifndef FRONTEND.
|
127
|
-
*/
|
128
|
-
|
129
|
-
#ifndef FRONTEND
|
130
|
-
static inline MemoryContext
|
131
|
-
MemoryContextSwitchTo(MemoryContext context)
|
132
|
-
{
|
133
|
-
MemoryContext old = CurrentMemoryContext;
|
134
|
-
|
135
|
-
CurrentMemoryContext = context;
|
136
|
-
return old;
|
137
|
-
}
|
138
|
-
#endif /* FRONTEND */
|
139
|
-
|
140
|
-
/* Registration of memory context reset/delete callbacks */
|
141
|
-
extern void MemoryContextRegisterResetCallback(MemoryContext context,
|
142
|
-
MemoryContextCallback *cb);
|
143
|
-
|
144
|
-
/*
|
145
|
-
* These are like standard strdup() except the copied string is
|
146
|
-
* allocated in a context, not with malloc().
|
147
|
-
*/
|
148
|
-
extern char *MemoryContextStrdup(MemoryContext context, const char *string);
|
149
|
-
extern char *pstrdup(const char *in);
|
150
|
-
extern char *pnstrdup(const char *in, Size len);
|
151
|
-
|
152
|
-
extern char *pchomp(const char *in);
|
153
|
-
|
154
|
-
/* sprintf into a palloc'd buffer --- these are in psprintf.c */
|
155
|
-
extern char *psprintf(const char *fmt,...) pg_attribute_printf(1, 2);
|
156
|
-
extern size_t pvsnprintf(char *buf, size_t len, const char *fmt, va_list args) pg_attribute_printf(3, 0);
|
157
|
-
|
158
|
-
#endif /* PALLOC_H */
|
@@ -1,102 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* partcache.h
|
4
|
-
*
|
5
|
-
* Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
6
|
-
*
|
7
|
-
* src/include/utils/partcache.h
|
8
|
-
*
|
9
|
-
*-------------------------------------------------------------------------
|
10
|
-
*/
|
11
|
-
#ifndef PARTCACHE_H
|
12
|
-
#define PARTCACHE_H
|
13
|
-
|
14
|
-
#include "access/attnum.h"
|
15
|
-
#include "fmgr.h"
|
16
|
-
#include "nodes/pg_list.h"
|
17
|
-
#include "nodes/primnodes.h"
|
18
|
-
#include "partitioning/partdefs.h"
|
19
|
-
#include "utils/relcache.h"
|
20
|
-
|
21
|
-
/*
|
22
|
-
* Information about the partition key of a relation
|
23
|
-
*/
|
24
|
-
typedef struct PartitionKeyData
|
25
|
-
{
|
26
|
-
char strategy; /* partitioning strategy */
|
27
|
-
int16 partnatts; /* number of columns in the partition key */
|
28
|
-
AttrNumber *partattrs; /* attribute numbers of columns in the
|
29
|
-
* partition key or 0 if it's an expr */
|
30
|
-
List *partexprs; /* list of expressions in the partitioning
|
31
|
-
* key, one for each zero-valued partattrs */
|
32
|
-
|
33
|
-
Oid *partopfamily; /* OIDs of operator families */
|
34
|
-
Oid *partopcintype; /* OIDs of opclass declared input data types */
|
35
|
-
FmgrInfo *partsupfunc; /* lookup info for support funcs */
|
36
|
-
|
37
|
-
/* Partitioning collation per attribute */
|
38
|
-
Oid *partcollation;
|
39
|
-
|
40
|
-
/* Type information per attribute */
|
41
|
-
Oid *parttypid;
|
42
|
-
int32 *parttypmod;
|
43
|
-
int16 *parttyplen;
|
44
|
-
bool *parttypbyval;
|
45
|
-
char *parttypalign;
|
46
|
-
Oid *parttypcoll;
|
47
|
-
} PartitionKeyData;
|
48
|
-
|
49
|
-
|
50
|
-
extern PartitionKey RelationGetPartitionKey(Relation rel);
|
51
|
-
extern List *RelationGetPartitionQual(Relation rel);
|
52
|
-
extern Expr *get_partition_qual_relid(Oid relid);
|
53
|
-
|
54
|
-
/*
|
55
|
-
* PartitionKey inquiry functions
|
56
|
-
*/
|
57
|
-
static inline int
|
58
|
-
get_partition_strategy(PartitionKey key)
|
59
|
-
{
|
60
|
-
return key->strategy;
|
61
|
-
}
|
62
|
-
|
63
|
-
static inline int
|
64
|
-
get_partition_natts(PartitionKey key)
|
65
|
-
{
|
66
|
-
return key->partnatts;
|
67
|
-
}
|
68
|
-
|
69
|
-
static inline List *
|
70
|
-
get_partition_exprs(PartitionKey key)
|
71
|
-
{
|
72
|
-
return key->partexprs;
|
73
|
-
}
|
74
|
-
|
75
|
-
/*
|
76
|
-
* PartitionKey inquiry functions - one column
|
77
|
-
*/
|
78
|
-
static inline int16
|
79
|
-
get_partition_col_attnum(PartitionKey key, int col)
|
80
|
-
{
|
81
|
-
return key->partattrs[col];
|
82
|
-
}
|
83
|
-
|
84
|
-
static inline Oid
|
85
|
-
get_partition_col_typid(PartitionKey key, int col)
|
86
|
-
{
|
87
|
-
return key->parttypid[col];
|
88
|
-
}
|
89
|
-
|
90
|
-
static inline int32
|
91
|
-
get_partition_col_typmod(PartitionKey key, int col)
|
92
|
-
{
|
93
|
-
return key->parttypmod[col];
|
94
|
-
}
|
95
|
-
|
96
|
-
static inline Oid
|
97
|
-
get_partition_col_collation(PartitionKey key, int col)
|
98
|
-
{
|
99
|
-
return key->partcollation[col];
|
100
|
-
}
|
101
|
-
|
102
|
-
#endif /* PARTCACHE_H */
|