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,202 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* optimizer.h
|
4
|
-
* External API for the Postgres planner.
|
5
|
-
*
|
6
|
-
* This header is meant to define everything that the core planner
|
7
|
-
* exposes for use by non-planner modules.
|
8
|
-
*
|
9
|
-
* Note that there are files outside src/backend/optimizer/ that are
|
10
|
-
* considered planner modules, because they're too much in bed with
|
11
|
-
* planner operations to be treated otherwise. FDW planning code is an
|
12
|
-
* example. For the most part, however, code outside the core planner
|
13
|
-
* should not need to include any optimizer/ header except this one.
|
14
|
-
*
|
15
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
16
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
17
|
-
*
|
18
|
-
* src/include/optimizer/optimizer.h
|
19
|
-
*
|
20
|
-
*-------------------------------------------------------------------------
|
21
|
-
*/
|
22
|
-
#ifndef OPTIMIZER_H
|
23
|
-
#define OPTIMIZER_H
|
24
|
-
|
25
|
-
#include "nodes/parsenodes.h"
|
26
|
-
|
27
|
-
/*
|
28
|
-
* We don't want to include nodes/pathnodes.h here, because non-planner
|
29
|
-
* code should generally treat PlannerInfo as an opaque typedef.
|
30
|
-
* But we'd like such code to use that typedef name, so define the
|
31
|
-
* typedef either here or in pathnodes.h, whichever is read first.
|
32
|
-
*/
|
33
|
-
#ifndef HAVE_PLANNERINFO_TYPEDEF
|
34
|
-
typedef struct PlannerInfo PlannerInfo;
|
35
|
-
#define HAVE_PLANNERINFO_TYPEDEF 1
|
36
|
-
#endif
|
37
|
-
|
38
|
-
/* Likewise for IndexOptInfo and SpecialJoinInfo. */
|
39
|
-
#ifndef HAVE_INDEXOPTINFO_TYPEDEF
|
40
|
-
typedef struct IndexOptInfo IndexOptInfo;
|
41
|
-
#define HAVE_INDEXOPTINFO_TYPEDEF 1
|
42
|
-
#endif
|
43
|
-
#ifndef HAVE_SPECIALJOININFO_TYPEDEF
|
44
|
-
typedef struct SpecialJoinInfo SpecialJoinInfo;
|
45
|
-
#define HAVE_SPECIALJOININFO_TYPEDEF 1
|
46
|
-
#endif
|
47
|
-
|
48
|
-
/* It also seems best not to include plannodes.h, params.h, or htup.h here */
|
49
|
-
struct PlannedStmt;
|
50
|
-
struct ParamListInfoData;
|
51
|
-
struct HeapTupleData;
|
52
|
-
|
53
|
-
|
54
|
-
/* in path/clausesel.c: */
|
55
|
-
|
56
|
-
extern Selectivity clause_selectivity(PlannerInfo *root,
|
57
|
-
Node *clause,
|
58
|
-
int varRelid,
|
59
|
-
JoinType jointype,
|
60
|
-
SpecialJoinInfo *sjinfo);
|
61
|
-
extern Selectivity clause_selectivity_ext(PlannerInfo *root,
|
62
|
-
Node *clause,
|
63
|
-
int varRelid,
|
64
|
-
JoinType jointype,
|
65
|
-
SpecialJoinInfo *sjinfo,
|
66
|
-
bool use_extended_stats);
|
67
|
-
extern Selectivity clauselist_selectivity(PlannerInfo *root,
|
68
|
-
List *clauses,
|
69
|
-
int varRelid,
|
70
|
-
JoinType jointype,
|
71
|
-
SpecialJoinInfo *sjinfo);
|
72
|
-
extern Selectivity clauselist_selectivity_ext(PlannerInfo *root,
|
73
|
-
List *clauses,
|
74
|
-
int varRelid,
|
75
|
-
JoinType jointype,
|
76
|
-
SpecialJoinInfo *sjinfo,
|
77
|
-
bool use_extended_stats);
|
78
|
-
|
79
|
-
/* in path/costsize.c: */
|
80
|
-
|
81
|
-
/* widely used cost parameters */
|
82
|
-
extern PGDLLIMPORT double seq_page_cost;
|
83
|
-
extern PGDLLIMPORT double random_page_cost;
|
84
|
-
extern PGDLLIMPORT double cpu_tuple_cost;
|
85
|
-
extern PGDLLIMPORT double cpu_index_tuple_cost;
|
86
|
-
extern PGDLLIMPORT double cpu_operator_cost;
|
87
|
-
extern PGDLLIMPORT double parallel_tuple_cost;
|
88
|
-
extern PGDLLIMPORT double parallel_setup_cost;
|
89
|
-
extern PGDLLIMPORT double recursive_worktable_factor;
|
90
|
-
extern PGDLLIMPORT int effective_cache_size;
|
91
|
-
|
92
|
-
extern double clamp_row_est(double nrows);
|
93
|
-
extern long clamp_cardinality_to_long(Cardinality x);
|
94
|
-
|
95
|
-
/* in path/indxpath.c: */
|
96
|
-
|
97
|
-
extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr,
|
98
|
-
IndexOptInfo *index);
|
99
|
-
|
100
|
-
/* in plan/planner.c: */
|
101
|
-
|
102
|
-
/* possible values for force_parallel_mode */
|
103
|
-
typedef enum
|
104
|
-
{
|
105
|
-
FORCE_PARALLEL_OFF,
|
106
|
-
FORCE_PARALLEL_ON,
|
107
|
-
FORCE_PARALLEL_REGRESS
|
108
|
-
} ForceParallelMode;
|
109
|
-
|
110
|
-
/* GUC parameters */
|
111
|
-
extern PGDLLIMPORT int force_parallel_mode;
|
112
|
-
extern PGDLLIMPORT bool parallel_leader_participation;
|
113
|
-
|
114
|
-
extern struct PlannedStmt *planner(Query *parse, const char *query_string,
|
115
|
-
int cursorOptions,
|
116
|
-
struct ParamListInfoData *boundParams);
|
117
|
-
|
118
|
-
extern Expr *expression_planner(Expr *expr);
|
119
|
-
extern Expr *expression_planner_with_deps(Expr *expr,
|
120
|
-
List **relationOids,
|
121
|
-
List **invalItems);
|
122
|
-
|
123
|
-
extern bool plan_cluster_use_sort(Oid tableOid, Oid indexOid);
|
124
|
-
extern int plan_create_index_workers(Oid tableOid, Oid indexOid);
|
125
|
-
|
126
|
-
/* in plan/setrefs.c: */
|
127
|
-
|
128
|
-
extern void extract_query_dependencies(Node *query,
|
129
|
-
List **relationOids,
|
130
|
-
List **invalItems,
|
131
|
-
bool *hasRowSecurity);
|
132
|
-
|
133
|
-
/* in prep/prepqual.c: */
|
134
|
-
|
135
|
-
extern Node *negate_clause(Node *node);
|
136
|
-
extern Expr *canonicalize_qual(Expr *qual, bool is_check);
|
137
|
-
|
138
|
-
/* in util/clauses.c: */
|
139
|
-
|
140
|
-
extern bool contain_mutable_functions(Node *clause);
|
141
|
-
extern bool contain_volatile_functions(Node *clause);
|
142
|
-
extern bool contain_volatile_functions_not_nextval(Node *clause);
|
143
|
-
|
144
|
-
extern Node *eval_const_expressions(PlannerInfo *root, Node *node);
|
145
|
-
|
146
|
-
extern void convert_saop_to_hashed_saop(Node *node);
|
147
|
-
|
148
|
-
extern Node *estimate_expression_value(PlannerInfo *root, Node *node);
|
149
|
-
|
150
|
-
extern Expr *evaluate_expr(Expr *expr, Oid result_type, int32 result_typmod,
|
151
|
-
Oid result_collation);
|
152
|
-
|
153
|
-
extern List *expand_function_arguments(List *args, bool include_out_arguments,
|
154
|
-
Oid result_type,
|
155
|
-
struct HeapTupleData *func_tuple);
|
156
|
-
|
157
|
-
/* in util/predtest.c: */
|
158
|
-
|
159
|
-
extern bool predicate_implied_by(List *predicate_list, List *clause_list,
|
160
|
-
bool weak);
|
161
|
-
extern bool predicate_refuted_by(List *predicate_list, List *clause_list,
|
162
|
-
bool weak);
|
163
|
-
|
164
|
-
/* in util/tlist.c: */
|
165
|
-
|
166
|
-
extern int count_nonjunk_tlist_entries(List *tlist);
|
167
|
-
extern TargetEntry *get_sortgroupref_tle(Index sortref,
|
168
|
-
List *targetList);
|
169
|
-
extern TargetEntry *get_sortgroupclause_tle(SortGroupClause *sgClause,
|
170
|
-
List *targetList);
|
171
|
-
extern Node *get_sortgroupclause_expr(SortGroupClause *sgClause,
|
172
|
-
List *targetList);
|
173
|
-
extern List *get_sortgrouplist_exprs(List *sgClauses,
|
174
|
-
List *targetList);
|
175
|
-
extern SortGroupClause *get_sortgroupref_clause(Index sortref,
|
176
|
-
List *clauses);
|
177
|
-
extern SortGroupClause *get_sortgroupref_clause_noerr(Index sortref,
|
178
|
-
List *clauses);
|
179
|
-
|
180
|
-
/* in util/var.c: */
|
181
|
-
|
182
|
-
/* Bits that can be OR'd into the flags argument of pull_var_clause() */
|
183
|
-
#define PVC_INCLUDE_AGGREGATES 0x0001 /* include Aggrefs in output list */
|
184
|
-
#define PVC_RECURSE_AGGREGATES 0x0002 /* recurse into Aggref arguments */
|
185
|
-
#define PVC_INCLUDE_WINDOWFUNCS 0x0004 /* include WindowFuncs in output list */
|
186
|
-
#define PVC_RECURSE_WINDOWFUNCS 0x0008 /* recurse into WindowFunc arguments */
|
187
|
-
#define PVC_INCLUDE_PLACEHOLDERS 0x0010 /* include PlaceHolderVars in
|
188
|
-
* output list */
|
189
|
-
#define PVC_RECURSE_PLACEHOLDERS 0x0020 /* recurse into PlaceHolderVar
|
190
|
-
* arguments */
|
191
|
-
|
192
|
-
extern Bitmapset *pull_varnos(PlannerInfo *root, Node *node);
|
193
|
-
extern Bitmapset *pull_varnos_of_level(PlannerInfo *root, Node *node, int levelsup);
|
194
|
-
extern void pull_varattnos(Node *node, Index varno, Bitmapset **varattnos);
|
195
|
-
extern List *pull_vars_of_level(Node *node, int levelsup);
|
196
|
-
extern bool contain_var_clause(Node *node);
|
197
|
-
extern bool contain_vars_of_level(Node *node, int levelsup);
|
198
|
-
extern int locate_var_of_level(Node *node, int levelsup);
|
199
|
-
extern List *pull_var_clause(Node *node, int flags);
|
200
|
-
extern Node *flatten_join_alias_vars(Query *query, Node *node);
|
201
|
-
|
202
|
-
#endif /* OPTIMIZER_H */
|
@@ -1,257 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* paths.h
|
4
|
-
* prototypes for various files in optimizer/path
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/optimizer/paths.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef PATHS_H
|
15
|
-
#define PATHS_H
|
16
|
-
|
17
|
-
#include "nodes/pathnodes.h"
|
18
|
-
|
19
|
-
|
20
|
-
/*
|
21
|
-
* allpaths.c
|
22
|
-
*/
|
23
|
-
extern PGDLLIMPORT bool enable_geqo;
|
24
|
-
extern PGDLLIMPORT int geqo_threshold;
|
25
|
-
extern PGDLLIMPORT int min_parallel_table_scan_size;
|
26
|
-
extern PGDLLIMPORT int min_parallel_index_scan_size;
|
27
|
-
|
28
|
-
/* Hook for plugins to get control in set_rel_pathlist() */
|
29
|
-
typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root,
|
30
|
-
RelOptInfo *rel,
|
31
|
-
Index rti,
|
32
|
-
RangeTblEntry *rte);
|
33
|
-
extern PGDLLIMPORT set_rel_pathlist_hook_type set_rel_pathlist_hook;
|
34
|
-
|
35
|
-
/* Hook for plugins to get control in add_paths_to_joinrel() */
|
36
|
-
typedef void (*set_join_pathlist_hook_type) (PlannerInfo *root,
|
37
|
-
RelOptInfo *joinrel,
|
38
|
-
RelOptInfo *outerrel,
|
39
|
-
RelOptInfo *innerrel,
|
40
|
-
JoinType jointype,
|
41
|
-
JoinPathExtraData *extra);
|
42
|
-
extern PGDLLIMPORT set_join_pathlist_hook_type set_join_pathlist_hook;
|
43
|
-
|
44
|
-
/* Hook for plugins to replace standard_join_search() */
|
45
|
-
typedef RelOptInfo *(*join_search_hook_type) (PlannerInfo *root,
|
46
|
-
int levels_needed,
|
47
|
-
List *initial_rels);
|
48
|
-
extern PGDLLIMPORT join_search_hook_type join_search_hook;
|
49
|
-
|
50
|
-
|
51
|
-
extern RelOptInfo *make_one_rel(PlannerInfo *root, List *joinlist);
|
52
|
-
extern RelOptInfo *standard_join_search(PlannerInfo *root, int levels_needed,
|
53
|
-
List *initial_rels);
|
54
|
-
|
55
|
-
extern void generate_gather_paths(PlannerInfo *root, RelOptInfo *rel,
|
56
|
-
bool override_rows);
|
57
|
-
extern void generate_useful_gather_paths(PlannerInfo *root, RelOptInfo *rel,
|
58
|
-
bool override_rows);
|
59
|
-
extern int compute_parallel_worker(RelOptInfo *rel, double heap_pages,
|
60
|
-
double index_pages, int max_workers);
|
61
|
-
extern void create_partial_bitmap_paths(PlannerInfo *root, RelOptInfo *rel,
|
62
|
-
Path *bitmapqual);
|
63
|
-
extern void generate_partitionwise_join_paths(PlannerInfo *root,
|
64
|
-
RelOptInfo *rel);
|
65
|
-
|
66
|
-
#ifdef OPTIMIZER_DEBUG
|
67
|
-
extern void debug_print_rel(PlannerInfo *root, RelOptInfo *rel);
|
68
|
-
#endif
|
69
|
-
|
70
|
-
/*
|
71
|
-
* indxpath.c
|
72
|
-
* routines to generate index paths
|
73
|
-
*/
|
74
|
-
extern void create_index_paths(PlannerInfo *root, RelOptInfo *rel);
|
75
|
-
extern bool relation_has_unique_index_for(PlannerInfo *root, RelOptInfo *rel,
|
76
|
-
List *restrictlist,
|
77
|
-
List *exprlist, List *oprlist);
|
78
|
-
extern bool indexcol_is_bool_constant_for_query(PlannerInfo *root,
|
79
|
-
IndexOptInfo *index,
|
80
|
-
int indexcol);
|
81
|
-
extern bool match_index_to_operand(Node *operand, int indexcol,
|
82
|
-
IndexOptInfo *index);
|
83
|
-
extern void check_index_predicates(PlannerInfo *root, RelOptInfo *rel);
|
84
|
-
|
85
|
-
/*
|
86
|
-
* tidpath.h
|
87
|
-
* routines to generate tid paths
|
88
|
-
*/
|
89
|
-
extern void create_tidscan_paths(PlannerInfo *root, RelOptInfo *rel);
|
90
|
-
|
91
|
-
/*
|
92
|
-
* joinpath.c
|
93
|
-
* routines to create join paths
|
94
|
-
*/
|
95
|
-
extern void add_paths_to_joinrel(PlannerInfo *root, RelOptInfo *joinrel,
|
96
|
-
RelOptInfo *outerrel, RelOptInfo *innerrel,
|
97
|
-
JoinType jointype, SpecialJoinInfo *sjinfo,
|
98
|
-
List *restrictlist);
|
99
|
-
|
100
|
-
/*
|
101
|
-
* joinrels.c
|
102
|
-
* routines to determine which relations to join
|
103
|
-
*/
|
104
|
-
extern void join_search_one_level(PlannerInfo *root, int level);
|
105
|
-
extern RelOptInfo *make_join_rel(PlannerInfo *root,
|
106
|
-
RelOptInfo *rel1, RelOptInfo *rel2);
|
107
|
-
extern bool have_join_order_restriction(PlannerInfo *root,
|
108
|
-
RelOptInfo *rel1, RelOptInfo *rel2);
|
109
|
-
extern bool have_dangerous_phv(PlannerInfo *root,
|
110
|
-
Relids outer_relids, Relids inner_params);
|
111
|
-
extern void mark_dummy_rel(RelOptInfo *rel);
|
112
|
-
|
113
|
-
/*
|
114
|
-
* equivclass.c
|
115
|
-
* routines for managing EquivalenceClasses
|
116
|
-
*/
|
117
|
-
typedef bool (*ec_matches_callback_type) (PlannerInfo *root,
|
118
|
-
RelOptInfo *rel,
|
119
|
-
EquivalenceClass *ec,
|
120
|
-
EquivalenceMember *em,
|
121
|
-
void *arg);
|
122
|
-
|
123
|
-
extern bool process_equivalence(PlannerInfo *root,
|
124
|
-
RestrictInfo **p_restrictinfo,
|
125
|
-
bool below_outer_join);
|
126
|
-
extern Expr *canonicalize_ec_expression(Expr *expr,
|
127
|
-
Oid req_type, Oid req_collation);
|
128
|
-
extern void reconsider_outer_join_clauses(PlannerInfo *root);
|
129
|
-
extern EquivalenceClass *get_eclass_for_sort_expr(PlannerInfo *root,
|
130
|
-
Expr *expr,
|
131
|
-
Relids nullable_relids,
|
132
|
-
List *opfamilies,
|
133
|
-
Oid opcintype,
|
134
|
-
Oid collation,
|
135
|
-
Index sortref,
|
136
|
-
Relids rel,
|
137
|
-
bool create_it);
|
138
|
-
extern EquivalenceMember *find_ec_member_matching_expr(EquivalenceClass *ec,
|
139
|
-
Expr *expr,
|
140
|
-
Relids relids);
|
141
|
-
extern EquivalenceMember *find_computable_ec_member(PlannerInfo *root,
|
142
|
-
EquivalenceClass *ec,
|
143
|
-
List *exprs,
|
144
|
-
Relids relids,
|
145
|
-
bool require_parallel_safe);
|
146
|
-
extern bool relation_can_be_sorted_early(PlannerInfo *root, RelOptInfo *rel,
|
147
|
-
EquivalenceClass *ec,
|
148
|
-
bool require_parallel_safe);
|
149
|
-
extern void generate_base_implied_equalities(PlannerInfo *root);
|
150
|
-
extern List *generate_join_implied_equalities(PlannerInfo *root,
|
151
|
-
Relids join_relids,
|
152
|
-
Relids outer_relids,
|
153
|
-
RelOptInfo *inner_rel);
|
154
|
-
extern List *generate_join_implied_equalities_for_ecs(PlannerInfo *root,
|
155
|
-
List *eclasses,
|
156
|
-
Relids join_relids,
|
157
|
-
Relids outer_relids,
|
158
|
-
RelOptInfo *inner_rel);
|
159
|
-
extern bool exprs_known_equal(PlannerInfo *root, Node *item1, Node *item2);
|
160
|
-
extern EquivalenceClass *match_eclasses_to_foreign_key_col(PlannerInfo *root,
|
161
|
-
ForeignKeyOptInfo *fkinfo,
|
162
|
-
int colno);
|
163
|
-
extern RestrictInfo *find_derived_clause_for_ec_member(EquivalenceClass *ec,
|
164
|
-
EquivalenceMember *em);
|
165
|
-
extern void add_child_rel_equivalences(PlannerInfo *root,
|
166
|
-
AppendRelInfo *appinfo,
|
167
|
-
RelOptInfo *parent_rel,
|
168
|
-
RelOptInfo *child_rel);
|
169
|
-
extern void add_child_join_rel_equivalences(PlannerInfo *root,
|
170
|
-
int nappinfos,
|
171
|
-
AppendRelInfo **appinfos,
|
172
|
-
RelOptInfo *parent_rel,
|
173
|
-
RelOptInfo *child_rel);
|
174
|
-
extern List *generate_implied_equalities_for_column(PlannerInfo *root,
|
175
|
-
RelOptInfo *rel,
|
176
|
-
ec_matches_callback_type callback,
|
177
|
-
void *callback_arg,
|
178
|
-
Relids prohibited_rels);
|
179
|
-
extern bool have_relevant_eclass_joinclause(PlannerInfo *root,
|
180
|
-
RelOptInfo *rel1, RelOptInfo *rel2);
|
181
|
-
extern bool has_relevant_eclass_joinclause(PlannerInfo *root,
|
182
|
-
RelOptInfo *rel1);
|
183
|
-
extern bool eclass_useful_for_merging(PlannerInfo *root,
|
184
|
-
EquivalenceClass *eclass,
|
185
|
-
RelOptInfo *rel);
|
186
|
-
extern bool is_redundant_derived_clause(RestrictInfo *rinfo, List *clauselist);
|
187
|
-
extern bool is_redundant_with_indexclauses(RestrictInfo *rinfo,
|
188
|
-
List *indexclauses);
|
189
|
-
|
190
|
-
/*
|
191
|
-
* pathkeys.c
|
192
|
-
* utilities for matching and building path keys
|
193
|
-
*/
|
194
|
-
typedef enum
|
195
|
-
{
|
196
|
-
PATHKEYS_EQUAL, /* pathkeys are identical */
|
197
|
-
PATHKEYS_BETTER1, /* pathkey 1 is a superset of pathkey 2 */
|
198
|
-
PATHKEYS_BETTER2, /* vice versa */
|
199
|
-
PATHKEYS_DIFFERENT /* neither pathkey includes the other */
|
200
|
-
} PathKeysComparison;
|
201
|
-
|
202
|
-
extern PathKeysComparison compare_pathkeys(List *keys1, List *keys2);
|
203
|
-
extern bool pathkeys_contained_in(List *keys1, List *keys2);
|
204
|
-
extern bool pathkeys_count_contained_in(List *keys1, List *keys2, int *n_common);
|
205
|
-
extern Path *get_cheapest_path_for_pathkeys(List *paths, List *pathkeys,
|
206
|
-
Relids required_outer,
|
207
|
-
CostSelector cost_criterion,
|
208
|
-
bool require_parallel_safe);
|
209
|
-
extern Path *get_cheapest_fractional_path_for_pathkeys(List *paths,
|
210
|
-
List *pathkeys,
|
211
|
-
Relids required_outer,
|
212
|
-
double fraction);
|
213
|
-
extern Path *get_cheapest_parallel_safe_total_inner(List *paths);
|
214
|
-
extern List *build_index_pathkeys(PlannerInfo *root, IndexOptInfo *index,
|
215
|
-
ScanDirection scandir);
|
216
|
-
extern List *build_partition_pathkeys(PlannerInfo *root, RelOptInfo *partrel,
|
217
|
-
ScanDirection scandir, bool *partialkeys);
|
218
|
-
extern List *build_expression_pathkey(PlannerInfo *root, Expr *expr,
|
219
|
-
Relids nullable_relids, Oid opno,
|
220
|
-
Relids rel, bool create_it);
|
221
|
-
extern List *convert_subquery_pathkeys(PlannerInfo *root, RelOptInfo *rel,
|
222
|
-
List *subquery_pathkeys,
|
223
|
-
List *subquery_tlist);
|
224
|
-
extern List *build_join_pathkeys(PlannerInfo *root,
|
225
|
-
RelOptInfo *joinrel,
|
226
|
-
JoinType jointype,
|
227
|
-
List *outer_pathkeys);
|
228
|
-
extern List *make_pathkeys_for_sortclauses(PlannerInfo *root,
|
229
|
-
List *sortclauses,
|
230
|
-
List *tlist);
|
231
|
-
extern void initialize_mergeclause_eclasses(PlannerInfo *root,
|
232
|
-
RestrictInfo *restrictinfo);
|
233
|
-
extern void update_mergeclause_eclasses(PlannerInfo *root,
|
234
|
-
RestrictInfo *restrictinfo);
|
235
|
-
extern List *find_mergeclauses_for_outer_pathkeys(PlannerInfo *root,
|
236
|
-
List *pathkeys,
|
237
|
-
List *restrictinfos);
|
238
|
-
extern List *select_outer_pathkeys_for_merge(PlannerInfo *root,
|
239
|
-
List *mergeclauses,
|
240
|
-
RelOptInfo *joinrel);
|
241
|
-
extern List *make_inner_pathkeys_for_merge(PlannerInfo *root,
|
242
|
-
List *mergeclauses,
|
243
|
-
List *outer_pathkeys);
|
244
|
-
extern List *trim_mergeclauses_for_inner_pathkeys(PlannerInfo *root,
|
245
|
-
List *mergeclauses,
|
246
|
-
List *pathkeys);
|
247
|
-
extern List *truncate_useless_pathkeys(PlannerInfo *root,
|
248
|
-
RelOptInfo *rel,
|
249
|
-
List *pathkeys);
|
250
|
-
extern bool has_useful_pathkeys(PlannerInfo *root, RelOptInfo *rel);
|
251
|
-
extern PathKey *make_canonical_pathkey(PlannerInfo *root,
|
252
|
-
EquivalenceClass *eclass, Oid opfamily,
|
253
|
-
int strategy, bool nulls_first);
|
254
|
-
extern void add_paths_to_append_rel(PlannerInfo *root, RelOptInfo *rel,
|
255
|
-
List *live_childrels);
|
256
|
-
|
257
|
-
#endif /* PATHS_H */
|
@@ -1,120 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* planmain.h
|
4
|
-
* prototypes for various files in optimizer/plan
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/optimizer/planmain.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef PLANMAIN_H
|
15
|
-
#define PLANMAIN_H
|
16
|
-
|
17
|
-
#include "nodes/pathnodes.h"
|
18
|
-
#include "nodes/plannodes.h"
|
19
|
-
|
20
|
-
/* GUC parameters */
|
21
|
-
#define DEFAULT_CURSOR_TUPLE_FRACTION 0.1
|
22
|
-
extern PGDLLIMPORT double cursor_tuple_fraction;
|
23
|
-
|
24
|
-
/* query_planner callback to compute query_pathkeys */
|
25
|
-
typedef void (*query_pathkeys_callback) (PlannerInfo *root, void *extra);
|
26
|
-
|
27
|
-
/*
|
28
|
-
* prototypes for plan/planmain.c
|
29
|
-
*/
|
30
|
-
extern RelOptInfo *query_planner(PlannerInfo *root,
|
31
|
-
query_pathkeys_callback qp_callback, void *qp_extra);
|
32
|
-
|
33
|
-
/*
|
34
|
-
* prototypes for plan/planagg.c
|
35
|
-
*/
|
36
|
-
extern void preprocess_minmax_aggregates(PlannerInfo *root);
|
37
|
-
|
38
|
-
/*
|
39
|
-
* prototypes for plan/createplan.c
|
40
|
-
*/
|
41
|
-
extern Plan *create_plan(PlannerInfo *root, Path *best_path);
|
42
|
-
extern ForeignScan *make_foreignscan(List *qptlist, List *qpqual,
|
43
|
-
Index scanrelid, List *fdw_exprs, List *fdw_private,
|
44
|
-
List *fdw_scan_tlist, List *fdw_recheck_quals,
|
45
|
-
Plan *outer_plan);
|
46
|
-
extern Plan *change_plan_targetlist(Plan *subplan, List *tlist,
|
47
|
-
bool tlist_parallel_safe);
|
48
|
-
extern Plan *materialize_finished_plan(Plan *subplan);
|
49
|
-
extern bool is_projection_capable_path(Path *path);
|
50
|
-
extern bool is_projection_capable_plan(Plan *plan);
|
51
|
-
|
52
|
-
/* External use of these functions is deprecated: */
|
53
|
-
extern Sort *make_sort_from_sortclauses(List *sortcls, Plan *lefttree);
|
54
|
-
extern Agg *make_agg(List *tlist, List *qual,
|
55
|
-
AggStrategy aggstrategy, AggSplit aggsplit,
|
56
|
-
int numGroupCols, AttrNumber *grpColIdx, Oid *grpOperators, Oid *grpCollations,
|
57
|
-
List *groupingSets, List *chain, double dNumGroups,
|
58
|
-
Size transitionSpace, Plan *lefttree);
|
59
|
-
extern Limit *make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount,
|
60
|
-
LimitOption limitOption, int uniqNumCols,
|
61
|
-
AttrNumber *uniqColIdx, Oid *uniqOperators,
|
62
|
-
Oid *uniqCollations);
|
63
|
-
|
64
|
-
/*
|
65
|
-
* prototypes for plan/initsplan.c
|
66
|
-
*/
|
67
|
-
extern PGDLLIMPORT int from_collapse_limit;
|
68
|
-
extern PGDLLIMPORT int join_collapse_limit;
|
69
|
-
|
70
|
-
extern void add_base_rels_to_query(PlannerInfo *root, Node *jtnode);
|
71
|
-
extern void add_other_rels_to_query(PlannerInfo *root);
|
72
|
-
extern void build_base_rel_tlists(PlannerInfo *root, List *final_tlist);
|
73
|
-
extern void add_vars_to_targetlist(PlannerInfo *root, List *vars,
|
74
|
-
Relids where_needed, bool create_new_ph);
|
75
|
-
extern void find_lateral_references(PlannerInfo *root);
|
76
|
-
extern void create_lateral_join_info(PlannerInfo *root);
|
77
|
-
extern List *deconstruct_jointree(PlannerInfo *root);
|
78
|
-
extern void distribute_restrictinfo_to_rels(PlannerInfo *root,
|
79
|
-
RestrictInfo *restrictinfo);
|
80
|
-
extern RestrictInfo *process_implied_equality(PlannerInfo *root,
|
81
|
-
Oid opno,
|
82
|
-
Oid collation,
|
83
|
-
Expr *item1,
|
84
|
-
Expr *item2,
|
85
|
-
Relids qualscope,
|
86
|
-
Relids nullable_relids,
|
87
|
-
Index security_level,
|
88
|
-
bool below_outer_join,
|
89
|
-
bool both_const);
|
90
|
-
extern RestrictInfo *build_implied_join_equality(PlannerInfo *root,
|
91
|
-
Oid opno,
|
92
|
-
Oid collation,
|
93
|
-
Expr *item1,
|
94
|
-
Expr *item2,
|
95
|
-
Relids qualscope,
|
96
|
-
Relids nullable_relids,
|
97
|
-
Index security_level);
|
98
|
-
extern void match_foreign_keys_to_quals(PlannerInfo *root);
|
99
|
-
|
100
|
-
/*
|
101
|
-
* prototypes for plan/analyzejoins.c
|
102
|
-
*/
|
103
|
-
extern List *remove_useless_joins(PlannerInfo *root, List *joinlist);
|
104
|
-
extern void reduce_unique_semijoins(PlannerInfo *root);
|
105
|
-
extern bool query_supports_distinctness(Query *query);
|
106
|
-
extern bool query_is_distinct_for(Query *query, List *colnos, List *opids);
|
107
|
-
extern bool innerrel_is_unique(PlannerInfo *root,
|
108
|
-
Relids joinrelids, Relids outerrelids, RelOptInfo *innerrel,
|
109
|
-
JoinType jointype, List *restrictlist, bool force_cache);
|
110
|
-
|
111
|
-
/*
|
112
|
-
* prototypes for plan/setrefs.c
|
113
|
-
*/
|
114
|
-
extern Plan *set_plan_references(PlannerInfo *root, Plan *plan);
|
115
|
-
extern bool trivial_subqueryscan(SubqueryScan *plan);
|
116
|
-
extern void record_plan_function_dependency(PlannerInfo *root, Oid funcid);
|
117
|
-
extern void record_plan_type_dependency(PlannerInfo *root, Oid typid);
|
118
|
-
extern bool extract_query_dependencies_walker(Node *node, PlannerInfo *root);
|
119
|
-
|
120
|
-
#endif /* PLANMAIN_H */
|
@@ -1,63 +0,0 @@
|
|
1
|
-
/*-------------------------------------------------------------------------
|
2
|
-
*
|
3
|
-
* analyze.h
|
4
|
-
* parse analysis for optimizable statements
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
8
|
-
* Portions Copyright (c) 1994, Regents of the University of California
|
9
|
-
*
|
10
|
-
* src/include/parser/analyze.h
|
11
|
-
*
|
12
|
-
*-------------------------------------------------------------------------
|
13
|
-
*/
|
14
|
-
#ifndef ANALYZE_H
|
15
|
-
#define ANALYZE_H
|
16
|
-
|
17
|
-
#include "nodes/params.h"
|
18
|
-
#include "parser/parse_node.h"
|
19
|
-
#include "utils/queryjumble.h"
|
20
|
-
|
21
|
-
/* Hook for plugins to get control at end of parse analysis */
|
22
|
-
typedef void (*post_parse_analyze_hook_type) (ParseState *pstate,
|
23
|
-
Query *query,
|
24
|
-
JumbleState *jstate);
|
25
|
-
extern PGDLLIMPORT post_parse_analyze_hook_type post_parse_analyze_hook;
|
26
|
-
|
27
|
-
|
28
|
-
extern Query *parse_analyze_fixedparams(RawStmt *parseTree, const char *sourceText,
|
29
|
-
const Oid *paramTypes, int numParams, QueryEnvironment *queryEnv);
|
30
|
-
extern Query *parse_analyze_varparams(RawStmt *parseTree, const char *sourceText,
|
31
|
-
Oid **paramTypes, int *numParams, QueryEnvironment *queryEnv);
|
32
|
-
extern Query *parse_analyze_withcb(RawStmt *parseTree, const char *sourceText,
|
33
|
-
ParserSetupHook parserSetup,
|
34
|
-
void *parserSetupArg,
|
35
|
-
QueryEnvironment *queryEnv);
|
36
|
-
|
37
|
-
extern Query *parse_sub_analyze(Node *parseTree, ParseState *parentParseState,
|
38
|
-
CommonTableExpr *parentCTE,
|
39
|
-
bool locked_from_parent,
|
40
|
-
bool resolve_unknowns);
|
41
|
-
|
42
|
-
extern List *transformInsertRow(ParseState *pstate, List *exprlist,
|
43
|
-
List *stmtcols, List *icolumns, List *attrnos,
|
44
|
-
bool strip_indirection);
|
45
|
-
extern List *transformUpdateTargetList(ParseState *pstate,
|
46
|
-
List *targetList);
|
47
|
-
extern Query *transformTopLevelStmt(ParseState *pstate, RawStmt *parseTree);
|
48
|
-
extern Query *transformStmt(ParseState *pstate, Node *parseTree);
|
49
|
-
|
50
|
-
extern bool analyze_requires_snapshot(RawStmt *parseTree);
|
51
|
-
|
52
|
-
extern const char *LCS_asString(LockClauseStrength strength);
|
53
|
-
extern void CheckSelectLocking(Query *qry, LockClauseStrength strength);
|
54
|
-
extern void applyLockingClause(Query *qry, Index rtindex,
|
55
|
-
LockClauseStrength strength,
|
56
|
-
LockWaitPolicy waitPolicy, bool pushedDown);
|
57
|
-
|
58
|
-
extern List *BuildOnConflictExcludedTargetlist(Relation targetrel,
|
59
|
-
Index exclRelIndex);
|
60
|
-
|
61
|
-
extern SortGroupClause *makeSortGroupClauseForSetOp(Oid rescoltype, bool require_hash);
|
62
|
-
|
63
|
-
#endif /* ANALYZE_H */
|