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
@@ -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;
|
@@ -532,6 +560,28 @@ exprLocation(const Node *expr)
|
|
532
560
|
case T_CommonTableExpr:
|
533
561
|
loc = ((const CommonTableExpr *) expr)->location;
|
534
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;
|
535
585
|
case T_PlaceHolderVar:
|
536
586
|
/* just use argument's location */
|
537
587
|
loc = exprLocation((Node *) ((const PlaceHolderVar *) expr)->phexpr);
|
@@ -721,7 +771,9 @@ leftmostLoc(int loc1, int loc2)
|
|
721
771
|
* uses, but may need to be revisited in future.
|
722
772
|
*/
|
723
773
|
|
724
|
-
|
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
|
725
777
|
|
726
778
|
/*
|
727
779
|
* query_tree_walker --- initiate a walk of a Query's expressions
|
@@ -887,9 +939,9 @@ leftmostLoc(int loc1, int loc2)
|
|
887
939
|
* statements can appear in CTEs.
|
888
940
|
*/
|
889
941
|
bool
|
890
|
-
|
891
|
-
|
892
|
-
|
942
|
+
raw_expression_tree_walker_impl(Node *node,
|
943
|
+
tree_walker_callback walker,
|
944
|
+
void *context)
|
893
945
|
{
|
894
946
|
ListCell *temp;
|
895
947
|
|
@@ -905,6 +957,7 @@ raw_expression_tree_walker(Node *node,
|
|
905
957
|
|
906
958
|
switch (nodeTag(node))
|
907
959
|
{
|
960
|
+
case T_JsonFormat:
|
908
961
|
case T_SetToDefault:
|
909
962
|
case T_CurrentOfExpr:
|
910
963
|
case T_SQLValueFunction:
|
@@ -916,23 +969,24 @@ raw_expression_tree_walker(Node *node,
|
|
916
969
|
case T_ParamRef:
|
917
970
|
case T_A_Const:
|
918
971
|
case T_A_Star:
|
972
|
+
case T_MergeSupportFunc:
|
919
973
|
/* primitive node types with no subnodes */
|
920
974
|
break;
|
921
975
|
case T_Alias:
|
922
976
|
/* we assume the colnames list isn't interesting */
|
923
977
|
break;
|
924
978
|
case T_RangeVar:
|
925
|
-
return
|
979
|
+
return WALK(((RangeVar *) node)->alias);
|
926
980
|
case T_GroupingFunc:
|
927
|
-
return
|
981
|
+
return WALK(((GroupingFunc *) node)->args);
|
928
982
|
case T_SubLink:
|
929
983
|
{
|
930
984
|
SubLink *sublink = (SubLink *) node;
|
931
985
|
|
932
|
-
if (
|
986
|
+
if (WALK(sublink->testexpr))
|
933
987
|
return true;
|
934
988
|
/* we assume the operName is not interesting */
|
935
|
-
if (
|
989
|
+
if (WALK(sublink->subselect))
|
936
990
|
return true;
|
937
991
|
}
|
938
992
|
break;
|
@@ -940,55 +994,175 @@ raw_expression_tree_walker(Node *node,
|
|
940
994
|
{
|
941
995
|
CaseExpr *caseexpr = (CaseExpr *) node;
|
942
996
|
|
943
|
-
if (
|
997
|
+
if (WALK(caseexpr->arg))
|
944
998
|
return true;
|
945
999
|
/* we assume walker doesn't care about CaseWhens, either */
|
946
1000
|
foreach(temp, caseexpr->args)
|
947
1001
|
{
|
948
1002
|
CaseWhen *when = lfirst_node(CaseWhen, temp);
|
949
1003
|
|
950
|
-
if (
|
1004
|
+
if (WALK(when->expr))
|
951
1005
|
return true;
|
952
|
-
if (
|
1006
|
+
if (WALK(when->result))
|
953
1007
|
return true;
|
954
1008
|
}
|
955
|
-
if (
|
1009
|
+
if (WALK(caseexpr->defresult))
|
956
1010
|
return true;
|
957
1011
|
}
|
958
1012
|
break;
|
959
1013
|
case T_RowExpr:
|
960
1014
|
/* Assume colnames isn't interesting */
|
961
|
-
return
|
1015
|
+
return WALK(((RowExpr *) node)->args);
|
962
1016
|
case T_CoalesceExpr:
|
963
|
-
return
|
1017
|
+
return WALK(((CoalesceExpr *) node)->args);
|
964
1018
|
case T_MinMaxExpr:
|
965
|
-
return
|
1019
|
+
return WALK(((MinMaxExpr *) node)->args);
|
966
1020
|
case T_XmlExpr:
|
967
1021
|
{
|
968
1022
|
XmlExpr *xexpr = (XmlExpr *) node;
|
969
1023
|
|
970
|
-
if (
|
1024
|
+
if (WALK(xexpr->named_args))
|
971
1025
|
return true;
|
972
1026
|
/* we assume walker doesn't care about arg_names */
|
973
|
-
if (
|
1027
|
+
if (WALK(xexpr->args))
|
974
1028
|
return true;
|
975
1029
|
}
|
976
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))
|
1062
|
+
return true;
|
1063
|
+
}
|
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);
|
977
1151
|
case T_NullTest:
|
978
|
-
return
|
1152
|
+
return WALK(((NullTest *) node)->arg);
|
979
1153
|
case T_BooleanTest:
|
980
|
-
return
|
1154
|
+
return WALK(((BooleanTest *) node)->arg);
|
981
1155
|
case T_JoinExpr:
|
982
1156
|
{
|
983
1157
|
JoinExpr *join = (JoinExpr *) node;
|
984
1158
|
|
985
|
-
if (
|
1159
|
+
if (WALK(join->larg))
|
986
1160
|
return true;
|
987
|
-
if (
|
1161
|
+
if (WALK(join->rarg))
|
988
1162
|
return true;
|
989
|
-
if (
|
1163
|
+
if (WALK(join->quals))
|
990
1164
|
return true;
|
991
|
-
if (
|
1165
|
+
if (WALK(join->alias))
|
992
1166
|
return true;
|
993
1167
|
/* using list is deemed uninteresting */
|
994
1168
|
}
|
@@ -997,18 +1171,18 @@ raw_expression_tree_walker(Node *node,
|
|
997
1171
|
{
|
998
1172
|
IntoClause *into = (IntoClause *) node;
|
999
1173
|
|
1000
|
-
if (
|
1174
|
+
if (WALK(into->rel))
|
1001
1175
|
return true;
|
1002
1176
|
/* colNames, options are deemed uninteresting */
|
1003
1177
|
/* viewQuery should be null in raw parsetree, but check it */
|
1004
|
-
if (
|
1178
|
+
if (WALK(into->viewQuery))
|
1005
1179
|
return true;
|
1006
1180
|
}
|
1007
1181
|
break;
|
1008
1182
|
case T_List:
|
1009
1183
|
foreach(temp, (List *) node)
|
1010
1184
|
{
|
1011
|
-
if (
|
1185
|
+
if (WALK((Node *) lfirst(temp)))
|
1012
1186
|
return true;
|
1013
1187
|
}
|
1014
1188
|
break;
|
@@ -1016,17 +1190,17 @@ raw_expression_tree_walker(Node *node,
|
|
1016
1190
|
{
|
1017
1191
|
InsertStmt *stmt = (InsertStmt *) node;
|
1018
1192
|
|
1019
|
-
if (
|
1193
|
+
if (WALK(stmt->relation))
|
1020
1194
|
return true;
|
1021
|
-
if (
|
1195
|
+
if (WALK(stmt->cols))
|
1022
1196
|
return true;
|
1023
|
-
if (
|
1197
|
+
if (WALK(stmt->selectStmt))
|
1024
1198
|
return true;
|
1025
|
-
if (
|
1199
|
+
if (WALK(stmt->onConflictClause))
|
1026
1200
|
return true;
|
1027
|
-
if (
|
1201
|
+
if (WALK(stmt->returningList))
|
1028
1202
|
return true;
|
1029
|
-
if (
|
1203
|
+
if (WALK(stmt->withClause))
|
1030
1204
|
return true;
|
1031
1205
|
}
|
1032
1206
|
break;
|
@@ -1034,15 +1208,15 @@ raw_expression_tree_walker(Node *node,
|
|
1034
1208
|
{
|
1035
1209
|
DeleteStmt *stmt = (DeleteStmt *) node;
|
1036
1210
|
|
1037
|
-
if (
|
1211
|
+
if (WALK(stmt->relation))
|
1038
1212
|
return true;
|
1039
|
-
if (
|
1213
|
+
if (WALK(stmt->usingClause))
|
1040
1214
|
return true;
|
1041
|
-
if (
|
1215
|
+
if (WALK(stmt->whereClause))
|
1042
1216
|
return true;
|
1043
|
-
if (
|
1217
|
+
if (WALK(stmt->returningList))
|
1044
1218
|
return true;
|
1045
|
-
if (
|
1219
|
+
if (WALK(stmt->withClause))
|
1046
1220
|
return true;
|
1047
1221
|
}
|
1048
1222
|
break;
|
@@ -1050,17 +1224,17 @@ raw_expression_tree_walker(Node *node,
|
|
1050
1224
|
{
|
1051
1225
|
UpdateStmt *stmt = (UpdateStmt *) node;
|
1052
1226
|
|
1053
|
-
if (
|
1227
|
+
if (WALK(stmt->relation))
|
1054
1228
|
return true;
|
1055
|
-
if (
|
1229
|
+
if (WALK(stmt->targetList))
|
1056
1230
|
return true;
|
1057
|
-
if (
|
1231
|
+
if (WALK(stmt->whereClause))
|
1058
1232
|
return true;
|
1059
|
-
if (
|
1233
|
+
if (WALK(stmt->fromClause))
|
1060
1234
|
return true;
|
1061
|
-
if (
|
1235
|
+
if (WALK(stmt->returningList))
|
1062
1236
|
return true;
|
1063
|
-
if (
|
1237
|
+
if (WALK(stmt->withClause))
|
1064
1238
|
return true;
|
1065
1239
|
}
|
1066
1240
|
break;
|
@@ -1068,15 +1242,17 @@ raw_expression_tree_walker(Node *node,
|
|
1068
1242
|
{
|
1069
1243
|
MergeStmt *stmt = (MergeStmt *) node;
|
1070
1244
|
|
1071
|
-
if (
|
1245
|
+
if (WALK(stmt->relation))
|
1072
1246
|
return true;
|
1073
|
-
if (
|
1247
|
+
if (WALK(stmt->sourceRelation))
|
1074
1248
|
return true;
|
1075
|
-
if (
|
1249
|
+
if (WALK(stmt->joinCondition))
|
1076
1250
|
return true;
|
1077
|
-
if (
|
1251
|
+
if (WALK(stmt->mergeWhenClauses))
|
1078
1252
|
return true;
|
1079
|
-
if (
|
1253
|
+
if (WALK(stmt->returningList))
|
1254
|
+
return true;
|
1255
|
+
if (WALK(stmt->withClause))
|
1080
1256
|
return true;
|
1081
1257
|
}
|
1082
1258
|
break;
|
@@ -1084,11 +1260,11 @@ raw_expression_tree_walker(Node *node,
|
|
1084
1260
|
{
|
1085
1261
|
MergeWhenClause *mergeWhenClause = (MergeWhenClause *) node;
|
1086
1262
|
|
1087
|
-
if (
|
1263
|
+
if (WALK(mergeWhenClause->condition))
|
1088
1264
|
return true;
|
1089
|
-
if (
|
1265
|
+
if (WALK(mergeWhenClause->targetList))
|
1090
1266
|
return true;
|
1091
|
-
if (
|
1267
|
+
if (WALK(mergeWhenClause->values))
|
1092
1268
|
return true;
|
1093
1269
|
}
|
1094
1270
|
break;
|
@@ -1096,37 +1272,37 @@ raw_expression_tree_walker(Node *node,
|
|
1096
1272
|
{
|
1097
1273
|
SelectStmt *stmt = (SelectStmt *) node;
|
1098
1274
|
|
1099
|
-
if (
|
1275
|
+
if (WALK(stmt->distinctClause))
|
1100
1276
|
return true;
|
1101
|
-
if (
|
1277
|
+
if (WALK(stmt->intoClause))
|
1102
1278
|
return true;
|
1103
|
-
if (
|
1279
|
+
if (WALK(stmt->targetList))
|
1104
1280
|
return true;
|
1105
|
-
if (
|
1281
|
+
if (WALK(stmt->fromClause))
|
1106
1282
|
return true;
|
1107
|
-
if (
|
1283
|
+
if (WALK(stmt->whereClause))
|
1108
1284
|
return true;
|
1109
|
-
if (
|
1285
|
+
if (WALK(stmt->groupClause))
|
1110
1286
|
return true;
|
1111
|
-
if (
|
1287
|
+
if (WALK(stmt->havingClause))
|
1112
1288
|
return true;
|
1113
|
-
if (
|
1289
|
+
if (WALK(stmt->windowClause))
|
1114
1290
|
return true;
|
1115
|
-
if (
|
1291
|
+
if (WALK(stmt->valuesLists))
|
1116
1292
|
return true;
|
1117
|
-
if (
|
1293
|
+
if (WALK(stmt->sortClause))
|
1118
1294
|
return true;
|
1119
|
-
if (
|
1295
|
+
if (WALK(stmt->limitOffset))
|
1120
1296
|
return true;
|
1121
|
-
if (
|
1297
|
+
if (WALK(stmt->limitCount))
|
1122
1298
|
return true;
|
1123
|
-
if (
|
1299
|
+
if (WALK(stmt->lockingClause))
|
1124
1300
|
return true;
|
1125
|
-
if (
|
1301
|
+
if (WALK(stmt->withClause))
|
1126
1302
|
return true;
|
1127
|
-
if (
|
1303
|
+
if (WALK(stmt->larg))
|
1128
1304
|
return true;
|
1129
|
-
if (
|
1305
|
+
if (WALK(stmt->rarg))
|
1130
1306
|
return true;
|
1131
1307
|
}
|
1132
1308
|
break;
|
@@ -1134,9 +1310,9 @@ raw_expression_tree_walker(Node *node,
|
|
1134
1310
|
{
|
1135
1311
|
PLAssignStmt *stmt = (PLAssignStmt *) node;
|
1136
1312
|
|
1137
|
-
if (
|
1313
|
+
if (WALK(stmt->indirection))
|
1138
1314
|
return true;
|
1139
|
-
if (
|
1315
|
+
if (WALK(stmt->val))
|
1140
1316
|
return true;
|
1141
1317
|
}
|
1142
1318
|
break;
|
@@ -1144,9 +1320,9 @@ raw_expression_tree_walker(Node *node,
|
|
1144
1320
|
{
|
1145
1321
|
A_Expr *expr = (A_Expr *) node;
|
1146
1322
|
|
1147
|
-
if (
|
1323
|
+
if (WALK(expr->lexpr))
|
1148
1324
|
return true;
|
1149
|
-
if (
|
1325
|
+
if (WALK(expr->rexpr))
|
1150
1326
|
return true;
|
1151
1327
|
/* operator name is deemed uninteresting */
|
1152
1328
|
}
|
@@ -1155,7 +1331,7 @@ raw_expression_tree_walker(Node *node,
|
|
1155
1331
|
{
|
1156
1332
|
BoolExpr *expr = (BoolExpr *) node;
|
1157
1333
|
|
1158
|
-
if (
|
1334
|
+
if (WALK(expr->args))
|
1159
1335
|
return true;
|
1160
1336
|
}
|
1161
1337
|
break;
|
@@ -1166,26 +1342,26 @@ raw_expression_tree_walker(Node *node,
|
|
1166
1342
|
{
|
1167
1343
|
FuncCall *fcall = (FuncCall *) node;
|
1168
1344
|
|
1169
|
-
if (
|
1345
|
+
if (WALK(fcall->args))
|
1170
1346
|
return true;
|
1171
|
-
if (
|
1347
|
+
if (WALK(fcall->agg_order))
|
1172
1348
|
return true;
|
1173
|
-
if (
|
1349
|
+
if (WALK(fcall->agg_filter))
|
1174
1350
|
return true;
|
1175
|
-
if (
|
1351
|
+
if (WALK(fcall->over))
|
1176
1352
|
return true;
|
1177
1353
|
/* function name is deemed uninteresting */
|
1178
1354
|
}
|
1179
1355
|
break;
|
1180
1356
|
case T_NamedArgExpr:
|
1181
|
-
return
|
1357
|
+
return WALK(((NamedArgExpr *) node)->arg);
|
1182
1358
|
case T_A_Indices:
|
1183
1359
|
{
|
1184
1360
|
A_Indices *indices = (A_Indices *) node;
|
1185
1361
|
|
1186
|
-
if (
|
1362
|
+
if (WALK(indices->lidx))
|
1187
1363
|
return true;
|
1188
|
-
if (
|
1364
|
+
if (WALK(indices->uidx))
|
1189
1365
|
return true;
|
1190
1366
|
}
|
1191
1367
|
break;
|
@@ -1193,51 +1369,51 @@ raw_expression_tree_walker(Node *node,
|
|
1193
1369
|
{
|
1194
1370
|
A_Indirection *indir = (A_Indirection *) node;
|
1195
1371
|
|
1196
|
-
if (
|
1372
|
+
if (WALK(indir->arg))
|
1197
1373
|
return true;
|
1198
|
-
if (
|
1374
|
+
if (WALK(indir->indirection))
|
1199
1375
|
return true;
|
1200
1376
|
}
|
1201
1377
|
break;
|
1202
1378
|
case T_A_ArrayExpr:
|
1203
|
-
return
|
1379
|
+
return WALK(((A_ArrayExpr *) node)->elements);
|
1204
1380
|
case T_ResTarget:
|
1205
1381
|
{
|
1206
1382
|
ResTarget *rt = (ResTarget *) node;
|
1207
1383
|
|
1208
|
-
if (
|
1384
|
+
if (WALK(rt->indirection))
|
1209
1385
|
return true;
|
1210
|
-
if (
|
1386
|
+
if (WALK(rt->val))
|
1211
1387
|
return true;
|
1212
1388
|
}
|
1213
1389
|
break;
|
1214
1390
|
case T_MultiAssignRef:
|
1215
|
-
return
|
1391
|
+
return WALK(((MultiAssignRef *) node)->source);
|
1216
1392
|
case T_TypeCast:
|
1217
1393
|
{
|
1218
1394
|
TypeCast *tc = (TypeCast *) node;
|
1219
1395
|
|
1220
|
-
if (
|
1396
|
+
if (WALK(tc->arg))
|
1221
1397
|
return true;
|
1222
|
-
if (
|
1398
|
+
if (WALK(tc->typeName))
|
1223
1399
|
return true;
|
1224
1400
|
}
|
1225
1401
|
break;
|
1226
1402
|
case T_CollateClause:
|
1227
|
-
return
|
1403
|
+
return WALK(((CollateClause *) node)->arg);
|
1228
1404
|
case T_SortBy:
|
1229
|
-
return
|
1405
|
+
return WALK(((SortBy *) node)->node);
|
1230
1406
|
case T_WindowDef:
|
1231
1407
|
{
|
1232
1408
|
WindowDef *wd = (WindowDef *) node;
|
1233
1409
|
|
1234
|
-
if (
|
1410
|
+
if (WALK(wd->partitionClause))
|
1235
1411
|
return true;
|
1236
|
-
if (
|
1412
|
+
if (WALK(wd->orderClause))
|
1237
1413
|
return true;
|
1238
|
-
if (
|
1414
|
+
if (WALK(wd->startOffset))
|
1239
1415
|
return true;
|
1240
|
-
if (
|
1416
|
+
if (WALK(wd->endOffset))
|
1241
1417
|
return true;
|
1242
1418
|
}
|
1243
1419
|
break;
|
@@ -1245,9 +1421,9 @@ raw_expression_tree_walker(Node *node,
|
|
1245
1421
|
{
|
1246
1422
|
RangeSubselect *rs = (RangeSubselect *) node;
|
1247
1423
|
|
1248
|
-
if (
|
1424
|
+
if (WALK(rs->subquery))
|
1249
1425
|
return true;
|
1250
|
-
if (
|
1426
|
+
if (WALK(rs->alias))
|
1251
1427
|
return true;
|
1252
1428
|
}
|
1253
1429
|
break;
|
@@ -1255,11 +1431,11 @@ raw_expression_tree_walker(Node *node,
|
|
1255
1431
|
{
|
1256
1432
|
RangeFunction *rf = (RangeFunction *) node;
|
1257
1433
|
|
1258
|
-
if (
|
1434
|
+
if (WALK(rf->functions))
|
1259
1435
|
return true;
|
1260
|
-
if (
|
1436
|
+
if (WALK(rf->alias))
|
1261
1437
|
return true;
|
1262
|
-
if (
|
1438
|
+
if (WALK(rf->coldeflist))
|
1263
1439
|
return true;
|
1264
1440
|
}
|
1265
1441
|
break;
|
@@ -1267,12 +1443,12 @@ raw_expression_tree_walker(Node *node,
|
|
1267
1443
|
{
|
1268
1444
|
RangeTableSample *rts = (RangeTableSample *) node;
|
1269
1445
|
|
1270
|
-
if (
|
1446
|
+
if (WALK(rts->relation))
|
1271
1447
|
return true;
|
1272
1448
|
/* method name is deemed uninteresting */
|
1273
|
-
if (
|
1449
|
+
if (WALK(rts->args))
|
1274
1450
|
return true;
|
1275
|
-
if (
|
1451
|
+
if (WALK(rts->repeatable))
|
1276
1452
|
return true;
|
1277
1453
|
}
|
1278
1454
|
break;
|
@@ -1280,15 +1456,15 @@ raw_expression_tree_walker(Node *node,
|
|
1280
1456
|
{
|
1281
1457
|
RangeTableFunc *rtf = (RangeTableFunc *) node;
|
1282
1458
|
|
1283
|
-
if (
|
1459
|
+
if (WALK(rtf->docexpr))
|
1284
1460
|
return true;
|
1285
|
-
if (
|
1461
|
+
if (WALK(rtf->rowexpr))
|
1286
1462
|
return true;
|
1287
|
-
if (
|
1463
|
+
if (WALK(rtf->namespaces))
|
1288
1464
|
return true;
|
1289
|
-
if (
|
1465
|
+
if (WALK(rtf->columns))
|
1290
1466
|
return true;
|
1291
|
-
if (
|
1467
|
+
if (WALK(rtf->alias))
|
1292
1468
|
return true;
|
1293
1469
|
}
|
1294
1470
|
break;
|
@@ -1296,9 +1472,9 @@ raw_expression_tree_walker(Node *node,
|
|
1296
1472
|
{
|
1297
1473
|
RangeTableFuncCol *rtfc = (RangeTableFuncCol *) node;
|
1298
1474
|
|
1299
|
-
if (
|
1475
|
+
if (WALK(rtfc->colexpr))
|
1300
1476
|
return true;
|
1301
|
-
if (
|
1477
|
+
if (WALK(rtfc->coldefexpr))
|
1302
1478
|
return true;
|
1303
1479
|
}
|
1304
1480
|
break;
|
@@ -1306,9 +1482,9 @@ raw_expression_tree_walker(Node *node,
|
|
1306
1482
|
{
|
1307
1483
|
TypeName *tn = (TypeName *) node;
|
1308
1484
|
|
1309
|
-
if (
|
1485
|
+
if (WALK(tn->typmods))
|
1310
1486
|
return true;
|
1311
|
-
if (
|
1487
|
+
if (WALK(tn->arrayBounds))
|
1312
1488
|
return true;
|
1313
1489
|
/* type name itself is deemed uninteresting */
|
1314
1490
|
}
|
@@ -1317,13 +1493,11 @@ raw_expression_tree_walker(Node *node,
|
|
1317
1493
|
{
|
1318
1494
|
ColumnDef *coldef = (ColumnDef *) node;
|
1319
1495
|
|
1320
|
-
if (
|
1321
|
-
return true;
|
1322
|
-
if (walker(coldef->compression, context))
|
1496
|
+
if (WALK(coldef->typeName))
|
1323
1497
|
return true;
|
1324
|
-
if (
|
1498
|
+
if (WALK(coldef->raw_default))
|
1325
1499
|
return true;
|
1326
|
-
if (
|
1500
|
+
if (WALK(coldef->collClause))
|
1327
1501
|
return true;
|
1328
1502
|
/* for now, constraints are ignored */
|
1329
1503
|
}
|
@@ -1332,34 +1506,34 @@ raw_expression_tree_walker(Node *node,
|
|
1332
1506
|
{
|
1333
1507
|
IndexElem *indelem = (IndexElem *) node;
|
1334
1508
|
|
1335
|
-
if (
|
1509
|
+
if (WALK(indelem->expr))
|
1336
1510
|
return true;
|
1337
1511
|
/* collation and opclass names are deemed uninteresting */
|
1338
1512
|
}
|
1339
1513
|
break;
|
1340
1514
|
case T_GroupingSet:
|
1341
|
-
return
|
1515
|
+
return WALK(((GroupingSet *) node)->content);
|
1342
1516
|
case T_LockingClause:
|
1343
|
-
return
|
1517
|
+
return WALK(((LockingClause *) node)->lockedRels);
|
1344
1518
|
case T_XmlSerialize:
|
1345
1519
|
{
|
1346
1520
|
XmlSerialize *xs = (XmlSerialize *) node;
|
1347
1521
|
|
1348
|
-
if (
|
1522
|
+
if (WALK(xs->expr))
|
1349
1523
|
return true;
|
1350
|
-
if (
|
1524
|
+
if (WALK(xs->typeName))
|
1351
1525
|
return true;
|
1352
1526
|
}
|
1353
1527
|
break;
|
1354
1528
|
case T_WithClause:
|
1355
|
-
return
|
1529
|
+
return WALK(((WithClause *) node)->ctes);
|
1356
1530
|
case T_InferClause:
|
1357
1531
|
{
|
1358
1532
|
InferClause *stmt = (InferClause *) node;
|
1359
1533
|
|
1360
|
-
if (
|
1534
|
+
if (WALK(stmt->indexElems))
|
1361
1535
|
return true;
|
1362
|
-
if (
|
1536
|
+
if (WALK(stmt->whereClause))
|
1363
1537
|
return true;
|
1364
1538
|
}
|
1365
1539
|
break;
|
@@ -1367,17 +1541,101 @@ raw_expression_tree_walker(Node *node,
|
|
1367
1541
|
{
|
1368
1542
|
OnConflictClause *stmt = (OnConflictClause *) node;
|
1369
1543
|
|
1370
|
-
if (
|
1544
|
+
if (WALK(stmt->infer))
|
1371
1545
|
return true;
|
1372
|
-
if (
|
1546
|
+
if (WALK(stmt->targetList))
|
1373
1547
|
return true;
|
1374
|
-
if (
|
1548
|
+
if (WALK(stmt->whereClause))
|
1375
1549
|
return true;
|
1376
1550
|
}
|
1377
1551
|
break;
|
1378
1552
|
case T_CommonTableExpr:
|
1379
1553
|
/* search_clause and cycle_clause are not interesting here */
|
1380
|
-
return
|
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;
|
1381
1639
|
default:
|
1382
1640
|
elog(ERROR, "unrecognized node type: %d",
|
1383
1641
|
(int) nodeTag(node));
|
@@ -1392,7 +1650,7 @@ raw_expression_tree_walker(Node *node,
|
|
1392
1650
|
* The walker has already visited the current node, and so we need only
|
1393
1651
|
* recurse into any sub-nodes it has.
|
1394
1652
|
*/
|
1395
|
-
|
1653
|
+
#define PSWALK(n) walker(n, context)
|
1396
1654
|
|
1397
1655
|
/*
|
1398
1656
|
* Walk a list of SubPlans (or initPlans, which also use SubPlan nodes).
|