pg_query 2.2.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +86 -0
- data/README.md +57 -31
- data/Rakefile +5 -6
- data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
- data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
- data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/extconf.rb +33 -9
- data/ext/pg_query/include/pg_query.h +30 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +839 -290
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +638 -481
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +6786 -4193
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +450 -330
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1489 -1044
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +157 -118
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1933 -1410
- data/ext/pg_query/include/postgres/access/amapi.h +303 -0
- data/ext/pg_query/include/postgres/access/attmap.h +54 -0
- data/ext/pg_query/include/postgres/access/attnum.h +64 -0
- data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
- data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
- data/ext/pg_query/include/postgres/access/clog.h +62 -0
- data/ext/pg_query/include/postgres/access/commit_ts.h +73 -0
- data/ext/pg_query/include/postgres/access/detoast.h +82 -0
- data/ext/pg_query/include/postgres/access/genam.h +246 -0
- data/ext/pg_query/include/postgres/access/gin.h +91 -0
- data/ext/pg_query/include/postgres/access/htup.h +89 -0
- data/ext/pg_query/include/postgres/access/htup_details.h +811 -0
- data/ext/pg_query/include/postgres/access/itup.h +170 -0
- data/ext/pg_query/include/postgres/access/parallel.h +81 -0
- data/ext/pg_query/include/postgres/access/printtup.h +35 -0
- data/ext/pg_query/include/postgres/access/relation.h +28 -0
- data/ext/pg_query/include/postgres/access/relscan.h +191 -0
- data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
- data/ext/pg_query/include/postgres/access/rmgrlist.h +49 -0
- data/ext/pg_query/include/postgres/access/sdir.h +67 -0
- data/ext/pg_query/include/postgres/access/skey.h +151 -0
- data/ext/pg_query/include/postgres/access/slru.h +218 -0
- data/ext/pg_query/include/postgres/access/stratnum.h +85 -0
- data/ext/pg_query/include/postgres/access/sysattr.h +29 -0
- data/ext/pg_query/include/postgres/access/table.h +28 -0
- data/ext/pg_query/include/postgres/access/tableam.h +2110 -0
- data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
- data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
- data/ext/pg_query/include/postgres/access/transam.h +418 -0
- data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
- data/ext/pg_query/include/postgres/access/tupconvert.h +54 -0
- data/ext/pg_query/include/postgres/access/tupdesc.h +154 -0
- data/ext/pg_query/include/postgres/access/tupmacs.h +207 -0
- data/ext/pg_query/include/postgres/access/twophase.h +65 -0
- data/ext/pg_query/include/postgres/access/xact.h +530 -0
- data/ext/pg_query/include/postgres/access/xlog.h +310 -0
- data/ext/pg_query/include/postgres/access/xlog_internal.h +405 -0
- data/ext/pg_query/include/postgres/access/xlogbackup.h +43 -0
- data/ext/pg_query/include/postgres/access/xlogdefs.h +82 -0
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/postgres/access/xlogreader.h +444 -0
- data/ext/pg_query/include/postgres/access/xlogrecord.h +248 -0
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
- data/ext/pg_query/include/postgres/archive/archive_module.h +67 -0
- data/ext/pg_query/include/postgres/c.h +1374 -0
- data/ext/pg_query/include/postgres/catalog/catalog.h +47 -0
- data/ext/pg_query/include/postgres/catalog/catversion.h +62 -0
- data/ext/pg_query/include/postgres/catalog/dependency.h +228 -0
- data/ext/pg_query/include/postgres/catalog/genbki.h +149 -0
- data/ext/pg_query/include/postgres/catalog/index.h +218 -0
- data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
- data/ext/pg_query/include/postgres/catalog/namespace.h +189 -0
- data/ext/pg_query/include/postgres/catalog/objectaccess.h +267 -0
- data/ext/pg_query/include/postgres/catalog/objectaddress.h +93 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +182 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +78 -0
- data/ext/pg_query/include/postgres/catalog/pg_am.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_am_d.h +47 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute.h +240 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_class.h +235 -0
- data/ext/pg_query/include/postgres/catalog/pg_class_d.h +134 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation.h +106 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint.h +278 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +74 -0
- data/ext/pg_query/include/postgres/catalog/pg_control.h +260 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion.h +79 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_database.h +129 -0
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +53 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend.h +77 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_index.h +92 -0
- data/ext/pg_query/include/postgres/catalog/pg_index_d.h +59 -0
- data/ext/pg_query/include/postgres/catalog/pg_language.h +75 -0
- data/ext/pg_query/include/postgres/catalog/pg_language_d.h +41 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator.h +124 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +142 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +76 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc.h +223 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +101 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication.h +161 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +65 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +33 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic.h +288 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +199 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +45 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger.h +153 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +109 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +56 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +35 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +63 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +37 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +54 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_type.h +407 -0
- data/ext/pg_query/include/postgres/catalog/pg_type_d.h +324 -0
- data/ext/pg_query/include/postgres/catalog/storage.h +50 -0
- data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
- data/ext/pg_query/include/postgres/commands/async.h +49 -0
- data/ext/pg_query/include/postgres/commands/dbcommands.h +37 -0
- data/ext/pg_query/include/postgres/commands/defrem.h +161 -0
- data/ext/pg_query/include/postgres/commands/event_trigger.h +97 -0
- data/ext/pg_query/include/postgres/commands/explain.h +145 -0
- data/ext/pg_query/include/postgres/commands/prepare.h +61 -0
- data/ext/pg_query/include/postgres/commands/tablespace.h +69 -0
- data/ext/pg_query/include/postgres/commands/trigger.h +288 -0
- data/ext/pg_query/include/postgres/commands/user.h +43 -0
- data/ext/pg_query/include/postgres/commands/vacuum.h +388 -0
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/postgres/common/file_perm.h +56 -0
- data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
- data/ext/pg_query/include/postgres/common/hashfn.h +119 -0
- data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
- data/ext/pg_query/include/postgres/common/int.h +512 -0
- data/ext/pg_query/include/postgres/common/keywords.h +29 -0
- data/ext/pg_query/include/postgres/common/kwlookup.h +44 -0
- data/ext/pg_query/include/postgres/common/pg_prng.h +62 -0
- data/ext/pg_query/include/postgres/common/relpath.h +97 -0
- data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
- data/ext/pg_query/include/postgres/common/sha2.h +32 -0
- data/ext/pg_query/include/postgres/common/string.h +44 -0
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +124 -0
- data/ext/pg_query/include/postgres/common/unicode_nonspacing_table.h +326 -0
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5261 -0
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +989 -0
- data/ext/pg_query/include/postgres/datatype/timestamp.h +269 -0
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3310 -0
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +836 -0
- data/ext/pg_query/include/postgres/executor/execdesc.h +70 -0
- data/ext/pg_query/include/postgres/executor/executor.h +681 -0
- data/ext/pg_query/include/postgres/executor/functions.h +56 -0
- data/ext/pg_query/include/postgres/executor/instrument.h +120 -0
- data/ext/pg_query/include/postgres/executor/spi.h +207 -0
- data/ext/pg_query/include/postgres/executor/tablefunc.h +67 -0
- data/ext/pg_query/include/postgres/executor/tuptable.h +523 -0
- data/ext/pg_query/include/postgres/fmgr.h +800 -0
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/postgres/funcapi.h +360 -0
- data/ext/pg_query/include/postgres/gram.h +1168 -0
- data/ext/pg_query/include/postgres/gramparse.h +75 -0
- data/ext/pg_query/include/postgres/jit/jit.h +106 -0
- data/ext/pg_query/include/postgres/kwlist_d.h +1164 -0
- data/ext/pg_query/include/postgres/lib/dshash.h +130 -0
- data/ext/pg_query/include/postgres/lib/ilist.h +1159 -0
- data/ext/pg_query/include/postgres/lib/pairingheap.h +102 -0
- data/ext/pg_query/include/postgres/lib/simplehash.h +1206 -0
- data/ext/pg_query/include/postgres/lib/sort_template.h +445 -0
- data/ext/pg_query/include/postgres/lib/stringinfo.h +243 -0
- data/ext/pg_query/include/postgres/libpq/auth.h +37 -0
- data/ext/pg_query/include/postgres/libpq/crypt.h +47 -0
- data/ext/pg_query/include/postgres/libpq/hba.h +186 -0
- data/ext/pg_query/include/postgres/libpq/libpq-be.h +361 -0
- data/ext/pg_query/include/postgres/libpq/libpq.h +143 -0
- data/ext/pg_query/include/postgres/libpq/pqcomm.h +169 -0
- data/ext/pg_query/include/postgres/libpq/pqformat.h +209 -0
- data/ext/pg_query/include/postgres/libpq/pqsignal.h +54 -0
- data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
- data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
- data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
- data/ext/pg_query/include/postgres/mb/pg_wchar.h +793 -0
- data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +24 -0
- data/ext/pg_query/include/postgres/miscadmin.h +527 -0
- data/ext/pg_query/include/postgres/nodes/bitmapset.h +140 -0
- data/ext/pg_query/include/postgres/nodes/execnodes.h +2855 -0
- data/ext/pg_query/include/postgres/nodes/extensible.h +164 -0
- data/ext/pg_query/include/postgres/nodes/lockoptions.h +61 -0
- data/ext/pg_query/include/postgres/nodes/makefuncs.h +127 -0
- data/ext/pg_query/include/postgres/nodes/memnodes.h +152 -0
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
- data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +222 -0
- data/ext/pg_query/include/postgres/nodes/nodes.h +435 -0
- data/ext/pg_query/include/postgres/nodes/nodetags.h +491 -0
- data/ext/pg_query/include/postgres/nodes/params.h +170 -0
- data/ext/pg_query/include/postgres/nodes/parsenodes.h +4233 -0
- data/ext/pg_query/include/postgres/nodes/pathnodes.h +3438 -0
- data/ext/pg_query/include/postgres/nodes/pg_list.h +686 -0
- data/ext/pg_query/include/postgres/nodes/plannodes.h +1593 -0
- data/ext/pg_query/include/postgres/nodes/primnodes.h +2339 -0
- data/ext/pg_query/include/postgres/nodes/print.h +34 -0
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
- data/ext/pg_query/include/postgres/nodes/replnodes.h +132 -0
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
- data/ext/pg_query/include/postgres/nodes/tidbitmap.h +75 -0
- data/ext/pg_query/include/postgres/nodes/value.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/cost.h +216 -0
- data/ext/pg_query/include/postgres/optimizer/geqo.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +45 -0
- data/ext/pg_query/include/postgres/optimizer/optimizer.h +205 -0
- data/ext/pg_query/include/postgres/optimizer/paths.h +271 -0
- data/ext/pg_query/include/postgres/optimizer/planmain.h +123 -0
- data/ext/pg_query/include/postgres/parser/analyze.h +66 -0
- data/ext/pg_query/include/postgres/parser/kwlist.h +518 -0
- data/ext/pg_query/include/postgres/parser/parse_agg.h +65 -0
- data/ext/pg_query/include/postgres/parser/parse_coerce.h +105 -0
- data/ext/pg_query/include/postgres/parser/parse_expr.h +25 -0
- data/ext/pg_query/include/postgres/parser/parse_func.h +74 -0
- data/ext/pg_query/include/postgres/parser/parse_node.h +358 -0
- data/ext/pg_query/include/postgres/parser/parse_oper.h +68 -0
- data/ext/pg_query/include/postgres/parser/parse_relation.h +129 -0
- data/ext/pg_query/include/postgres/parser/parse_type.h +61 -0
- data/ext/pg_query/include/postgres/parser/parser.h +68 -0
- data/ext/pg_query/include/postgres/parser/parsetree.h +61 -0
- data/ext/pg_query/include/postgres/parser/scanner.h +152 -0
- data/ext/pg_query/include/postgres/parser/scansup.h +27 -0
- data/ext/pg_query/include/postgres/partitioning/partdefs.h +26 -0
- data/ext/pg_query/include/postgres/pg_config.h +985 -0
- data/ext/pg_query/include/postgres/pg_config_manual.h +385 -0
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/postgres/pg_getopt.h +56 -0
- data/ext/pg_query/include/postgres/pg_trace.h +17 -0
- data/ext/pg_query/include/postgres/pgstat.h +780 -0
- data/ext/pg_query/include/postgres/pgtime.h +94 -0
- data/ext/pg_query/include/postgres/pl_gram.h +385 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +52 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +114 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +112 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +246 -0
- data/ext/pg_query/include/postgres/plerrcodes.h +998 -0
- data/ext/pg_query/include/postgres/plpgsql.h +1342 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +32 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +256 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +254 -0
- data/ext/pg_query/include/postgres/port/atomics/fallback.h +170 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +323 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +119 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +121 -0
- data/ext/pg_query/include/postgres/port/atomics/generic.h +437 -0
- data/ext/pg_query/include/postgres/port/atomics.h +606 -0
- data/ext/pg_query/include/postgres/port/pg_bitutils.h +421 -0
- data/ext/pg_query/include/postgres/port/pg_bswap.h +161 -0
- data/ext/pg_query/include/postgres/port/pg_crc32c.h +110 -0
- data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
- data/ext/pg_query/include/postgres/port/simd.h +422 -0
- data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
- data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +34 -0
- data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
- data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
- data/ext/pg_query/include/postgres/port/win32.h +59 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +582 -0
- data/ext/pg_query/include/postgres/port.h +555 -0
- data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
- data/ext/pg_query/include/postgres/postgres.h +579 -0
- data/ext/pg_query/include/postgres/postgres_ext.h +73 -0
- data/ext/pg_query/include/postgres/postmaster/autovacuum.h +69 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker.h +164 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +60 -0
- data/ext/pg_query/include/postgres/postmaster/bgwriter.h +45 -0
- data/ext/pg_query/include/postgres/postmaster/interrupt.h +32 -0
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
- data/ext/pg_query/include/postgres/postmaster/postmaster.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
- data/ext/pg_query/include/postgres/postmaster/syslogger.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
- data/ext/pg_query/include/postgres/postmaster/walwriter.h +23 -0
- data/ext/pg_query/include/postgres/regex/regex.h +272 -0
- data/ext/pg_query/include/postgres/replication/logicallauncher.h +34 -0
- data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
- data/ext/pg_query/include/postgres/replication/logicalworker.h +33 -0
- data/ext/pg_query/include/postgres/replication/origin.h +73 -0
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +734 -0
- data/ext/pg_query/include/postgres/replication/slot.h +289 -0
- data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
- data/ext/pg_query/include/postgres/replication/syncrep.h +109 -0
- data/ext/pg_query/include/postgres/replication/walreceiver.h +504 -0
- data/ext/pg_query/include/postgres/replication/walsender.h +76 -0
- data/ext/pg_query/include/postgres/rewrite/prs2lock.h +46 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +41 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +96 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +26 -0
- data/ext/pg_query/include/postgres/storage/block.h +108 -0
- data/ext/pg_query/include/postgres/storage/buf.h +46 -0
- data/ext/pg_query/include/postgres/storage/bufmgr.h +411 -0
- data/ext/pg_query/include/postgres/storage/bufpage.h +510 -0
- data/ext/pg_query/include/postgres/storage/condition_variable.h +73 -0
- data/ext/pg_query/include/postgres/storage/dsm.h +61 -0
- data/ext/pg_query/include/postgres/storage/dsm_impl.h +79 -0
- data/ext/pg_query/include/postgres/storage/fd.h +219 -0
- data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
- data/ext/pg_query/include/postgres/storage/ipc.h +87 -0
- data/ext/pg_query/include/postgres/storage/item.h +19 -0
- data/ext/pg_query/include/postgres/storage/itemid.h +184 -0
- data/ext/pg_query/include/postgres/storage/itemptr.h +245 -0
- data/ext/pg_query/include/postgres/storage/large_object.h +100 -0
- data/ext/pg_query/include/postgres/storage/latch.h +196 -0
- data/ext/pg_query/include/postgres/storage/lmgr.h +126 -0
- data/ext/pg_query/include/postgres/storage/lock.h +624 -0
- data/ext/pg_query/include/postgres/storage/lockdefs.h +61 -0
- data/ext/pg_query/include/postgres/storage/lwlock.h +228 -0
- data/ext/pg_query/include/postgres/storage/lwlocknames.h +47 -0
- data/ext/pg_query/include/postgres/storage/off.h +57 -0
- data/ext/pg_query/include/postgres/storage/pg_sema.h +61 -0
- data/ext/pg_query/include/postgres/storage/pg_shmem.h +93 -0
- data/ext/pg_query/include/postgres/storage/pmsignal.h +105 -0
- data/ext/pg_query/include/postgres/storage/predicate.h +83 -0
- data/ext/pg_query/include/postgres/storage/proc.h +488 -0
- data/ext/pg_query/include/postgres/storage/procarray.h +103 -0
- data/ext/pg_query/include/postgres/storage/proclist_types.h +53 -0
- data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
- data/ext/pg_query/include/postgres/storage/procsignal.h +75 -0
- data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +100 -0
- data/ext/pg_query/include/postgres/storage/s_lock.h +847 -0
- data/ext/pg_query/include/postgres/storage/sharedfileset.h +37 -0
- data/ext/pg_query/include/postgres/storage/shm_mq.h +86 -0
- data/ext/pg_query/include/postgres/storage/shm_toc.h +58 -0
- data/ext/pg_query/include/postgres/storage/shmem.h +59 -0
- data/ext/pg_query/include/postgres/storage/sinval.h +153 -0
- data/ext/pg_query/include/postgres/storage/smgr.h +130 -0
- data/ext/pg_query/include/postgres/storage/spin.h +77 -0
- data/ext/pg_query/include/postgres/storage/standby.h +109 -0
- data/ext/pg_query/include/postgres/storage/standbydefs.h +74 -0
- data/ext/pg_query/include/postgres/storage/sync.h +66 -0
- data/ext/pg_query/include/postgres/tcop/cmdtag.h +62 -0
- data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +219 -0
- data/ext/pg_query/include/postgres/tcop/deparse_utility.h +108 -0
- data/ext/pg_query/include/postgres/tcop/dest.h +148 -0
- data/ext/pg_query/include/postgres/tcop/fastpath.h +20 -0
- data/ext/pg_query/include/postgres/tcop/pquery.h +51 -0
- data/ext/pg_query/include/postgres/tcop/tcopprot.h +98 -0
- data/ext/pg_query/include/postgres/tcop/utility.h +112 -0
- data/ext/pg_query/include/postgres/tsearch/ts_cache.h +96 -0
- data/ext/pg_query/include/postgres/utils/acl.h +290 -0
- data/ext/pg_query/include/postgres/utils/aclchk_internal.h +45 -0
- data/ext/pg_query/include/postgres/utils/array.h +481 -0
- data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
- data/ext/pg_query/include/postgres/utils/backend_progress.h +46 -0
- data/ext/pg_query/include/postgres/utils/backend_status.h +340 -0
- data/ext/pg_query/include/postgres/utils/builtins.h +139 -0
- data/ext/pg_query/include/postgres/utils/bytea.h +28 -0
- data/ext/pg_query/include/postgres/utils/catcache.h +231 -0
- data/ext/pg_query/include/postgres/utils/date.h +118 -0
- data/ext/pg_query/include/postgres/utils/datetime.h +367 -0
- data/ext/pg_query/include/postgres/utils/datum.h +76 -0
- data/ext/pg_query/include/postgres/utils/dsa.h +166 -0
- data/ext/pg_query/include/postgres/utils/elog.h +540 -0
- data/ext/pg_query/include/postgres/utils/errcodes.h +352 -0
- data/ext/pg_query/include/postgres/utils/expandeddatum.h +170 -0
- data/ext/pg_query/include/postgres/utils/expandedrecord.h +241 -0
- data/ext/pg_query/include/postgres/utils/float.h +357 -0
- data/ext/pg_query/include/postgres/utils/fmgroids.h +3347 -0
- data/ext/pg_query/include/postgres/utils/fmgrprotos.h +2904 -0
- data/ext/pg_query/include/postgres/utils/fmgrtab.h +49 -0
- data/ext/pg_query/include/postgres/utils/guc.h +456 -0
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +184 -0
- data/ext/pg_query/include/postgres/utils/guc_tables.h +323 -0
- data/ext/pg_query/include/postgres/utils/hsearch.h +153 -0
- data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
- data/ext/pg_query/include/postgres/utils/inval.h +68 -0
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/postgres/utils/lsyscache.h +215 -0
- data/ext/pg_query/include/postgres/utils/memdebug.h +82 -0
- data/ext/pg_query/include/postgres/utils/memutils.h +193 -0
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +176 -0
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +253 -0
- data/ext/pg_query/include/postgres/utils/numeric.h +110 -0
- data/ext/pg_query/include/postgres/utils/palloc.h +151 -0
- data/ext/pg_query/include/postgres/utils/partcache.h +103 -0
- data/ext/pg_query/include/postgres/utils/pg_locale.h +136 -0
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +827 -0
- data/ext/pg_query/include/postgres/utils/plancache.h +238 -0
- data/ext/pg_query/include/postgres/utils/portal.h +252 -0
- data/ext/pg_query/include/postgres/utils/probes.h +114 -0
- data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
- data/ext/pg_query/include/postgres/utils/queryenvironment.h +74 -0
- data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
- data/ext/pg_query/include/postgres/utils/rel.h +711 -0
- data/ext/pg_query/include/postgres/utils/relcache.h +155 -0
- data/ext/pg_query/include/postgres/utils/reltrigger.h +81 -0
- data/ext/pg_query/include/postgres/utils/resowner.h +167 -0
- data/ext/pg_query/include/postgres/utils/ruleutils.h +52 -0
- data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +61 -0
- data/ext/pg_query/include/postgres/utils/snapmgr.h +130 -0
- data/ext/pg_query/include/postgres/utils/snapshot.h +219 -0
- data/ext/pg_query/include/postgres/utils/sortsupport.h +391 -0
- data/ext/pg_query/include/postgres/utils/syscache.h +136 -0
- data/ext/pg_query/include/postgres/utils/timeout.h +96 -0
- data/ext/pg_query/include/postgres/utils/timestamp.h +147 -0
- data/ext/pg_query/include/postgres/utils/tuplesort.h +472 -0
- data/ext/pg_query/include/postgres/utils/tuplestore.h +88 -0
- data/ext/pg_query/include/postgres/utils/typcache.h +210 -0
- data/ext/pg_query/include/postgres/utils/varlena.h +53 -0
- data/ext/pg_query/include/postgres/utils/wait_event.h +108 -0
- data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
- data/ext/pg_query/include/postgres/utils/xml.h +94 -0
- data/ext/pg_query/include/postgres/varatt.h +358 -0
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +8077 -6217
- data/ext/pg_query/include/protobuf/pg_query.pb.h +132024 -88124
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +24028 -17173
- data/ext/pg_query/pg_query_deparse.c +1 -9902
- data/ext/pg_query/pg_query_fingerprint.c +42 -18
- data/ext/pg_query/pg_query_fingerprint.h +1 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +1 -25
- data/ext/pg_query/pg_query_normalize.c +44 -3
- data/ext/pg_query/pg_query_outfuncs_json.c +62 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +19 -18
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +45 -10
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_scan.c +4 -3
- data/ext/pg_query/pg_query_split.c +6 -5
- data/ext/pg_query/postgres_deparse.c +11496 -0
- data/ext/pg_query/postgres_deparse.h +9 -0
- data/ext/pg_query/src_backend_catalog_namespace.c +262 -71
- data/ext/pg_query/src_backend_catalog_pg_proc.c +3 -2
- data/ext/pg_query/src_backend_commands_define.c +12 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +142 -156
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +100 -5881
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3831
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +89 -18
- data/ext/pg_query/src_backend_nodes_makefuncs.c +138 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +433 -132
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +45255 -38885
- data/ext/pg_query/src_backend_parser_parser.c +53 -8
- data/ext/pg_query/src_backend_parser_scan.c +6999 -3438
- data/ext/pg_query/src_backend_parser_scansup.c +5 -28
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +156 -114
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +14 -2
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
- data/ext/pg_query/src_backend_utils_adt_numutils.c +488 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +247 -34
- data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
- data/ext/pg_query/src_backend_utils_error_elog.c +543 -343
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +47 -18
- data/ext/pg_query/src_backend_utils_init_globals.c +22 -7
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +84 -148
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +502 -0
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +166 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +708 -499
- data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1115 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +710 -218
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +1079 -0
- data/ext/pg_query/src_common_encnames.c +46 -44
- data/ext/pg_query/src_common_hashfn.c +3 -3
- data/ext/pg_query/src_common_keywords.c +15 -2
- data/ext/pg_query/src_common_kwlist_d.h +602 -510
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_psprintf.c +3 -3
- data/ext/pg_query/src_common_stringinfo.c +21 -4
- data/ext/pg_query/src_common_wchar.c +754 -178
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +143 -24
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1295 -1255
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +20 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
- data/ext/pg_query/src_port_pg_bitutils.c +283 -54
- data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +56 -39
- data/ext/pg_query/src_port_strerror.c +9 -21
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/filter_columns.rb +1 -1
- data/lib/pg_query/fingerprint.rb +10 -9
- data/lib/pg_query/node.rb +18 -13
- data/lib/pg_query/param_refs.rb +3 -3
- data/lib/pg_query/parse.rb +25 -15
- data/lib/pg_query/parse_error.rb +1 -0
- data/lib/pg_query/pg_query_pb.rb +181 -3038
- data/lib/pg_query/scan.rb +1 -0
- data/lib/pg_query/treewalker.rb +55 -8
- data/lib/pg_query/truncate.rb +19 -21
- data/lib/pg_query/version.rb +1 -1
- metadata +447 -436
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +0 -246
- data/ext/pg_query/include/access/attmap.h +0 -52
- data/ext/pg_query/include/access/attnum.h +0 -64
- data/ext/pg_query/include/access/clog.h +0 -61
- data/ext/pg_query/include/access/commit_ts.h +0 -77
- data/ext/pg_query/include/access/detoast.h +0 -92
- data/ext/pg_query/include/access/genam.h +0 -228
- data/ext/pg_query/include/access/gin.h +0 -78
- data/ext/pg_query/include/access/htup.h +0 -89
- data/ext/pg_query/include/access/htup_details.h +0 -819
- data/ext/pg_query/include/access/itup.h +0 -161
- data/ext/pg_query/include/access/parallel.h +0 -82
- data/ext/pg_query/include/access/printtup.h +0 -35
- data/ext/pg_query/include/access/relation.h +0 -28
- data/ext/pg_query/include/access/relscan.h +0 -176
- data/ext/pg_query/include/access/rmgr.h +0 -35
- data/ext/pg_query/include/access/rmgrlist.h +0 -49
- data/ext/pg_query/include/access/sdir.h +0 -58
- data/ext/pg_query/include/access/skey.h +0 -151
- data/ext/pg_query/include/access/stratnum.h +0 -83
- data/ext/pg_query/include/access/sysattr.h +0 -29
- data/ext/pg_query/include/access/table.h +0 -27
- data/ext/pg_query/include/access/tableam.h +0 -1825
- data/ext/pg_query/include/access/transam.h +0 -265
- data/ext/pg_query/include/access/tupconvert.h +0 -51
- data/ext/pg_query/include/access/tupdesc.h +0 -154
- data/ext/pg_query/include/access/tupmacs.h +0 -247
- data/ext/pg_query/include/access/twophase.h +0 -63
- data/ext/pg_query/include/access/xact.h +0 -469
- data/ext/pg_query/include/access/xlog.h +0 -398
- data/ext/pg_query/include/access/xlog_internal.h +0 -339
- data/ext/pg_query/include/access/xlogdefs.h +0 -109
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/access/xlogreader.h +0 -337
- data/ext/pg_query/include/access/xlogrecord.h +0 -227
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/c.h +0 -1334
- data/ext/pg_query/include/catalog/catalog.h +0 -42
- data/ext/pg_query/include/catalog/catversion.h +0 -58
- data/ext/pg_query/include/catalog/dependency.h +0 -277
- data/ext/pg_query/include/catalog/genbki.h +0 -64
- data/ext/pg_query/include/catalog/index.h +0 -199
- data/ext/pg_query/include/catalog/indexing.h +0 -366
- data/ext/pg_query/include/catalog/namespace.h +0 -188
- data/ext/pg_query/include/catalog/objectaccess.h +0 -197
- data/ext/pg_query/include/catalog/objectaddress.h +0 -84
- data/ext/pg_query/include/catalog/pg_aggregate.h +0 -176
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -77
- data/ext/pg_query/include/catalog/pg_am.h +0 -60
- data/ext/pg_query/include/catalog/pg_am_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_attribute.h +0 -204
- data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -59
- data/ext/pg_query/include/catalog/pg_authid.h +0 -58
- data/ext/pg_query/include/catalog/pg_authid_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_class.h +0 -200
- data/ext/pg_query/include/catalog/pg_class_d.h +0 -103
- data/ext/pg_query/include/catalog/pg_collation.h +0 -73
- data/ext/pg_query/include/catalog/pg_collation_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_constraint.h +0 -247
- data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -67
- data/ext/pg_query/include/catalog/pg_control.h +0 -252
- data/ext/pg_query/include/catalog/pg_conversion.h +0 -72
- data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_depend.h +0 -73
- data/ext/pg_query/include/catalog/pg_depend_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -51
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_index.h +0 -80
- data/ext/pg_query/include/catalog/pg_index_d.h +0 -56
- data/ext/pg_query/include/catalog/pg_language.h +0 -67
- data/ext/pg_query/include/catalog/pg_language_d.h +0 -39
- data/ext/pg_query/include/catalog/pg_namespace.h +0 -59
- data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_opclass.h +0 -85
- data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_operator.h +0 -104
- data/ext/pg_query/include/catalog/pg_operator_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_opfamily.h +0 -60
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -47
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -63
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_proc.h +0 -211
- data/ext/pg_query/include/catalog/pg_proc_d.h +0 -99
- data/ext/pg_query/include/catalog/pg_publication.h +0 -118
- data/ext/pg_query/include/catalog/pg_publication_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -57
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -29
- data/ext/pg_query/include/catalog/pg_statistic.h +0 -275
- data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -194
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -74
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -40
- data/ext/pg_query/include/catalog/pg_transform.h +0 -45
- data/ext/pg_query/include/catalog/pg_transform_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_trigger.h +0 -137
- data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_ts_config.h +0 -50
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -54
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -33
- data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -57
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_ts_template.h +0 -48
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_type.h +0 -373
- data/ext/pg_query/include/catalog/pg_type_d.h +0 -285
- data/ext/pg_query/include/catalog/storage.h +0 -48
- data/ext/pg_query/include/commands/async.h +0 -54
- data/ext/pg_query/include/commands/dbcommands.h +0 -35
- data/ext/pg_query/include/commands/defrem.h +0 -173
- data/ext/pg_query/include/commands/event_trigger.h +0 -88
- data/ext/pg_query/include/commands/explain.h +0 -127
- data/ext/pg_query/include/commands/prepare.h +0 -61
- data/ext/pg_query/include/commands/tablespace.h +0 -69
- data/ext/pg_query/include/commands/trigger.h +0 -285
- data/ext/pg_query/include/commands/user.h +0 -37
- data/ext/pg_query/include/commands/vacuum.h +0 -293
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/common/file_perm.h +0 -56
- data/ext/pg_query/include/common/hashfn.h +0 -104
- data/ext/pg_query/include/common/ip.h +0 -37
- data/ext/pg_query/include/common/keywords.h +0 -33
- data/ext/pg_query/include/common/kwlookup.h +0 -44
- data/ext/pg_query/include/common/relpath.h +0 -90
- data/ext/pg_query/include/common/string.h +0 -19
- data/ext/pg_query/include/common/unicode_combining_table.h +0 -196
- data/ext/pg_query/include/datatype/timestamp.h +0 -197
- data/ext/pg_query/include/executor/execdesc.h +0 -70
- data/ext/pg_query/include/executor/executor.h +0 -620
- data/ext/pg_query/include/executor/functions.h +0 -41
- data/ext/pg_query/include/executor/instrument.h +0 -101
- data/ext/pg_query/include/executor/spi.h +0 -175
- data/ext/pg_query/include/executor/tablefunc.h +0 -67
- data/ext/pg_query/include/executor/tuptable.h +0 -487
- data/ext/pg_query/include/fmgr.h +0 -775
- data/ext/pg_query/include/funcapi.h +0 -348
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/jit/jit.h +0 -105
- data/ext/pg_query/include/kwlist_d.h +0 -1072
- data/ext/pg_query/include/lib/ilist.h +0 -727
- data/ext/pg_query/include/lib/pairingheap.h +0 -102
- data/ext/pg_query/include/lib/simplehash.h +0 -1059
- data/ext/pg_query/include/lib/stringinfo.h +0 -161
- data/ext/pg_query/include/libpq/auth.h +0 -29
- data/ext/pg_query/include/libpq/crypt.h +0 -46
- data/ext/pg_query/include/libpq/hba.h +0 -140
- data/ext/pg_query/include/libpq/libpq-be.h +0 -326
- data/ext/pg_query/include/libpq/libpq.h +0 -134
- data/ext/pg_query/include/libpq/pqcomm.h +0 -208
- data/ext/pg_query/include/libpq/pqformat.h +0 -210
- data/ext/pg_query/include/libpq/pqsignal.h +0 -42
- data/ext/pg_query/include/mb/pg_wchar.h +0 -673
- data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
- data/ext/pg_query/include/miscadmin.h +0 -489
- data/ext/pg_query/include/nodes/bitmapset.h +0 -122
- data/ext/pg_query/include/nodes/execnodes.h +0 -2523
- data/ext/pg_query/include/nodes/extensible.h +0 -160
- data/ext/pg_query/include/nodes/lockoptions.h +0 -61
- data/ext/pg_query/include/nodes/makefuncs.h +0 -108
- data/ext/pg_query/include/nodes/memnodes.h +0 -108
- data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
- data/ext/pg_query/include/nodes/nodes.h +0 -842
- data/ext/pg_query/include/nodes/params.h +0 -170
- data/ext/pg_query/include/nodes/parsenodes.h +0 -3580
- data/ext/pg_query/include/nodes/pathnodes.h +0 -2557
- data/ext/pg_query/include/nodes/pg_list.h +0 -606
- data/ext/pg_query/include/nodes/plannodes.h +0 -1266
- data/ext/pg_query/include/nodes/primnodes.h +0 -1541
- data/ext/pg_query/include/nodes/print.h +0 -34
- data/ext/pg_query/include/nodes/tidbitmap.h +0 -75
- data/ext/pg_query/include/nodes/value.h +0 -61
- data/ext/pg_query/include/optimizer/cost.h +0 -206
- data/ext/pg_query/include/optimizer/geqo.h +0 -88
- data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
- data/ext/pg_query/include/optimizer/optimizer.h +0 -194
- data/ext/pg_query/include/optimizer/paths.h +0 -257
- data/ext/pg_query/include/optimizer/planmain.h +0 -119
- data/ext/pg_query/include/parser/analyze.h +0 -49
- data/ext/pg_query/include/parser/gram.h +0 -1067
- data/ext/pg_query/include/parser/gramparse.h +0 -75
- data/ext/pg_query/include/parser/kwlist.h +0 -477
- data/ext/pg_query/include/parser/parse_agg.h +0 -68
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_coerce.h +0 -98
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_expr.h +0 -26
- data/ext/pg_query/include/parser/parse_func.h +0 -73
- data/ext/pg_query/include/parser/parse_node.h +0 -327
- data/ext/pg_query/include/parser/parse_oper.h +0 -67
- data/ext/pg_query/include/parser/parse_relation.h +0 -123
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/include/parser/parse_type.h +0 -60
- data/ext/pg_query/include/parser/parser.h +0 -41
- data/ext/pg_query/include/parser/parsetree.h +0 -61
- data/ext/pg_query/include/parser/scanner.h +0 -152
- data/ext/pg_query/include/parser/scansup.h +0 -30
- data/ext/pg_query/include/partitioning/partdefs.h +0 -26
- data/ext/pg_query/include/pg_config.h +0 -995
- data/ext/pg_query/include/pg_config_manual.h +0 -357
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/pg_getopt.h +0 -56
- data/ext/pg_query/include/pg_trace.h +0 -17
- data/ext/pg_query/include/pgstat.h +0 -1488
- data/ext/pg_query/include/pgtime.h +0 -84
- data/ext/pg_query/include/pl_gram.h +0 -385
- data/ext/pg_query/include/pl_reserved_kwlist.h +0 -52
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +0 -114
- data/ext/pg_query/include/pl_unreserved_kwlist.h +0 -112
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -246
- data/ext/pg_query/include/plerrcodes.h +0 -990
- data/ext/pg_query/include/plpgsql.h +0 -1347
- data/ext/pg_query/include/port/atomics/arch-arm.h +0 -26
- data/ext/pg_query/include/port/atomics/arch-ppc.h +0 -254
- data/ext/pg_query/include/port/atomics/arch-x86.h +0 -252
- data/ext/pg_query/include/port/atomics/fallback.h +0 -170
- data/ext/pg_query/include/port/atomics/generic-gcc.h +0 -286
- data/ext/pg_query/include/port/atomics/generic.h +0 -401
- data/ext/pg_query/include/port/atomics.h +0 -524
- data/ext/pg_query/include/port/pg_bitutils.h +0 -272
- data/ext/pg_query/include/port/pg_bswap.h +0 -161
- data/ext/pg_query/include/port/pg_crc32c.h +0 -101
- data/ext/pg_query/include/port.h +0 -528
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postgres.h +0 -764
- data/ext/pg_query/include/postgres_ext.h +0 -74
- data/ext/pg_query/include/postmaster/autovacuum.h +0 -83
- data/ext/pg_query/include/postmaster/bgworker.h +0 -161
- data/ext/pg_query/include/postmaster/bgworker_internals.h +0 -64
- data/ext/pg_query/include/postmaster/bgwriter.h +0 -45
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/postmaster/interrupt.h +0 -32
- data/ext/pg_query/include/postmaster/pgarch.h +0 -39
- data/ext/pg_query/include/postmaster/postmaster.h +0 -77
- data/ext/pg_query/include/postmaster/syslogger.h +0 -98
- data/ext/pg_query/include/postmaster/walwriter.h +0 -21
- data/ext/pg_query/include/regex/regex.h +0 -184
- data/ext/pg_query/include/replication/logicallauncher.h +0 -31
- data/ext/pg_query/include/replication/logicalproto.h +0 -110
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- data/ext/pg_query/include/replication/origin.h +0 -73
- data/ext/pg_query/include/replication/reorderbuffer.h +0 -468
- data/ext/pg_query/include/replication/slot.h +0 -219
- data/ext/pg_query/include/replication/syncrep.h +0 -115
- data/ext/pg_query/include/replication/walreceiver.h +0 -340
- data/ext/pg_query/include/replication/walsender.h +0 -74
- data/ext/pg_query/include/rewrite/prs2lock.h +0 -46
- data/ext/pg_query/include/rewrite/rewriteHandler.h +0 -40
- data/ext/pg_query/include/rewrite/rewriteManip.h +0 -87
- data/ext/pg_query/include/rewrite/rewriteSupport.h +0 -26
- data/ext/pg_query/include/storage/backendid.h +0 -37
- data/ext/pg_query/include/storage/block.h +0 -121
- data/ext/pg_query/include/storage/buf.h +0 -46
- data/ext/pg_query/include/storage/bufmgr.h +0 -292
- data/ext/pg_query/include/storage/bufpage.h +0 -459
- data/ext/pg_query/include/storage/condition_variable.h +0 -62
- data/ext/pg_query/include/storage/dsm.h +0 -61
- data/ext/pg_query/include/storage/dsm_impl.h +0 -75
- data/ext/pg_query/include/storage/fd.h +0 -168
- data/ext/pg_query/include/storage/ipc.h +0 -81
- data/ext/pg_query/include/storage/item.h +0 -19
- data/ext/pg_query/include/storage/itemid.h +0 -184
- data/ext/pg_query/include/storage/itemptr.h +0 -206
- data/ext/pg_query/include/storage/large_object.h +0 -100
- data/ext/pg_query/include/storage/latch.h +0 -190
- data/ext/pg_query/include/storage/lmgr.h +0 -114
- data/ext/pg_query/include/storage/lock.h +0 -613
- data/ext/pg_query/include/storage/lockdefs.h +0 -59
- data/ext/pg_query/include/storage/lwlock.h +0 -233
- data/ext/pg_query/include/storage/lwlocknames.h +0 -51
- data/ext/pg_query/include/storage/off.h +0 -57
- data/ext/pg_query/include/storage/pg_sema.h +0 -61
- data/ext/pg_query/include/storage/pg_shmem.h +0 -90
- data/ext/pg_query/include/storage/pmsignal.h +0 -94
- data/ext/pg_query/include/storage/predicate.h +0 -87
- data/ext/pg_query/include/storage/proc.h +0 -347
- data/ext/pg_query/include/storage/proclist_types.h +0 -51
- data/ext/pg_query/include/storage/procsignal.h +0 -75
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/storage/s_lock.h +0 -1071
- data/ext/pg_query/include/storage/sharedfileset.h +0 -45
- data/ext/pg_query/include/storage/shm_mq.h +0 -85
- data/ext/pg_query/include/storage/shm_toc.h +0 -58
- data/ext/pg_query/include/storage/shmem.h +0 -81
- data/ext/pg_query/include/storage/sinval.h +0 -153
- data/ext/pg_query/include/storage/sinvaladt.h +0 -43
- data/ext/pg_query/include/storage/smgr.h +0 -109
- data/ext/pg_query/include/storage/spin.h +0 -77
- data/ext/pg_query/include/storage/standby.h +0 -91
- data/ext/pg_query/include/storage/standbydefs.h +0 -74
- data/ext/pg_query/include/storage/sync.h +0 -62
- data/ext/pg_query/include/tcop/cmdtag.h +0 -58
- data/ext/pg_query/include/tcop/cmdtaglist.h +0 -217
- data/ext/pg_query/include/tcop/deparse_utility.h +0 -108
- data/ext/pg_query/include/tcop/dest.h +0 -149
- data/ext/pg_query/include/tcop/fastpath.h +0 -21
- data/ext/pg_query/include/tcop/pquery.h +0 -51
- data/ext/pg_query/include/tcop/tcopprot.h +0 -89
- data/ext/pg_query/include/tcop/utility.h +0 -108
- data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
- data/ext/pg_query/include/utils/acl.h +0 -312
- data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
- data/ext/pg_query/include/utils/array.h +0 -459
- data/ext/pg_query/include/utils/builtins.h +0 -128
- data/ext/pg_query/include/utils/bytea.h +0 -27
- data/ext/pg_query/include/utils/catcache.h +0 -231
- data/ext/pg_query/include/utils/date.h +0 -90
- data/ext/pg_query/include/utils/datetime.h +0 -343
- data/ext/pg_query/include/utils/datum.h +0 -68
- data/ext/pg_query/include/utils/dsa.h +0 -123
- data/ext/pg_query/include/utils/dynahash.h +0 -19
- data/ext/pg_query/include/utils/elog.h +0 -439
- data/ext/pg_query/include/utils/errcodes.h +0 -352
- data/ext/pg_query/include/utils/expandeddatum.h +0 -159
- data/ext/pg_query/include/utils/expandedrecord.h +0 -231
- data/ext/pg_query/include/utils/float.h +0 -356
- data/ext/pg_query/include/utils/fmgroids.h +0 -2657
- data/ext/pg_query/include/utils/fmgrprotos.h +0 -2646
- data/ext/pg_query/include/utils/fmgrtab.h +0 -48
- data/ext/pg_query/include/utils/guc.h +0 -443
- data/ext/pg_query/include/utils/guc_tables.h +0 -272
- data/ext/pg_query/include/utils/hsearch.h +0 -149
- data/ext/pg_query/include/utils/inval.h +0 -65
- data/ext/pg_query/include/utils/lsyscache.h +0 -198
- data/ext/pg_query/include/utils/memdebug.h +0 -82
- data/ext/pg_query/include/utils/memutils.h +0 -225
- data/ext/pg_query/include/utils/numeric.h +0 -76
- data/ext/pg_query/include/utils/palloc.h +0 -136
- data/ext/pg_query/include/utils/partcache.h +0 -102
- data/ext/pg_query/include/utils/pg_locale.h +0 -119
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/pidfile.h +0 -56
- data/ext/pg_query/include/utils/plancache.h +0 -235
- data/ext/pg_query/include/utils/portal.h +0 -254
- data/ext/pg_query/include/utils/probes.h +0 -114
- data/ext/pg_query/include/utils/ps_status.h +0 -25
- data/ext/pg_query/include/utils/queryenvironment.h +0 -74
- data/ext/pg_query/include/utils/regproc.h +0 -28
- data/ext/pg_query/include/utils/rel.h +0 -643
- data/ext/pg_query/include/utils/relcache.h +0 -150
- data/ext/pg_query/include/utils/reltrigger.h +0 -81
- data/ext/pg_query/include/utils/resowner.h +0 -86
- data/ext/pg_query/include/utils/rls.h +0 -50
- data/ext/pg_query/include/utils/ruleutils.h +0 -44
- data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
- data/ext/pg_query/include/utils/snapmgr.h +0 -159
- data/ext/pg_query/include/utils/snapshot.h +0 -206
- data/ext/pg_query/include/utils/sortsupport.h +0 -276
- data/ext/pg_query/include/utils/syscache.h +0 -219
- data/ext/pg_query/include/utils/timeout.h +0 -88
- data/ext/pg_query/include/utils/timestamp.h +0 -116
- data/ext/pg_query/include/utils/tuplesort.h +0 -277
- data/ext/pg_query/include/utils/tuplestore.h +0 -91
- data/ext/pg_query/include/utils/typcache.h +0 -202
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/include/utils/varlena.h +0 -39
- data/ext/pg_query/include/utils/xml.h +0 -84
- data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -659
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1832
- data/ext/pg_query/src_common_string.c +0 -86
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- data/ext/pg_query/src_port_random.c +0 -31
- data/ext/pg_query/src_port_strnlen.c +0 -39
- /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
* Symbols referenced in this file:
|
3
3
|
* - exprLocation
|
4
4
|
* - leftmostLoc
|
5
|
-
* -
|
5
|
+
* - raw_expression_tree_walker_impl
|
6
6
|
*--------------------------------------------------------------------
|
7
7
|
*/
|
8
8
|
|
@@ -11,7 +11,7 @@
|
|
11
11
|
* nodeFuncs.c
|
12
12
|
* Various general-purpose manipulations of Node trees
|
13
13
|
*
|
14
|
-
* Portions Copyright (c) 1996-
|
14
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
15
15
|
* Portions Copyright (c) 1994, Regents of the University of California
|
16
16
|
*
|
17
17
|
*
|
@@ -26,7 +26,6 @@
|
|
26
26
|
#include "catalog/pg_type.h"
|
27
27
|
#include "miscadmin.h"
|
28
28
|
#include "nodes/execnodes.h"
|
29
|
-
#include "nodes/makefuncs.h"
|
30
29
|
#include "nodes/nodeFuncs.h"
|
31
30
|
#include "nodes/pathnodes.h"
|
32
31
|
#include "utils/builtins.h"
|
@@ -35,10 +34,12 @@
|
|
35
34
|
static bool expression_returns_set_walker(Node *node, void *context);
|
36
35
|
static int leftmostLoc(int loc1, int loc2);
|
37
36
|
static bool fix_opfuncids_walker(Node *node, void *context);
|
38
|
-
static bool planstate_walk_subplans(List *plans,
|
37
|
+
static bool planstate_walk_subplans(List *plans,
|
38
|
+
planstate_tree_walker_callback walker,
|
39
39
|
void *context);
|
40
40
|
static bool planstate_walk_members(PlanState **planstates, int nplans,
|
41
|
-
|
41
|
+
planstate_tree_walker_callback walker,
|
42
|
+
void *context);
|
42
43
|
|
43
44
|
|
44
45
|
/*
|
@@ -219,6 +220,9 @@ exprLocation(const Node *expr)
|
|
219
220
|
/* function name should always be the first thing */
|
220
221
|
loc = ((const WindowFunc *) expr)->location;
|
221
222
|
break;
|
223
|
+
case T_MergeSupportFunc:
|
224
|
+
loc = ((const MergeSupportFunc *) expr)->location;
|
225
|
+
break;
|
222
226
|
case T_SubscriptingRef:
|
223
227
|
/* just use container argument's location */
|
224
228
|
loc = exprLocation((Node *) ((const SubscriptingRef *) expr)->refexpr);
|
@@ -372,6 +376,30 @@ exprLocation(const Node *expr)
|
|
372
376
|
exprLocation((Node *) xexpr->args));
|
373
377
|
}
|
374
378
|
break;
|
379
|
+
case T_JsonFormat:
|
380
|
+
loc = ((const JsonFormat *) expr)->location;
|
381
|
+
break;
|
382
|
+
case T_JsonValueExpr:
|
383
|
+
loc = exprLocation((Node *) ((const JsonValueExpr *) expr)->raw_expr);
|
384
|
+
break;
|
385
|
+
case T_JsonConstructorExpr:
|
386
|
+
loc = ((const JsonConstructorExpr *) expr)->location;
|
387
|
+
break;
|
388
|
+
case T_JsonIsPredicate:
|
389
|
+
loc = ((const JsonIsPredicate *) expr)->location;
|
390
|
+
break;
|
391
|
+
case T_JsonExpr:
|
392
|
+
{
|
393
|
+
const JsonExpr *jsexpr = (const JsonExpr *) expr;
|
394
|
+
|
395
|
+
/* consider both function name and leftmost arg */
|
396
|
+
loc = leftmostLoc(jsexpr->location,
|
397
|
+
exprLocation(jsexpr->formatted_expr));
|
398
|
+
}
|
399
|
+
break;
|
400
|
+
case T_JsonBehavior:
|
401
|
+
loc = exprLocation(((JsonBehavior *) expr)->expr);
|
402
|
+
break;
|
375
403
|
case T_NullTest:
|
376
404
|
{
|
377
405
|
const NullTest *nexpr = (const NullTest *) expr;
|
@@ -523,9 +551,37 @@ exprLocation(const Node *expr)
|
|
523
551
|
case T_OnConflictClause:
|
524
552
|
loc = ((const OnConflictClause *) expr)->location;
|
525
553
|
break;
|
554
|
+
case T_CTESearchClause:
|
555
|
+
loc = ((const CTESearchClause *) expr)->location;
|
556
|
+
break;
|
557
|
+
case T_CTECycleClause:
|
558
|
+
loc = ((const CTECycleClause *) expr)->location;
|
559
|
+
break;
|
526
560
|
case T_CommonTableExpr:
|
527
561
|
loc = ((const CommonTableExpr *) expr)->location;
|
528
562
|
break;
|
563
|
+
case T_JsonKeyValue:
|
564
|
+
/* just use the key's location */
|
565
|
+
loc = exprLocation((Node *) ((const JsonKeyValue *) expr)->key);
|
566
|
+
break;
|
567
|
+
case T_JsonObjectConstructor:
|
568
|
+
loc = ((const JsonObjectConstructor *) expr)->location;
|
569
|
+
break;
|
570
|
+
case T_JsonArrayConstructor:
|
571
|
+
loc = ((const JsonArrayConstructor *) expr)->location;
|
572
|
+
break;
|
573
|
+
case T_JsonArrayQueryConstructor:
|
574
|
+
loc = ((const JsonArrayQueryConstructor *) expr)->location;
|
575
|
+
break;
|
576
|
+
case T_JsonAggConstructor:
|
577
|
+
loc = ((const JsonAggConstructor *) expr)->location;
|
578
|
+
break;
|
579
|
+
case T_JsonObjectAgg:
|
580
|
+
loc = exprLocation((Node *) ((const JsonObjectAgg *) expr)->constructor);
|
581
|
+
break;
|
582
|
+
case T_JsonArrayAgg:
|
583
|
+
loc = exprLocation((Node *) ((const JsonArrayAgg *) expr)->constructor);
|
584
|
+
break;
|
529
585
|
case T_PlaceHolderVar:
|
530
586
|
/* just use argument's location */
|
531
587
|
loc = exprLocation((Node *) ((const PlaceHolderVar *) expr)->phexpr);
|
@@ -715,7 +771,9 @@ leftmostLoc(int loc1, int loc2)
|
|
715
771
|
* uses, but may need to be revisited in future.
|
716
772
|
*/
|
717
773
|
|
718
|
-
|
774
|
+
#define WALK(n) walker((Node *) (n), context)
|
775
|
+
#define LIST_WALK(l) expression_tree_walker_impl((Node *) (l), walker, context)
|
776
|
+
#undef LIST_WALK
|
719
777
|
|
720
778
|
/*
|
721
779
|
* query_tree_walker --- initiate a walk of a Query's expressions
|
@@ -812,10 +870,6 @@ leftmostLoc(int loc1, int loc2)
|
|
812
870
|
#define FLATCOPY(newnode, node, nodetype) \
|
813
871
|
( (newnode) = (nodetype *) palloc(sizeof(nodetype)), \
|
814
872
|
memcpy((newnode), (node), sizeof(nodetype)) )
|
815
|
-
#define CHECKFLATCOPY(newnode, node, nodetype) \
|
816
|
-
( AssertMacro(IsA((node), nodetype)), \
|
817
|
-
(newnode) = (nodetype *) palloc(sizeof(nodetype)), \
|
818
|
-
memcpy((newnode), (node), sizeof(nodetype)) )
|
819
873
|
#define MUTATE(newfield, oldfield, fieldtype) \
|
820
874
|
( (newfield) = (fieldtype) mutator((Node *) (oldfield), context) )
|
821
875
|
|
@@ -835,9 +889,9 @@ leftmostLoc(int loc1, int loc2)
|
|
835
889
|
* which is the bitwise OR of flag values to suppress mutating of
|
836
890
|
* indicated items. (More flag bits may be added as needed.)
|
837
891
|
*
|
838
|
-
* Normally the Query node itself is copied, but some callers want
|
839
|
-
* modified in-place; they must pass QTW_DONT_COPY_QUERY in flags.
|
840
|
-
* modified substructure is safely copied in any case.
|
892
|
+
* Normally the top-level Query node itself is copied, but some callers want
|
893
|
+
* it to be modified in-place; they must pass QTW_DONT_COPY_QUERY in flags.
|
894
|
+
* All modified substructure is safely copied in any case.
|
841
895
|
*/
|
842
896
|
|
843
897
|
|
@@ -880,14 +934,14 @@ leftmostLoc(int loc1, int loc2)
|
|
880
934
|
* boundaries: we descend to everything that's possibly interesting.
|
881
935
|
*
|
882
936
|
* Currently, the node type coverage here extends only to DML statements
|
883
|
-
* (SELECT/INSERT/UPDATE/DELETE) and nodes that can appear in them,
|
884
|
-
* this is used mainly during analysis of CTEs, and only DML
|
885
|
-
* appear in CTEs.
|
937
|
+
* (SELECT/INSERT/UPDATE/DELETE/MERGE) and nodes that can appear in them,
|
938
|
+
* because this is used mainly during analysis of CTEs, and only DML
|
939
|
+
* statements can appear in CTEs.
|
886
940
|
*/
|
887
941
|
bool
|
888
|
-
|
889
|
-
|
890
|
-
|
942
|
+
raw_expression_tree_walker_impl(Node *node,
|
943
|
+
tree_walker_callback walker,
|
944
|
+
void *context)
|
891
945
|
{
|
892
946
|
ListCell *temp;
|
893
947
|
|
@@ -903,34 +957,36 @@ raw_expression_tree_walker(Node *node,
|
|
903
957
|
|
904
958
|
switch (nodeTag(node))
|
905
959
|
{
|
960
|
+
case T_JsonFormat:
|
906
961
|
case T_SetToDefault:
|
907
962
|
case T_CurrentOfExpr:
|
908
963
|
case T_SQLValueFunction:
|
909
964
|
case T_Integer:
|
910
965
|
case T_Float:
|
966
|
+
case T_Boolean:
|
911
967
|
case T_String:
|
912
968
|
case T_BitString:
|
913
|
-
case T_Null:
|
914
969
|
case T_ParamRef:
|
915
970
|
case T_A_Const:
|
916
971
|
case T_A_Star:
|
972
|
+
case T_MergeSupportFunc:
|
917
973
|
/* primitive node types with no subnodes */
|
918
974
|
break;
|
919
975
|
case T_Alias:
|
920
976
|
/* we assume the colnames list isn't interesting */
|
921
977
|
break;
|
922
978
|
case T_RangeVar:
|
923
|
-
return
|
979
|
+
return WALK(((RangeVar *) node)->alias);
|
924
980
|
case T_GroupingFunc:
|
925
|
-
return
|
981
|
+
return WALK(((GroupingFunc *) node)->args);
|
926
982
|
case T_SubLink:
|
927
983
|
{
|
928
984
|
SubLink *sublink = (SubLink *) node;
|
929
985
|
|
930
|
-
if (
|
986
|
+
if (WALK(sublink->testexpr))
|
931
987
|
return true;
|
932
988
|
/* we assume the operName is not interesting */
|
933
|
-
if (
|
989
|
+
if (WALK(sublink->subselect))
|
934
990
|
return true;
|
935
991
|
}
|
936
992
|
break;
|
@@ -938,55 +994,175 @@ raw_expression_tree_walker(Node *node,
|
|
938
994
|
{
|
939
995
|
CaseExpr *caseexpr = (CaseExpr *) node;
|
940
996
|
|
941
|
-
if (
|
997
|
+
if (WALK(caseexpr->arg))
|
942
998
|
return true;
|
943
999
|
/* we assume walker doesn't care about CaseWhens, either */
|
944
1000
|
foreach(temp, caseexpr->args)
|
945
1001
|
{
|
946
1002
|
CaseWhen *when = lfirst_node(CaseWhen, temp);
|
947
1003
|
|
948
|
-
if (
|
1004
|
+
if (WALK(when->expr))
|
949
1005
|
return true;
|
950
|
-
if (
|
1006
|
+
if (WALK(when->result))
|
951
1007
|
return true;
|
952
1008
|
}
|
953
|
-
if (
|
1009
|
+
if (WALK(caseexpr->defresult))
|
954
1010
|
return true;
|
955
1011
|
}
|
956
1012
|
break;
|
957
1013
|
case T_RowExpr:
|
958
1014
|
/* Assume colnames isn't interesting */
|
959
|
-
return
|
1015
|
+
return WALK(((RowExpr *) node)->args);
|
960
1016
|
case T_CoalesceExpr:
|
961
|
-
return
|
1017
|
+
return WALK(((CoalesceExpr *) node)->args);
|
962
1018
|
case T_MinMaxExpr:
|
963
|
-
return
|
1019
|
+
return WALK(((MinMaxExpr *) node)->args);
|
964
1020
|
case T_XmlExpr:
|
965
1021
|
{
|
966
1022
|
XmlExpr *xexpr = (XmlExpr *) node;
|
967
1023
|
|
968
|
-
if (
|
1024
|
+
if (WALK(xexpr->named_args))
|
969
1025
|
return true;
|
970
1026
|
/* we assume walker doesn't care about arg_names */
|
971
|
-
if (
|
1027
|
+
if (WALK(xexpr->args))
|
1028
|
+
return true;
|
1029
|
+
}
|
1030
|
+
break;
|
1031
|
+
case T_JsonReturning:
|
1032
|
+
return WALK(((JsonReturning *) node)->format);
|
1033
|
+
case T_JsonValueExpr:
|
1034
|
+
{
|
1035
|
+
JsonValueExpr *jve = (JsonValueExpr *) node;
|
1036
|
+
|
1037
|
+
if (WALK(jve->raw_expr))
|
1038
|
+
return true;
|
1039
|
+
if (WALK(jve->formatted_expr))
|
1040
|
+
return true;
|
1041
|
+
if (WALK(jve->format))
|
1042
|
+
return true;
|
1043
|
+
}
|
1044
|
+
break;
|
1045
|
+
case T_JsonParseExpr:
|
1046
|
+
{
|
1047
|
+
JsonParseExpr *jpe = (JsonParseExpr *) node;
|
1048
|
+
|
1049
|
+
if (WALK(jpe->expr))
|
1050
|
+
return true;
|
1051
|
+
if (WALK(jpe->output))
|
1052
|
+
return true;
|
1053
|
+
}
|
1054
|
+
break;
|
1055
|
+
case T_JsonScalarExpr:
|
1056
|
+
{
|
1057
|
+
JsonScalarExpr *jse = (JsonScalarExpr *) node;
|
1058
|
+
|
1059
|
+
if (WALK(jse->expr))
|
1060
|
+
return true;
|
1061
|
+
if (WALK(jse->output))
|
972
1062
|
return true;
|
973
1063
|
}
|
974
1064
|
break;
|
1065
|
+
case T_JsonSerializeExpr:
|
1066
|
+
{
|
1067
|
+
JsonSerializeExpr *jse = (JsonSerializeExpr *) node;
|
1068
|
+
|
1069
|
+
if (WALK(jse->expr))
|
1070
|
+
return true;
|
1071
|
+
if (WALK(jse->output))
|
1072
|
+
return true;
|
1073
|
+
}
|
1074
|
+
break;
|
1075
|
+
case T_JsonConstructorExpr:
|
1076
|
+
{
|
1077
|
+
JsonConstructorExpr *ctor = (JsonConstructorExpr *) node;
|
1078
|
+
|
1079
|
+
if (WALK(ctor->args))
|
1080
|
+
return true;
|
1081
|
+
if (WALK(ctor->func))
|
1082
|
+
return true;
|
1083
|
+
if (WALK(ctor->coercion))
|
1084
|
+
return true;
|
1085
|
+
if (WALK(ctor->returning))
|
1086
|
+
return true;
|
1087
|
+
}
|
1088
|
+
break;
|
1089
|
+
case T_JsonIsPredicate:
|
1090
|
+
return WALK(((JsonIsPredicate *) node)->expr);
|
1091
|
+
case T_JsonArgument:
|
1092
|
+
return WALK(((JsonArgument *) node)->val);
|
1093
|
+
case T_JsonFuncExpr:
|
1094
|
+
{
|
1095
|
+
JsonFuncExpr *jfe = (JsonFuncExpr *) node;
|
1096
|
+
|
1097
|
+
if (WALK(jfe->context_item))
|
1098
|
+
return true;
|
1099
|
+
if (WALK(jfe->pathspec))
|
1100
|
+
return true;
|
1101
|
+
if (WALK(jfe->passing))
|
1102
|
+
return true;
|
1103
|
+
if (WALK(jfe->output))
|
1104
|
+
return true;
|
1105
|
+
if (WALK(jfe->on_empty))
|
1106
|
+
return true;
|
1107
|
+
if (WALK(jfe->on_error))
|
1108
|
+
return true;
|
1109
|
+
}
|
1110
|
+
break;
|
1111
|
+
case T_JsonBehavior:
|
1112
|
+
{
|
1113
|
+
JsonBehavior *jb = (JsonBehavior *) node;
|
1114
|
+
|
1115
|
+
if (WALK(jb->expr))
|
1116
|
+
return true;
|
1117
|
+
}
|
1118
|
+
break;
|
1119
|
+
case T_JsonTable:
|
1120
|
+
{
|
1121
|
+
JsonTable *jt = (JsonTable *) node;
|
1122
|
+
|
1123
|
+
if (WALK(jt->context_item))
|
1124
|
+
return true;
|
1125
|
+
if (WALK(jt->pathspec))
|
1126
|
+
return true;
|
1127
|
+
if (WALK(jt->passing))
|
1128
|
+
return true;
|
1129
|
+
if (WALK(jt->columns))
|
1130
|
+
return true;
|
1131
|
+
if (WALK(jt->on_error))
|
1132
|
+
return true;
|
1133
|
+
}
|
1134
|
+
break;
|
1135
|
+
case T_JsonTableColumn:
|
1136
|
+
{
|
1137
|
+
JsonTableColumn *jtc = (JsonTableColumn *) node;
|
1138
|
+
|
1139
|
+
if (WALK(jtc->typeName))
|
1140
|
+
return true;
|
1141
|
+
if (WALK(jtc->on_empty))
|
1142
|
+
return true;
|
1143
|
+
if (WALK(jtc->on_error))
|
1144
|
+
return true;
|
1145
|
+
if (WALK(jtc->columns))
|
1146
|
+
return true;
|
1147
|
+
}
|
1148
|
+
break;
|
1149
|
+
case T_JsonTablePathSpec:
|
1150
|
+
return WALK(((JsonTablePathSpec *) node)->string);
|
975
1151
|
case T_NullTest:
|
976
|
-
return
|
1152
|
+
return WALK(((NullTest *) node)->arg);
|
977
1153
|
case T_BooleanTest:
|
978
|
-
return
|
1154
|
+
return WALK(((BooleanTest *) node)->arg);
|
979
1155
|
case T_JoinExpr:
|
980
1156
|
{
|
981
1157
|
JoinExpr *join = (JoinExpr *) node;
|
982
1158
|
|
983
|
-
if (
|
1159
|
+
if (WALK(join->larg))
|
984
1160
|
return true;
|
985
|
-
if (
|
1161
|
+
if (WALK(join->rarg))
|
986
1162
|
return true;
|
987
|
-
if (
|
1163
|
+
if (WALK(join->quals))
|
988
1164
|
return true;
|
989
|
-
if (
|
1165
|
+
if (WALK(join->alias))
|
990
1166
|
return true;
|
991
1167
|
/* using list is deemed uninteresting */
|
992
1168
|
}
|
@@ -995,18 +1171,18 @@ raw_expression_tree_walker(Node *node,
|
|
995
1171
|
{
|
996
1172
|
IntoClause *into = (IntoClause *) node;
|
997
1173
|
|
998
|
-
if (
|
1174
|
+
if (WALK(into->rel))
|
999
1175
|
return true;
|
1000
1176
|
/* colNames, options are deemed uninteresting */
|
1001
1177
|
/* viewQuery should be null in raw parsetree, but check it */
|
1002
|
-
if (
|
1178
|
+
if (WALK(into->viewQuery))
|
1003
1179
|
return true;
|
1004
1180
|
}
|
1005
1181
|
break;
|
1006
1182
|
case T_List:
|
1007
1183
|
foreach(temp, (List *) node)
|
1008
1184
|
{
|
1009
|
-
if (
|
1185
|
+
if (WALK((Node *) lfirst(temp)))
|
1010
1186
|
return true;
|
1011
1187
|
}
|
1012
1188
|
break;
|
@@ -1014,17 +1190,17 @@ raw_expression_tree_walker(Node *node,
|
|
1014
1190
|
{
|
1015
1191
|
InsertStmt *stmt = (InsertStmt *) node;
|
1016
1192
|
|
1017
|
-
if (
|
1193
|
+
if (WALK(stmt->relation))
|
1018
1194
|
return true;
|
1019
|
-
if (
|
1195
|
+
if (WALK(stmt->cols))
|
1020
1196
|
return true;
|
1021
|
-
if (
|
1197
|
+
if (WALK(stmt->selectStmt))
|
1022
1198
|
return true;
|
1023
|
-
if (
|
1199
|
+
if (WALK(stmt->onConflictClause))
|
1024
1200
|
return true;
|
1025
|
-
if (
|
1201
|
+
if (WALK(stmt->returningList))
|
1026
1202
|
return true;
|
1027
|
-
if (
|
1203
|
+
if (WALK(stmt->withClause))
|
1028
1204
|
return true;
|
1029
1205
|
}
|
1030
1206
|
break;
|
@@ -1032,15 +1208,15 @@ raw_expression_tree_walker(Node *node,
|
|
1032
1208
|
{
|
1033
1209
|
DeleteStmt *stmt = (DeleteStmt *) node;
|
1034
1210
|
|
1035
|
-
if (
|
1211
|
+
if (WALK(stmt->relation))
|
1036
1212
|
return true;
|
1037
|
-
if (
|
1213
|
+
if (WALK(stmt->usingClause))
|
1038
1214
|
return true;
|
1039
|
-
if (
|
1215
|
+
if (WALK(stmt->whereClause))
|
1040
1216
|
return true;
|
1041
|
-
if (
|
1217
|
+
if (WALK(stmt->returningList))
|
1042
1218
|
return true;
|
1043
|
-
if (
|
1219
|
+
if (WALK(stmt->withClause))
|
1044
1220
|
return true;
|
1045
1221
|
}
|
1046
1222
|
break;
|
@@ -1048,17 +1224,47 @@ raw_expression_tree_walker(Node *node,
|
|
1048
1224
|
{
|
1049
1225
|
UpdateStmt *stmt = (UpdateStmt *) node;
|
1050
1226
|
|
1051
|
-
if (
|
1227
|
+
if (WALK(stmt->relation))
|
1228
|
+
return true;
|
1229
|
+
if (WALK(stmt->targetList))
|
1230
|
+
return true;
|
1231
|
+
if (WALK(stmt->whereClause))
|
1232
|
+
return true;
|
1233
|
+
if (WALK(stmt->fromClause))
|
1234
|
+
return true;
|
1235
|
+
if (WALK(stmt->returningList))
|
1236
|
+
return true;
|
1237
|
+
if (WALK(stmt->withClause))
|
1238
|
+
return true;
|
1239
|
+
}
|
1240
|
+
break;
|
1241
|
+
case T_MergeStmt:
|
1242
|
+
{
|
1243
|
+
MergeStmt *stmt = (MergeStmt *) node;
|
1244
|
+
|
1245
|
+
if (WALK(stmt->relation))
|
1246
|
+
return true;
|
1247
|
+
if (WALK(stmt->sourceRelation))
|
1248
|
+
return true;
|
1249
|
+
if (WALK(stmt->joinCondition))
|
1052
1250
|
return true;
|
1053
|
-
if (
|
1251
|
+
if (WALK(stmt->mergeWhenClauses))
|
1054
1252
|
return true;
|
1055
|
-
if (
|
1253
|
+
if (WALK(stmt->returningList))
|
1056
1254
|
return true;
|
1057
|
-
if (
|
1255
|
+
if (WALK(stmt->withClause))
|
1256
|
+
return true;
|
1257
|
+
}
|
1258
|
+
break;
|
1259
|
+
case T_MergeWhenClause:
|
1260
|
+
{
|
1261
|
+
MergeWhenClause *mergeWhenClause = (MergeWhenClause *) node;
|
1262
|
+
|
1263
|
+
if (WALK(mergeWhenClause->condition))
|
1058
1264
|
return true;
|
1059
|
-
if (
|
1265
|
+
if (WALK(mergeWhenClause->targetList))
|
1060
1266
|
return true;
|
1061
|
-
if (
|
1267
|
+
if (WALK(mergeWhenClause->values))
|
1062
1268
|
return true;
|
1063
1269
|
}
|
1064
1270
|
break;
|
@@ -1066,37 +1272,47 @@ raw_expression_tree_walker(Node *node,
|
|
1066
1272
|
{
|
1067
1273
|
SelectStmt *stmt = (SelectStmt *) node;
|
1068
1274
|
|
1069
|
-
if (
|
1275
|
+
if (WALK(stmt->distinctClause))
|
1276
|
+
return true;
|
1277
|
+
if (WALK(stmt->intoClause))
|
1278
|
+
return true;
|
1279
|
+
if (WALK(stmt->targetList))
|
1070
1280
|
return true;
|
1071
|
-
if (
|
1281
|
+
if (WALK(stmt->fromClause))
|
1072
1282
|
return true;
|
1073
|
-
if (
|
1283
|
+
if (WALK(stmt->whereClause))
|
1074
1284
|
return true;
|
1075
|
-
if (
|
1285
|
+
if (WALK(stmt->groupClause))
|
1076
1286
|
return true;
|
1077
|
-
if (
|
1287
|
+
if (WALK(stmt->havingClause))
|
1078
1288
|
return true;
|
1079
|
-
if (
|
1289
|
+
if (WALK(stmt->windowClause))
|
1080
1290
|
return true;
|
1081
|
-
if (
|
1291
|
+
if (WALK(stmt->valuesLists))
|
1082
1292
|
return true;
|
1083
|
-
if (
|
1293
|
+
if (WALK(stmt->sortClause))
|
1084
1294
|
return true;
|
1085
|
-
if (
|
1295
|
+
if (WALK(stmt->limitOffset))
|
1086
1296
|
return true;
|
1087
|
-
if (
|
1297
|
+
if (WALK(stmt->limitCount))
|
1088
1298
|
return true;
|
1089
|
-
if (
|
1299
|
+
if (WALK(stmt->lockingClause))
|
1090
1300
|
return true;
|
1091
|
-
if (
|
1301
|
+
if (WALK(stmt->withClause))
|
1092
1302
|
return true;
|
1093
|
-
if (
|
1303
|
+
if (WALK(stmt->larg))
|
1094
1304
|
return true;
|
1095
|
-
if (
|
1305
|
+
if (WALK(stmt->rarg))
|
1096
1306
|
return true;
|
1097
|
-
|
1307
|
+
}
|
1308
|
+
break;
|
1309
|
+
case T_PLAssignStmt:
|
1310
|
+
{
|
1311
|
+
PLAssignStmt *stmt = (PLAssignStmt *) node;
|
1312
|
+
|
1313
|
+
if (WALK(stmt->indirection))
|
1098
1314
|
return true;
|
1099
|
-
if (
|
1315
|
+
if (WALK(stmt->val))
|
1100
1316
|
return true;
|
1101
1317
|
}
|
1102
1318
|
break;
|
@@ -1104,9 +1320,9 @@ raw_expression_tree_walker(Node *node,
|
|
1104
1320
|
{
|
1105
1321
|
A_Expr *expr = (A_Expr *) node;
|
1106
1322
|
|
1107
|
-
if (
|
1323
|
+
if (WALK(expr->lexpr))
|
1108
1324
|
return true;
|
1109
|
-
if (
|
1325
|
+
if (WALK(expr->rexpr))
|
1110
1326
|
return true;
|
1111
1327
|
/* operator name is deemed uninteresting */
|
1112
1328
|
}
|
@@ -1115,7 +1331,7 @@ raw_expression_tree_walker(Node *node,
|
|
1115
1331
|
{
|
1116
1332
|
BoolExpr *expr = (BoolExpr *) node;
|
1117
1333
|
|
1118
|
-
if (
|
1334
|
+
if (WALK(expr->args))
|
1119
1335
|
return true;
|
1120
1336
|
}
|
1121
1337
|
break;
|
@@ -1126,26 +1342,26 @@ raw_expression_tree_walker(Node *node,
|
|
1126
1342
|
{
|
1127
1343
|
FuncCall *fcall = (FuncCall *) node;
|
1128
1344
|
|
1129
|
-
if (
|
1345
|
+
if (WALK(fcall->args))
|
1130
1346
|
return true;
|
1131
|
-
if (
|
1347
|
+
if (WALK(fcall->agg_order))
|
1132
1348
|
return true;
|
1133
|
-
if (
|
1349
|
+
if (WALK(fcall->agg_filter))
|
1134
1350
|
return true;
|
1135
|
-
if (
|
1351
|
+
if (WALK(fcall->over))
|
1136
1352
|
return true;
|
1137
1353
|
/* function name is deemed uninteresting */
|
1138
1354
|
}
|
1139
1355
|
break;
|
1140
1356
|
case T_NamedArgExpr:
|
1141
|
-
return
|
1357
|
+
return WALK(((NamedArgExpr *) node)->arg);
|
1142
1358
|
case T_A_Indices:
|
1143
1359
|
{
|
1144
1360
|
A_Indices *indices = (A_Indices *) node;
|
1145
1361
|
|
1146
|
-
if (
|
1362
|
+
if (WALK(indices->lidx))
|
1147
1363
|
return true;
|
1148
|
-
if (
|
1364
|
+
if (WALK(indices->uidx))
|
1149
1365
|
return true;
|
1150
1366
|
}
|
1151
1367
|
break;
|
@@ -1153,51 +1369,51 @@ raw_expression_tree_walker(Node *node,
|
|
1153
1369
|
{
|
1154
1370
|
A_Indirection *indir = (A_Indirection *) node;
|
1155
1371
|
|
1156
|
-
if (
|
1372
|
+
if (WALK(indir->arg))
|
1157
1373
|
return true;
|
1158
|
-
if (
|
1374
|
+
if (WALK(indir->indirection))
|
1159
1375
|
return true;
|
1160
1376
|
}
|
1161
1377
|
break;
|
1162
1378
|
case T_A_ArrayExpr:
|
1163
|
-
return
|
1379
|
+
return WALK(((A_ArrayExpr *) node)->elements);
|
1164
1380
|
case T_ResTarget:
|
1165
1381
|
{
|
1166
1382
|
ResTarget *rt = (ResTarget *) node;
|
1167
1383
|
|
1168
|
-
if (
|
1384
|
+
if (WALK(rt->indirection))
|
1169
1385
|
return true;
|
1170
|
-
if (
|
1386
|
+
if (WALK(rt->val))
|
1171
1387
|
return true;
|
1172
1388
|
}
|
1173
1389
|
break;
|
1174
1390
|
case T_MultiAssignRef:
|
1175
|
-
return
|
1391
|
+
return WALK(((MultiAssignRef *) node)->source);
|
1176
1392
|
case T_TypeCast:
|
1177
1393
|
{
|
1178
1394
|
TypeCast *tc = (TypeCast *) node;
|
1179
1395
|
|
1180
|
-
if (
|
1396
|
+
if (WALK(tc->arg))
|
1181
1397
|
return true;
|
1182
|
-
if (
|
1398
|
+
if (WALK(tc->typeName))
|
1183
1399
|
return true;
|
1184
1400
|
}
|
1185
1401
|
break;
|
1186
1402
|
case T_CollateClause:
|
1187
|
-
return
|
1403
|
+
return WALK(((CollateClause *) node)->arg);
|
1188
1404
|
case T_SortBy:
|
1189
|
-
return
|
1405
|
+
return WALK(((SortBy *) node)->node);
|
1190
1406
|
case T_WindowDef:
|
1191
1407
|
{
|
1192
1408
|
WindowDef *wd = (WindowDef *) node;
|
1193
1409
|
|
1194
|
-
if (
|
1410
|
+
if (WALK(wd->partitionClause))
|
1195
1411
|
return true;
|
1196
|
-
if (
|
1412
|
+
if (WALK(wd->orderClause))
|
1197
1413
|
return true;
|
1198
|
-
if (
|
1414
|
+
if (WALK(wd->startOffset))
|
1199
1415
|
return true;
|
1200
|
-
if (
|
1416
|
+
if (WALK(wd->endOffset))
|
1201
1417
|
return true;
|
1202
1418
|
}
|
1203
1419
|
break;
|
@@ -1205,9 +1421,9 @@ raw_expression_tree_walker(Node *node,
|
|
1205
1421
|
{
|
1206
1422
|
RangeSubselect *rs = (RangeSubselect *) node;
|
1207
1423
|
|
1208
|
-
if (
|
1424
|
+
if (WALK(rs->subquery))
|
1209
1425
|
return true;
|
1210
|
-
if (
|
1426
|
+
if (WALK(rs->alias))
|
1211
1427
|
return true;
|
1212
1428
|
}
|
1213
1429
|
break;
|
@@ -1215,11 +1431,11 @@ raw_expression_tree_walker(Node *node,
|
|
1215
1431
|
{
|
1216
1432
|
RangeFunction *rf = (RangeFunction *) node;
|
1217
1433
|
|
1218
|
-
if (
|
1434
|
+
if (WALK(rf->functions))
|
1219
1435
|
return true;
|
1220
|
-
if (
|
1436
|
+
if (WALK(rf->alias))
|
1221
1437
|
return true;
|
1222
|
-
if (
|
1438
|
+
if (WALK(rf->coldeflist))
|
1223
1439
|
return true;
|
1224
1440
|
}
|
1225
1441
|
break;
|
@@ -1227,12 +1443,12 @@ raw_expression_tree_walker(Node *node,
|
|
1227
1443
|
{
|
1228
1444
|
RangeTableSample *rts = (RangeTableSample *) node;
|
1229
1445
|
|
1230
|
-
if (
|
1446
|
+
if (WALK(rts->relation))
|
1231
1447
|
return true;
|
1232
1448
|
/* method name is deemed uninteresting */
|
1233
|
-
if (
|
1449
|
+
if (WALK(rts->args))
|
1234
1450
|
return true;
|
1235
|
-
if (
|
1451
|
+
if (WALK(rts->repeatable))
|
1236
1452
|
return true;
|
1237
1453
|
}
|
1238
1454
|
break;
|
@@ -1240,15 +1456,15 @@ raw_expression_tree_walker(Node *node,
|
|
1240
1456
|
{
|
1241
1457
|
RangeTableFunc *rtf = (RangeTableFunc *) node;
|
1242
1458
|
|
1243
|
-
if (
|
1459
|
+
if (WALK(rtf->docexpr))
|
1244
1460
|
return true;
|
1245
|
-
if (
|
1461
|
+
if (WALK(rtf->rowexpr))
|
1246
1462
|
return true;
|
1247
|
-
if (
|
1463
|
+
if (WALK(rtf->namespaces))
|
1248
1464
|
return true;
|
1249
|
-
if (
|
1465
|
+
if (WALK(rtf->columns))
|
1250
1466
|
return true;
|
1251
|
-
if (
|
1467
|
+
if (WALK(rtf->alias))
|
1252
1468
|
return true;
|
1253
1469
|
}
|
1254
1470
|
break;
|
@@ -1256,9 +1472,9 @@ raw_expression_tree_walker(Node *node,
|
|
1256
1472
|
{
|
1257
1473
|
RangeTableFuncCol *rtfc = (RangeTableFuncCol *) node;
|
1258
1474
|
|
1259
|
-
if (
|
1475
|
+
if (WALK(rtfc->colexpr))
|
1260
1476
|
return true;
|
1261
|
-
if (
|
1477
|
+
if (WALK(rtfc->coldefexpr))
|
1262
1478
|
return true;
|
1263
1479
|
}
|
1264
1480
|
break;
|
@@ -1266,9 +1482,9 @@ raw_expression_tree_walker(Node *node,
|
|
1266
1482
|
{
|
1267
1483
|
TypeName *tn = (TypeName *) node;
|
1268
1484
|
|
1269
|
-
if (
|
1485
|
+
if (WALK(tn->typmods))
|
1270
1486
|
return true;
|
1271
|
-
if (
|
1487
|
+
if (WALK(tn->arrayBounds))
|
1272
1488
|
return true;
|
1273
1489
|
/* type name itself is deemed uninteresting */
|
1274
1490
|
}
|
@@ -1277,11 +1493,11 @@ raw_expression_tree_walker(Node *node,
|
|
1277
1493
|
{
|
1278
1494
|
ColumnDef *coldef = (ColumnDef *) node;
|
1279
1495
|
|
1280
|
-
if (
|
1496
|
+
if (WALK(coldef->typeName))
|
1281
1497
|
return true;
|
1282
|
-
if (
|
1498
|
+
if (WALK(coldef->raw_default))
|
1283
1499
|
return true;
|
1284
|
-
if (
|
1500
|
+
if (WALK(coldef->collClause))
|
1285
1501
|
return true;
|
1286
1502
|
/* for now, constraints are ignored */
|
1287
1503
|
}
|
@@ -1290,34 +1506,34 @@ raw_expression_tree_walker(Node *node,
|
|
1290
1506
|
{
|
1291
1507
|
IndexElem *indelem = (IndexElem *) node;
|
1292
1508
|
|
1293
|
-
if (
|
1509
|
+
if (WALK(indelem->expr))
|
1294
1510
|
return true;
|
1295
1511
|
/* collation and opclass names are deemed uninteresting */
|
1296
1512
|
}
|
1297
1513
|
break;
|
1298
1514
|
case T_GroupingSet:
|
1299
|
-
return
|
1515
|
+
return WALK(((GroupingSet *) node)->content);
|
1300
1516
|
case T_LockingClause:
|
1301
|
-
return
|
1517
|
+
return WALK(((LockingClause *) node)->lockedRels);
|
1302
1518
|
case T_XmlSerialize:
|
1303
1519
|
{
|
1304
1520
|
XmlSerialize *xs = (XmlSerialize *) node;
|
1305
1521
|
|
1306
|
-
if (
|
1522
|
+
if (WALK(xs->expr))
|
1307
1523
|
return true;
|
1308
|
-
if (
|
1524
|
+
if (WALK(xs->typeName))
|
1309
1525
|
return true;
|
1310
1526
|
}
|
1311
1527
|
break;
|
1312
1528
|
case T_WithClause:
|
1313
|
-
return
|
1529
|
+
return WALK(((WithClause *) node)->ctes);
|
1314
1530
|
case T_InferClause:
|
1315
1531
|
{
|
1316
1532
|
InferClause *stmt = (InferClause *) node;
|
1317
1533
|
|
1318
|
-
if (
|
1534
|
+
if (WALK(stmt->indexElems))
|
1319
1535
|
return true;
|
1320
|
-
if (
|
1536
|
+
if (WALK(stmt->whereClause))
|
1321
1537
|
return true;
|
1322
1538
|
}
|
1323
1539
|
break;
|
@@ -1325,16 +1541,101 @@ raw_expression_tree_walker(Node *node,
|
|
1325
1541
|
{
|
1326
1542
|
OnConflictClause *stmt = (OnConflictClause *) node;
|
1327
1543
|
|
1328
|
-
if (
|
1544
|
+
if (WALK(stmt->infer))
|
1329
1545
|
return true;
|
1330
|
-
if (
|
1546
|
+
if (WALK(stmt->targetList))
|
1331
1547
|
return true;
|
1332
|
-
if (
|
1548
|
+
if (WALK(stmt->whereClause))
|
1333
1549
|
return true;
|
1334
1550
|
}
|
1335
1551
|
break;
|
1336
1552
|
case T_CommonTableExpr:
|
1337
|
-
|
1553
|
+
/* search_clause and cycle_clause are not interesting here */
|
1554
|
+
return WALK(((CommonTableExpr *) node)->ctequery);
|
1555
|
+
case T_JsonOutput:
|
1556
|
+
{
|
1557
|
+
JsonOutput *out = (JsonOutput *) node;
|
1558
|
+
|
1559
|
+
if (WALK(out->typeName))
|
1560
|
+
return true;
|
1561
|
+
if (WALK(out->returning))
|
1562
|
+
return true;
|
1563
|
+
}
|
1564
|
+
break;
|
1565
|
+
case T_JsonKeyValue:
|
1566
|
+
{
|
1567
|
+
JsonKeyValue *jkv = (JsonKeyValue *) node;
|
1568
|
+
|
1569
|
+
if (WALK(jkv->key))
|
1570
|
+
return true;
|
1571
|
+
if (WALK(jkv->value))
|
1572
|
+
return true;
|
1573
|
+
}
|
1574
|
+
break;
|
1575
|
+
case T_JsonObjectConstructor:
|
1576
|
+
{
|
1577
|
+
JsonObjectConstructor *joc = (JsonObjectConstructor *) node;
|
1578
|
+
|
1579
|
+
if (WALK(joc->output))
|
1580
|
+
return true;
|
1581
|
+
if (WALK(joc->exprs))
|
1582
|
+
return true;
|
1583
|
+
}
|
1584
|
+
break;
|
1585
|
+
case T_JsonArrayConstructor:
|
1586
|
+
{
|
1587
|
+
JsonArrayConstructor *jac = (JsonArrayConstructor *) node;
|
1588
|
+
|
1589
|
+
if (WALK(jac->output))
|
1590
|
+
return true;
|
1591
|
+
if (WALK(jac->exprs))
|
1592
|
+
return true;
|
1593
|
+
}
|
1594
|
+
break;
|
1595
|
+
case T_JsonAggConstructor:
|
1596
|
+
{
|
1597
|
+
JsonAggConstructor *ctor = (JsonAggConstructor *) node;
|
1598
|
+
|
1599
|
+
if (WALK(ctor->output))
|
1600
|
+
return true;
|
1601
|
+
if (WALK(ctor->agg_order))
|
1602
|
+
return true;
|
1603
|
+
if (WALK(ctor->agg_filter))
|
1604
|
+
return true;
|
1605
|
+
if (WALK(ctor->over))
|
1606
|
+
return true;
|
1607
|
+
}
|
1608
|
+
break;
|
1609
|
+
case T_JsonObjectAgg:
|
1610
|
+
{
|
1611
|
+
JsonObjectAgg *joa = (JsonObjectAgg *) node;
|
1612
|
+
|
1613
|
+
if (WALK(joa->constructor))
|
1614
|
+
return true;
|
1615
|
+
if (WALK(joa->arg))
|
1616
|
+
return true;
|
1617
|
+
}
|
1618
|
+
break;
|
1619
|
+
case T_JsonArrayAgg:
|
1620
|
+
{
|
1621
|
+
JsonArrayAgg *jaa = (JsonArrayAgg *) node;
|
1622
|
+
|
1623
|
+
if (WALK(jaa->constructor))
|
1624
|
+
return true;
|
1625
|
+
if (WALK(jaa->arg))
|
1626
|
+
return true;
|
1627
|
+
}
|
1628
|
+
break;
|
1629
|
+
case T_JsonArrayQueryConstructor:
|
1630
|
+
{
|
1631
|
+
JsonArrayQueryConstructor *jaqc = (JsonArrayQueryConstructor *) node;
|
1632
|
+
|
1633
|
+
if (WALK(jaqc->output))
|
1634
|
+
return true;
|
1635
|
+
if (WALK(jaqc->query))
|
1636
|
+
return true;
|
1637
|
+
}
|
1638
|
+
break;
|
1338
1639
|
default:
|
1339
1640
|
elog(ERROR, "unrecognized node type: %d",
|
1340
1641
|
(int) nodeTag(node));
|
@@ -1349,7 +1650,7 @@ raw_expression_tree_walker(Node *node,
|
|
1349
1650
|
* The walker has already visited the current node, and so we need only
|
1350
1651
|
* recurse into any sub-nodes it has.
|
1351
1652
|
*/
|
1352
|
-
|
1653
|
+
#define PSWALK(n) walker(n, context)
|
1353
1654
|
|
1354
1655
|
/*
|
1355
1656
|
* Walk a list of SubPlans (or initPlans, which also use SubPlan nodes).
|