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,291 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* tuplesort.h
|
4
|
-
* Generalized tuple sorting routines.
|
5
|
-
*
|
6
|
-
* This module handles sorting of heap tuples, index tuples, or single
|
7
|
-
* Datums (and could easily support other kinds of sortable objects,
|
8
|
-
* if necessary). It works efficiently for both small and large amounts
|
9
|
-
* of data. Small amounts are sorted in-memory using qsort(). Large
|
10
|
-
* amounts are sorted using temporary files and a standard external sort
|
11
|
-
* algorithm. Parallel sorts use a variant of this external sort
|
12
|
-
* algorithm, and are typically only used for large amounts of data.
|
13
|
-
*
|
14
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
15
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
16
|
-
*
|
17
|
-
* src/include/utils/tuplesort.h
|
18
|
-
*
|
19
|
-
*-------------------------------------------------------------------------
|
20
|
-
*/
|
21
|
-
#ifndef TUPLESORT_H
|
22
|
-
#define TUPLESORT_H
|
23
|
-
|
24
|
-
#include "access/itup.h"
|
25
|
-
#include "executor/tuptable.h"
|
26
|
-
#include "storage/dsm.h"
|
27
|
-
#include "utils/relcache.h"
|
28
|
-
|
29
|
-
|
30
|
-
/*
|
31
|
-
* Tuplesortstate and Sharedsort are opaque types whose details are not
|
32
|
-
* known outside tuplesort.c.
|
33
|
-
*/
|
34
|
-
typedef struct Tuplesortstate Tuplesortstate;
|
35
|
-
typedef struct Sharedsort Sharedsort;
|
36
|
-
|
37
|
-
/*
|
38
|
-
* Tuplesort parallel coordination state, allocated by each participant in
|
39
|
-
* local memory. Participant caller initializes everything. See usage notes
|
40
|
-
* below.
|
41
|
-
*/
|
42
|
-
typedef struct SortCoordinateData
|
43
|
-
{
|
44
|
-
/* Worker process? If not, must be leader. */
|
45
|
-
bool isWorker;
|
46
|
-
|
47
|
-
/*
|
48
|
-
* Leader-process-passed number of participants known launched (workers
|
49
|
-
* set this to -1). Includes state within leader needed for it to
|
50
|
-
* participate as a worker, if any.
|
51
|
-
*/
|
52
|
-
int nParticipants;
|
53
|
-
|
54
|
-
/* Private opaque state (points to shared memory) */
|
55
|
-
Sharedsort *sharedsort;
|
56
|
-
} SortCoordinateData;
|
57
|
-
|
58
|
-
typedef struct SortCoordinateData *SortCoordinate;
|
59
|
-
|
60
|
-
/*
|
61
|
-
* Data structures for reporting sort statistics. Note that
|
62
|
-
* TuplesortInstrumentation can't contain any pointers because we
|
63
|
-
* sometimes put it in shared memory.
|
64
|
-
*
|
65
|
-
* The parallel-sort infrastructure relies on having a zero TuplesortMethod
|
66
|
-
* to indicate that a worker never did anything, so we assign zero to
|
67
|
-
* SORT_TYPE_STILL_IN_PROGRESS. The other values of this enum can be
|
68
|
-
* OR'ed together to represent a situation where different workers used
|
69
|
-
* different methods, so we need a separate bit for each one. Keep the
|
70
|
-
* NUM_TUPLESORTMETHODS constant in sync with the number of bits!
|
71
|
-
*/
|
72
|
-
typedef enum
|
73
|
-
{
|
74
|
-
SORT_TYPE_STILL_IN_PROGRESS = 0,
|
75
|
-
SORT_TYPE_TOP_N_HEAPSORT = 1 << 0,
|
76
|
-
SORT_TYPE_QUICKSORT = 1 << 1,
|
77
|
-
SORT_TYPE_EXTERNAL_SORT = 1 << 2,
|
78
|
-
SORT_TYPE_EXTERNAL_MERGE = 1 << 3
|
79
|
-
} TuplesortMethod;
|
80
|
-
|
81
|
-
#define NUM_TUPLESORTMETHODS 4
|
82
|
-
|
83
|
-
typedef enum
|
84
|
-
{
|
85
|
-
SORT_SPACE_TYPE_DISK,
|
86
|
-
SORT_SPACE_TYPE_MEMORY
|
87
|
-
} TuplesortSpaceType;
|
88
|
-
|
89
|
-
/* Bitwise option flags for tuple sorts */
|
90
|
-
#define TUPLESORT_NONE 0
|
91
|
-
|
92
|
-
/* specifies whether non-sequential access to the sort result is required */
|
93
|
-
#define TUPLESORT_RANDOMACCESS (1 << 0)
|
94
|
-
|
95
|
-
/* specifies if the tuplesort is able to support bounded sorts */
|
96
|
-
#define TUPLESORT_ALLOWBOUNDED (1 << 1)
|
97
|
-
|
98
|
-
typedef struct TuplesortInstrumentation
|
99
|
-
{
|
100
|
-
TuplesortMethod sortMethod; /* sort algorithm used */
|
101
|
-
TuplesortSpaceType spaceType; /* type of space spaceUsed represents */
|
102
|
-
int64 spaceUsed; /* space consumption, in kB */
|
103
|
-
} TuplesortInstrumentation;
|
104
|
-
|
105
|
-
|
106
|
-
/*
|
107
|
-
* We provide multiple interfaces to what is essentially the same code,
|
108
|
-
* since different callers have different data to be sorted and want to
|
109
|
-
* specify the sort key information differently. There are two APIs for
|
110
|
-
* sorting HeapTuples and two more for sorting IndexTuples. Yet another
|
111
|
-
* API supports sorting bare Datums.
|
112
|
-
*
|
113
|
-
* Serial sort callers should pass NULL for their coordinate argument.
|
114
|
-
*
|
115
|
-
* The "heap" API actually stores/sorts MinimalTuples, which means it doesn't
|
116
|
-
* preserve the system columns (tuple identity and transaction visibility
|
117
|
-
* info). The sort keys are specified by column numbers within the tuples
|
118
|
-
* and sort operator OIDs. We save some cycles by passing and returning the
|
119
|
-
* tuples in TupleTableSlots, rather than forming actual HeapTuples (which'd
|
120
|
-
* have to be converted to MinimalTuples). This API works well for sorts
|
121
|
-
* executed as parts of plan trees.
|
122
|
-
*
|
123
|
-
* The "cluster" API stores/sorts full HeapTuples including all visibility
|
124
|
-
* info. The sort keys are specified by reference to a btree index that is
|
125
|
-
* defined on the relation to be sorted. Note that putheaptuple/getheaptuple
|
126
|
-
* go with this API, not the "begin_heap" one!
|
127
|
-
*
|
128
|
-
* The "index_btree" API stores/sorts IndexTuples (preserving all their
|
129
|
-
* header fields). The sort keys are specified by a btree index definition.
|
130
|
-
*
|
131
|
-
* The "index_hash" API is similar to index_btree, but the tuples are
|
132
|
-
* actually sorted by their hash codes not the raw data.
|
133
|
-
*
|
134
|
-
* Parallel sort callers are required to coordinate multiple tuplesort states
|
135
|
-
* in a leader process and one or more worker processes. The leader process
|
136
|
-
* must launch workers, and have each perform an independent "partial"
|
137
|
-
* tuplesort, typically fed by the parallel heap interface. The leader later
|
138
|
-
* produces the final output (internally, it merges runs output by workers).
|
139
|
-
*
|
140
|
-
* Callers must do the following to perform a sort in parallel using multiple
|
141
|
-
* worker processes:
|
142
|
-
*
|
143
|
-
* 1. Request tuplesort-private shared memory for n workers. Use
|
144
|
-
* tuplesort_estimate_shared() to get the required size.
|
145
|
-
* 2. Have leader process initialize allocated shared memory using
|
146
|
-
* tuplesort_initialize_shared(). Launch workers.
|
147
|
-
* 3. Initialize a coordinate argument within both the leader process, and
|
148
|
-
* for each worker process. This has a pointer to the shared
|
149
|
-
* tuplesort-private structure, as well as some caller-initialized fields.
|
150
|
-
* Leader's coordinate argument reliably indicates number of workers
|
151
|
-
* launched (this is unused by workers).
|
152
|
-
* 4. Begin a tuplesort using some appropriate tuplesort_begin* routine,
|
153
|
-
* (passing the coordinate argument) within each worker. The workMem
|
154
|
-
* arguments need not be identical. All other arguments should match
|
155
|
-
* exactly, though.
|
156
|
-
* 5. tuplesort_attach_shared() should be called by all workers. Feed tuples
|
157
|
-
* to each worker, and call tuplesort_performsort() within each when input
|
158
|
-
* is exhausted.
|
159
|
-
* 6. Call tuplesort_end() in each worker process. Worker processes can shut
|
160
|
-
* down once tuplesort_end() returns.
|
161
|
-
* 7. Begin a tuplesort in the leader using the same tuplesort_begin*
|
162
|
-
* routine, passing a leader-appropriate coordinate argument (this can
|
163
|
-
* happen as early as during step 3, actually, since we only need to know
|
164
|
-
* the number of workers successfully launched). The leader must now wait
|
165
|
-
* for workers to finish. Caller must use own mechanism for ensuring that
|
166
|
-
* next step isn't reached until all workers have called and returned from
|
167
|
-
* tuplesort_performsort(). (Note that it's okay if workers have already
|
168
|
-
* also called tuplesort_end() by then.)
|
169
|
-
* 8. Call tuplesort_performsort() in leader. Consume output using the
|
170
|
-
* appropriate tuplesort_get* routine. Leader can skip this step if
|
171
|
-
* tuplesort turns out to be unnecessary.
|
172
|
-
* 9. Call tuplesort_end() in leader.
|
173
|
-
*
|
174
|
-
* This division of labor assumes nothing about how input tuples are produced,
|
175
|
-
* but does require that caller combine the state of multiple tuplesorts for
|
176
|
-
* any purpose other than producing the final output. For example, callers
|
177
|
-
* must consider that tuplesort_get_stats() reports on only one worker's role
|
178
|
-
* in a sort (or the leader's role), and not statistics for the sort as a
|
179
|
-
* whole.
|
180
|
-
*
|
181
|
-
* Note that callers may use the leader process to sort runs as if it was an
|
182
|
-
* independent worker process (prior to the process performing a leader sort
|
183
|
-
* to produce the final sorted output). Doing so only requires a second
|
184
|
-
* "partial" tuplesort within the leader process, initialized like that of a
|
185
|
-
* worker process. The steps above don't touch on this directly. The only
|
186
|
-
* difference is that the tuplesort_attach_shared() call is never needed within
|
187
|
-
* leader process, because the backend as a whole holds the shared fileset
|
188
|
-
* reference. A worker Tuplesortstate in leader is expected to do exactly the
|
189
|
-
* same amount of total initial processing work as a worker process
|
190
|
-
* Tuplesortstate, since the leader process has nothing else to do before
|
191
|
-
* workers finish.
|
192
|
-
*
|
193
|
-
* Note that only a very small amount of memory will be allocated prior to
|
194
|
-
* the leader state first consuming input, and that workers will free the
|
195
|
-
* vast majority of their memory upon returning from tuplesort_performsort().
|
196
|
-
* Callers can rely on this to arrange for memory to be used in a way that
|
197
|
-
* respects a workMem-style budget across an entire parallel sort operation.
|
198
|
-
*
|
199
|
-
* Callers are responsible for parallel safety in general. However, they
|
200
|
-
* can at least rely on there being no parallel safety hazards within
|
201
|
-
* tuplesort, because tuplesort thinks of the sort as several independent
|
202
|
-
* sorts whose results are combined. Since, in general, the behavior of
|
203
|
-
* sort operators is immutable, caller need only worry about the parallel
|
204
|
-
* safety of whatever the process is through which input tuples are
|
205
|
-
* generated (typically, caller uses a parallel heap scan).
|
206
|
-
*/
|
207
|
-
|
208
|
-
extern Tuplesortstate *tuplesort_begin_heap(TupleDesc tupDesc,
|
209
|
-
int nkeys, AttrNumber *attNums,
|
210
|
-
Oid *sortOperators, Oid *sortCollations,
|
211
|
-
bool *nullsFirstFlags,
|
212
|
-
int workMem, SortCoordinate coordinate,
|
213
|
-
int sortopt);
|
214
|
-
extern Tuplesortstate *tuplesort_begin_cluster(TupleDesc tupDesc,
|
215
|
-
Relation indexRel, int workMem,
|
216
|
-
SortCoordinate coordinate,
|
217
|
-
int sortopt);
|
218
|
-
extern Tuplesortstate *tuplesort_begin_index_btree(Relation heapRel,
|
219
|
-
Relation indexRel,
|
220
|
-
bool enforceUnique,
|
221
|
-
bool uniqueNullsNotDistinct,
|
222
|
-
int workMem, SortCoordinate coordinate,
|
223
|
-
int sortopt);
|
224
|
-
extern Tuplesortstate *tuplesort_begin_index_hash(Relation heapRel,
|
225
|
-
Relation indexRel,
|
226
|
-
uint32 high_mask,
|
227
|
-
uint32 low_mask,
|
228
|
-
uint32 max_buckets,
|
229
|
-
int workMem, SortCoordinate coordinate,
|
230
|
-
int sortopt);
|
231
|
-
extern Tuplesortstate *tuplesort_begin_index_gist(Relation heapRel,
|
232
|
-
Relation indexRel,
|
233
|
-
int workMem, SortCoordinate coordinate,
|
234
|
-
int sortopt);
|
235
|
-
extern Tuplesortstate *tuplesort_begin_datum(Oid datumType,
|
236
|
-
Oid sortOperator, Oid sortCollation,
|
237
|
-
bool nullsFirstFlag,
|
238
|
-
int workMem, SortCoordinate coordinate,
|
239
|
-
int sortopt);
|
240
|
-
|
241
|
-
extern void tuplesort_set_bound(Tuplesortstate *state, int64 bound);
|
242
|
-
extern bool tuplesort_used_bound(Tuplesortstate *state);
|
243
|
-
|
244
|
-
extern void tuplesort_puttupleslot(Tuplesortstate *state,
|
245
|
-
TupleTableSlot *slot);
|
246
|
-
extern void tuplesort_putheaptuple(Tuplesortstate *state, HeapTuple tup);
|
247
|
-
extern void tuplesort_putindextuplevalues(Tuplesortstate *state,
|
248
|
-
Relation rel, ItemPointer self,
|
249
|
-
Datum *values, bool *isnull);
|
250
|
-
extern void tuplesort_putdatum(Tuplesortstate *state, Datum val,
|
251
|
-
bool isNull);
|
252
|
-
|
253
|
-
extern void tuplesort_performsort(Tuplesortstate *state);
|
254
|
-
|
255
|
-
extern bool tuplesort_gettupleslot(Tuplesortstate *state, bool forward,
|
256
|
-
bool copy, TupleTableSlot *slot, Datum *abbrev);
|
257
|
-
extern HeapTuple tuplesort_getheaptuple(Tuplesortstate *state, bool forward);
|
258
|
-
extern IndexTuple tuplesort_getindextuple(Tuplesortstate *state, bool forward);
|
259
|
-
extern bool tuplesort_getdatum(Tuplesortstate *state, bool forward,
|
260
|
-
Datum *val, bool *isNull, Datum *abbrev);
|
261
|
-
|
262
|
-
extern bool tuplesort_skiptuples(Tuplesortstate *state, int64 ntuples,
|
263
|
-
bool forward);
|
264
|
-
|
265
|
-
extern void tuplesort_end(Tuplesortstate *state);
|
266
|
-
|
267
|
-
extern void tuplesort_reset(Tuplesortstate *state);
|
268
|
-
|
269
|
-
extern void tuplesort_get_stats(Tuplesortstate *state,
|
270
|
-
TuplesortInstrumentation *stats);
|
271
|
-
extern const char *tuplesort_method_name(TuplesortMethod m);
|
272
|
-
extern const char *tuplesort_space_type_name(TuplesortSpaceType t);
|
273
|
-
|
274
|
-
extern int tuplesort_merge_order(int64 allowedMem);
|
275
|
-
|
276
|
-
extern Size tuplesort_estimate_shared(int nworkers);
|
277
|
-
extern void tuplesort_initialize_shared(Sharedsort *shared, int nWorkers,
|
278
|
-
dsm_segment *seg);
|
279
|
-
extern void tuplesort_attach_shared(Sharedsort *shared, dsm_segment *seg);
|
280
|
-
|
281
|
-
/*
|
282
|
-
* These routines may only be called if TUPLESORT_RANDOMACCESS was specified
|
283
|
-
* during tuplesort_begin_*. Additionally backwards scan in gettuple/getdatum
|
284
|
-
* also require TUPLESORT_RANDOMACCESS. Note that parallel sorts do not
|
285
|
-
* support random access.
|
286
|
-
*/
|
287
|
-
extern void tuplesort_rescan(Tuplesortstate *state);
|
288
|
-
extern void tuplesort_markpos(Tuplesortstate *state);
|
289
|
-
extern void tuplesort_restorepos(Tuplesortstate *state);
|
290
|
-
|
291
|
-
#endif /* TUPLESORT_H */
|
@@ -1,91 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* tuplestore.h
|
4
|
-
* Generalized routines for temporary tuple storage.
|
5
|
-
*
|
6
|
-
* This module handles temporary storage of tuples for purposes such
|
7
|
-
* as Materialize nodes, hashjoin batch files, etc. It is essentially
|
8
|
-
* a dumbed-down version of tuplesort.c; it does no sorting of tuples
|
9
|
-
* but can only store and regurgitate a sequence of tuples. However,
|
10
|
-
* because no sort is required, it is allowed to start reading the sequence
|
11
|
-
* before it has all been written. This is particularly useful for cursors,
|
12
|
-
* because it allows random access within the already-scanned portion of
|
13
|
-
* a query without having to process the underlying scan to completion.
|
14
|
-
* Also, it is possible to support multiple independent read pointers.
|
15
|
-
*
|
16
|
-
* A temporary file is used to handle the data if it exceeds the
|
17
|
-
* space limit specified by the caller.
|
18
|
-
*
|
19
|
-
* Beginning in Postgres 8.2, what is stored is just MinimalTuples;
|
20
|
-
* callers cannot expect valid system columns in regurgitated tuples.
|
21
|
-
* Also, we have changed the API to return tuples in TupleTableSlots,
|
22
|
-
* so that there is a check to prevent attempted access to system columns.
|
23
|
-
*
|
24
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
25
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
26
|
-
*
|
27
|
-
* src/include/utils/tuplestore.h
|
28
|
-
*
|
29
|
-
*-------------------------------------------------------------------------
|
30
|
-
*/
|
31
|
-
#ifndef TUPLESTORE_H
|
32
|
-
#define TUPLESTORE_H
|
33
|
-
|
34
|
-
#include "executor/tuptable.h"
|
35
|
-
|
36
|
-
|
37
|
-
/* Tuplestorestate is an opaque type whose details are not known outside
|
38
|
-
* tuplestore.c.
|
39
|
-
*/
|
40
|
-
typedef struct Tuplestorestate Tuplestorestate;
|
41
|
-
|
42
|
-
/*
|
43
|
-
* Currently we only need to store MinimalTuples, but it would be easy
|
44
|
-
* to support the same behavior for IndexTuples and/or bare Datums.
|
45
|
-
*/
|
46
|
-
|
47
|
-
extern Tuplestorestate *tuplestore_begin_heap(bool randomAccess,
|
48
|
-
bool interXact,
|
49
|
-
int maxKBytes);
|
50
|
-
|
51
|
-
extern void tuplestore_set_eflags(Tuplestorestate *state, int eflags);
|
52
|
-
|
53
|
-
extern void tuplestore_puttupleslot(Tuplestorestate *state,
|
54
|
-
TupleTableSlot *slot);
|
55
|
-
extern void tuplestore_puttuple(Tuplestorestate *state, HeapTuple tuple);
|
56
|
-
extern void tuplestore_putvalues(Tuplestorestate *state, TupleDesc tdesc,
|
57
|
-
Datum *values, bool *isnull);
|
58
|
-
|
59
|
-
/* Backwards compatibility macro */
|
60
|
-
#define tuplestore_donestoring(state) ((void) 0)
|
61
|
-
|
62
|
-
extern int tuplestore_alloc_read_pointer(Tuplestorestate *state, int eflags);
|
63
|
-
|
64
|
-
extern void tuplestore_select_read_pointer(Tuplestorestate *state, int ptr);
|
65
|
-
|
66
|
-
extern void tuplestore_copy_read_pointer(Tuplestorestate *state,
|
67
|
-
int srcptr, int destptr);
|
68
|
-
|
69
|
-
extern void tuplestore_trim(Tuplestorestate *state);
|
70
|
-
|
71
|
-
extern bool tuplestore_in_memory(Tuplestorestate *state);
|
72
|
-
|
73
|
-
extern bool tuplestore_gettupleslot(Tuplestorestate *state, bool forward,
|
74
|
-
bool copy, TupleTableSlot *slot);
|
75
|
-
|
76
|
-
extern bool tuplestore_advance(Tuplestorestate *state, bool forward);
|
77
|
-
|
78
|
-
extern bool tuplestore_skiptuples(Tuplestorestate *state,
|
79
|
-
int64 ntuples, bool forward);
|
80
|
-
|
81
|
-
extern int64 tuplestore_tuple_count(Tuplestorestate *state);
|
82
|
-
|
83
|
-
extern bool tuplestore_ateof(Tuplestorestate *state);
|
84
|
-
|
85
|
-
extern void tuplestore_rescan(Tuplestorestate *state);
|
86
|
-
|
87
|
-
extern void tuplestore_clear(Tuplestorestate *state);
|
88
|
-
|
89
|
-
extern void tuplestore_end(Tuplestorestate *state);
|
90
|
-
|
91
|
-
#endif /* TUPLESTORE_H */
|
@@ -1,209 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* typcache.h
|
4
|
-
* Type cache definitions.
|
5
|
-
*
|
6
|
-
* The type cache exists to speed lookup of certain information about data
|
7
|
-
* types that is not directly available from a type's pg_type row.
|
8
|
-
*
|
9
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
10
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
11
|
-
*
|
12
|
-
* src/include/utils/typcache.h
|
13
|
-
*
|
14
|
-
*-------------------------------------------------------------------------
|
15
|
-
*/
|
16
|
-
#ifndef TYPCACHE_H
|
17
|
-
#define TYPCACHE_H
|
18
|
-
|
19
|
-
#include "access/tupdesc.h"
|
20
|
-
#include "fmgr.h"
|
21
|
-
#include "storage/dsm.h"
|
22
|
-
#include "utils/dsa.h"
|
23
|
-
|
24
|
-
|
25
|
-
/* DomainConstraintCache is an opaque struct known only within typcache.c */
|
26
|
-
typedef struct DomainConstraintCache DomainConstraintCache;
|
27
|
-
|
28
|
-
/* TypeCacheEnumData is an opaque struct known only within typcache.c */
|
29
|
-
struct TypeCacheEnumData;
|
30
|
-
|
31
|
-
typedef struct TypeCacheEntry
|
32
|
-
{
|
33
|
-
/* typeId is the hash lookup key and MUST BE FIRST */
|
34
|
-
Oid type_id; /* OID of the data type */
|
35
|
-
|
36
|
-
uint32 type_id_hash; /* hashed value of the OID */
|
37
|
-
|
38
|
-
/* some subsidiary information copied from the pg_type row */
|
39
|
-
int16 typlen;
|
40
|
-
bool typbyval;
|
41
|
-
char typalign;
|
42
|
-
char typstorage;
|
43
|
-
char typtype;
|
44
|
-
Oid typrelid;
|
45
|
-
Oid typsubscript;
|
46
|
-
Oid typelem;
|
47
|
-
Oid typcollation;
|
48
|
-
|
49
|
-
/*
|
50
|
-
* Information obtained from opfamily entries
|
51
|
-
*
|
52
|
-
* These will be InvalidOid if no match could be found, or if the
|
53
|
-
* information hasn't yet been requested. Also note that for array and
|
54
|
-
* composite types, typcache.c checks that the contained types are
|
55
|
-
* comparable or hashable before allowing eq_opr etc to become set.
|
56
|
-
*/
|
57
|
-
Oid btree_opf; /* the default btree opclass' family */
|
58
|
-
Oid btree_opintype; /* the default btree opclass' opcintype */
|
59
|
-
Oid hash_opf; /* the default hash opclass' family */
|
60
|
-
Oid hash_opintype; /* the default hash opclass' opcintype */
|
61
|
-
Oid eq_opr; /* the equality operator */
|
62
|
-
Oid lt_opr; /* the less-than operator */
|
63
|
-
Oid gt_opr; /* the greater-than operator */
|
64
|
-
Oid cmp_proc; /* the btree comparison function */
|
65
|
-
Oid hash_proc; /* the hash calculation function */
|
66
|
-
Oid hash_extended_proc; /* the extended hash calculation function */
|
67
|
-
|
68
|
-
/*
|
69
|
-
* Pre-set-up fmgr call info for the equality operator, the btree
|
70
|
-
* comparison function, and the hash calculation function. These are kept
|
71
|
-
* in the type cache to avoid problems with memory leaks in repeated calls
|
72
|
-
* to functions such as array_eq, array_cmp, hash_array. There is not
|
73
|
-
* currently a need to maintain call info for the lt_opr or gt_opr.
|
74
|
-
*/
|
75
|
-
FmgrInfo eq_opr_finfo;
|
76
|
-
FmgrInfo cmp_proc_finfo;
|
77
|
-
FmgrInfo hash_proc_finfo;
|
78
|
-
FmgrInfo hash_extended_proc_finfo;
|
79
|
-
|
80
|
-
/*
|
81
|
-
* Tuple descriptor if it's a composite type (row type). NULL if not
|
82
|
-
* composite or information hasn't yet been requested. (NOTE: this is a
|
83
|
-
* reference-counted tupledesc.)
|
84
|
-
*
|
85
|
-
* To simplify caching dependent info, tupDesc_identifier is an identifier
|
86
|
-
* for this tupledesc that is unique for the life of the process, and
|
87
|
-
* changes anytime the tupledesc does. Zero if not yet determined.
|
88
|
-
*/
|
89
|
-
TupleDesc tupDesc;
|
90
|
-
uint64 tupDesc_identifier;
|
91
|
-
|
92
|
-
/*
|
93
|
-
* Fields computed when TYPECACHE_RANGE_INFO is requested. Zeroes if not
|
94
|
-
* a range type or information hasn't yet been requested. Note that
|
95
|
-
* rng_cmp_proc_finfo could be different from the element type's default
|
96
|
-
* btree comparison function.
|
97
|
-
*/
|
98
|
-
struct TypeCacheEntry *rngelemtype; /* range's element type */
|
99
|
-
Oid rng_collation; /* collation for comparisons, if any */
|
100
|
-
FmgrInfo rng_cmp_proc_finfo; /* comparison function */
|
101
|
-
FmgrInfo rng_canonical_finfo; /* canonicalization function, if any */
|
102
|
-
FmgrInfo rng_subdiff_finfo; /* difference function, if any */
|
103
|
-
|
104
|
-
/*
|
105
|
-
* Fields computed when TYPECACHE_MULTIRANGE_INFO is required.
|
106
|
-
*/
|
107
|
-
struct TypeCacheEntry *rngtype; /* multirange's range underlying type */
|
108
|
-
|
109
|
-
/*
|
110
|
-
* Domain's base type and typmod if it's a domain type. Zeroes if not
|
111
|
-
* domain, or if information hasn't been requested.
|
112
|
-
*/
|
113
|
-
Oid domainBaseType;
|
114
|
-
int32 domainBaseTypmod;
|
115
|
-
|
116
|
-
/*
|
117
|
-
* Domain constraint data if it's a domain type. NULL if not domain, or
|
118
|
-
* if domain has no constraints, or if information hasn't been requested.
|
119
|
-
*/
|
120
|
-
DomainConstraintCache *domainData;
|
121
|
-
|
122
|
-
/* Private data, for internal use of typcache.c only */
|
123
|
-
int flags; /* flags about what we've computed */
|
124
|
-
|
125
|
-
/*
|
126
|
-
* Private information about an enum type. NULL if not enum or
|
127
|
-
* information hasn't been requested.
|
128
|
-
*/
|
129
|
-
struct TypeCacheEnumData *enumData;
|
130
|
-
|
131
|
-
/* We also maintain a list of all known domain-type cache entries */
|
132
|
-
struct TypeCacheEntry *nextDomain;
|
133
|
-
} TypeCacheEntry;
|
134
|
-
|
135
|
-
/* Bit flags to indicate which fields a given caller needs to have set */
|
136
|
-
#define TYPECACHE_EQ_OPR 0x00001
|
137
|
-
#define TYPECACHE_LT_OPR 0x00002
|
138
|
-
#define TYPECACHE_GT_OPR 0x00004
|
139
|
-
#define TYPECACHE_CMP_PROC 0x00008
|
140
|
-
#define TYPECACHE_HASH_PROC 0x00010
|
141
|
-
#define TYPECACHE_EQ_OPR_FINFO 0x00020
|
142
|
-
#define TYPECACHE_CMP_PROC_FINFO 0x00040
|
143
|
-
#define TYPECACHE_HASH_PROC_FINFO 0x00080
|
144
|
-
#define TYPECACHE_TUPDESC 0x00100
|
145
|
-
#define TYPECACHE_BTREE_OPFAMILY 0x00200
|
146
|
-
#define TYPECACHE_HASH_OPFAMILY 0x00400
|
147
|
-
#define TYPECACHE_RANGE_INFO 0x00800
|
148
|
-
#define TYPECACHE_DOMAIN_BASE_INFO 0x01000
|
149
|
-
#define TYPECACHE_DOMAIN_CONSTR_INFO 0x02000
|
150
|
-
#define TYPECACHE_HASH_EXTENDED_PROC 0x04000
|
151
|
-
#define TYPECACHE_HASH_EXTENDED_PROC_FINFO 0x08000
|
152
|
-
#define TYPECACHE_MULTIRANGE_INFO 0x10000
|
153
|
-
|
154
|
-
/* This value will not equal any valid tupledesc identifier, nor 0 */
|
155
|
-
#define INVALID_TUPLEDESC_IDENTIFIER ((uint64) 1)
|
156
|
-
|
157
|
-
/*
|
158
|
-
* Callers wishing to maintain a long-lived reference to a domain's constraint
|
159
|
-
* set must store it in one of these. Use InitDomainConstraintRef() and
|
160
|
-
* UpdateDomainConstraintRef() to manage it. Note: DomainConstraintState is
|
161
|
-
* considered an executable expression type, so it's defined in execnodes.h.
|
162
|
-
*/
|
163
|
-
typedef struct DomainConstraintRef
|
164
|
-
{
|
165
|
-
List *constraints; /* list of DomainConstraintState nodes */
|
166
|
-
MemoryContext refctx; /* context holding DomainConstraintRef */
|
167
|
-
TypeCacheEntry *tcache; /* typcache entry for domain type */
|
168
|
-
bool need_exprstate; /* does caller need check_exprstate? */
|
169
|
-
|
170
|
-
/* Management data --- treat these fields as private to typcache.c */
|
171
|
-
DomainConstraintCache *dcc; /* current constraints, or NULL if none */
|
172
|
-
MemoryContextCallback callback; /* used to release refcount when done */
|
173
|
-
} DomainConstraintRef;
|
174
|
-
|
175
|
-
typedef struct SharedRecordTypmodRegistry SharedRecordTypmodRegistry;
|
176
|
-
|
177
|
-
extern TypeCacheEntry *lookup_type_cache(Oid type_id, int flags);
|
178
|
-
|
179
|
-
extern void InitDomainConstraintRef(Oid type_id, DomainConstraintRef *ref,
|
180
|
-
MemoryContext refctx, bool need_exprstate);
|
181
|
-
|
182
|
-
extern void UpdateDomainConstraintRef(DomainConstraintRef *ref);
|
183
|
-
|
184
|
-
extern bool DomainHasConstraints(Oid type_id);
|
185
|
-
|
186
|
-
extern TupleDesc lookup_rowtype_tupdesc(Oid type_id, int32 typmod);
|
187
|
-
|
188
|
-
extern TupleDesc lookup_rowtype_tupdesc_noerror(Oid type_id, int32 typmod,
|
189
|
-
bool noError);
|
190
|
-
|
191
|
-
extern TupleDesc lookup_rowtype_tupdesc_copy(Oid type_id, int32 typmod);
|
192
|
-
|
193
|
-
extern TupleDesc lookup_rowtype_tupdesc_domain(Oid type_id, int32 typmod,
|
194
|
-
bool noError);
|
195
|
-
|
196
|
-
extern void assign_record_type_typmod(TupleDesc tupDesc);
|
197
|
-
|
198
|
-
extern uint64 assign_record_type_identifier(Oid type_id, int32 typmod);
|
199
|
-
|
200
|
-
extern int compare_values_of_enum(TypeCacheEntry *tcache, Oid arg1, Oid arg2);
|
201
|
-
|
202
|
-
extern size_t SharedRecordTypmodRegistryEstimate(void);
|
203
|
-
|
204
|
-
extern void SharedRecordTypmodRegistryInit(SharedRecordTypmodRegistry *,
|
205
|
-
dsm_segment *segment, dsa_area *area);
|
206
|
-
|
207
|
-
extern void SharedRecordTypmodRegistryAttach(SharedRecordTypmodRegistry *);
|
208
|
-
|
209
|
-
#endif /* TYPCACHE_H */
|
@@ -1,39 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* tzparser.h
|
4
|
-
* Timezone offset file parsing definitions.
|
5
|
-
*
|
6
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
8
|
-
*
|
9
|
-
* src/include/utils/tzparser.h
|
10
|
-
*
|
11
|
-
*-------------------------------------------------------------------------
|
12
|
-
*/
|
13
|
-
#ifndef TZPARSER_H
|
14
|
-
#define TZPARSER_H
|
15
|
-
|
16
|
-
#include "utils/datetime.h"
|
17
|
-
|
18
|
-
/*
|
19
|
-
* The result of parsing a timezone configuration file is an array of
|
20
|
-
* these structs, in order by abbrev. We export this because datetime.c
|
21
|
-
* needs it.
|
22
|
-
*/
|
23
|
-
typedef struct tzEntry
|
24
|
-
{
|
25
|
-
/* the actual data */
|
26
|
-
char *abbrev; /* TZ abbreviation (downcased) */
|
27
|
-
char *zone; /* zone name if dynamic abbrev, else NULL */
|
28
|
-
/* for a dynamic abbreviation, offset/is_dst are not used */
|
29
|
-
int offset; /* offset in seconds from UTC */
|
30
|
-
bool is_dst; /* true if a DST abbreviation */
|
31
|
-
/* source information (for error messages) */
|
32
|
-
int lineno;
|
33
|
-
const char *filename;
|
34
|
-
} tzEntry;
|
35
|
-
|
36
|
-
|
37
|
-
extern TimeZoneAbbrevTable *load_tzoffsets(const char *filename);
|
38
|
-
|
39
|
-
#endif /* TZPARSER_H */
|
@@ -1,41 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* varlena.h
|
4
|
-
* Functions for the variable-length built-in types.
|
5
|
-
*
|
6
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
7
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
8
|
-
*
|
9
|
-
* src/include/utils/varlena.h
|
10
|
-
*
|
11
|
-
*-------------------------------------------------------------------------
|
12
|
-
*/
|
13
|
-
#ifndef VARLENA_H
|
14
|
-
#define VARLENA_H
|
15
|
-
|
16
|
-
#include "nodes/pg_list.h"
|
17
|
-
#include "utils/sortsupport.h"
|
18
|
-
|
19
|
-
extern int varstr_cmp(const char *arg1, int len1, const char *arg2, int len2, Oid collid);
|
20
|
-
extern void varstr_sortsupport(SortSupport ssup, Oid typid, Oid collid);
|
21
|
-
extern int varstr_levenshtein(const char *source, int slen,
|
22
|
-
const char *target, int tlen,
|
23
|
-
int ins_c, int del_c, int sub_c,
|
24
|
-
bool trusted);
|
25
|
-
extern int varstr_levenshtein_less_equal(const char *source, int slen,
|
26
|
-
const char *target, int tlen,
|
27
|
-
int ins_c, int del_c, int sub_c,
|
28
|
-
int max_d, bool trusted);
|
29
|
-
extern List *textToQualifiedNameList(text *textval);
|
30
|
-
extern bool SplitIdentifierString(char *rawstring, char separator,
|
31
|
-
List **namelist);
|
32
|
-
extern bool SplitDirectoriesString(char *rawstring, char separator,
|
33
|
-
List **namelist);
|
34
|
-
extern bool SplitGUCList(char *rawstring, char separator,
|
35
|
-
List **namelist);
|
36
|
-
extern text *replace_text_regexp(text *src_text, text *pattern_text,
|
37
|
-
text *replace_text,
|
38
|
-
int cflags, Oid collation,
|
39
|
-
int search_start, int n);
|
40
|
-
|
41
|
-
#endif
|