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
@@ -16,7 +16,7 @@
|
|
16
16
|
* and implementing search-path-controlled searches.
|
17
17
|
*
|
18
18
|
*
|
19
|
-
* Portions Copyright (c) 1996-
|
19
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
20
20
|
* Portions Copyright (c) 1994, Regents of the University of California
|
21
21
|
*
|
22
22
|
* IDENTIFICATION
|
@@ -31,10 +31,12 @@
|
|
31
31
|
#include "access/xact.h"
|
32
32
|
#include "access/xlog.h"
|
33
33
|
#include "catalog/dependency.h"
|
34
|
+
#include "catalog/namespace.h"
|
34
35
|
#include "catalog/objectaccess.h"
|
35
36
|
#include "catalog/pg_authid.h"
|
36
37
|
#include "catalog/pg_collation.h"
|
37
38
|
#include "catalog/pg_conversion.h"
|
39
|
+
#include "catalog/pg_database.h"
|
38
40
|
#include "catalog/pg_namespace.h"
|
39
41
|
#include "catalog/pg_opclass.h"
|
40
42
|
#include "catalog/pg_operator.h"
|
@@ -47,18 +49,18 @@
|
|
47
49
|
#include "catalog/pg_ts_template.h"
|
48
50
|
#include "catalog/pg_type.h"
|
49
51
|
#include "commands/dbcommands.h"
|
52
|
+
#include "common/hashfn_unstable.h"
|
50
53
|
#include "funcapi.h"
|
51
54
|
#include "mb/pg_wchar.h"
|
52
55
|
#include "miscadmin.h"
|
53
56
|
#include "nodes/makefuncs.h"
|
54
|
-
#include "parser/parse_func.h"
|
55
57
|
#include "storage/ipc.h"
|
56
58
|
#include "storage/lmgr.h"
|
57
|
-
#include "storage/
|
59
|
+
#include "storage/procarray.h"
|
58
60
|
#include "utils/acl.h"
|
59
61
|
#include "utils/builtins.h"
|
60
62
|
#include "utils/catcache.h"
|
61
|
-
#include "utils/
|
63
|
+
#include "utils/guc_hooks.h"
|
62
64
|
#include "utils/inval.h"
|
63
65
|
#include "utils/lsyscache.h"
|
64
66
|
#include "utils/memutils.h"
|
@@ -73,9 +75,7 @@
|
|
73
75
|
* may be included:
|
74
76
|
*
|
75
77
|
* 1. If a TEMP table namespace has been initialized in this session, it
|
76
|
-
* is implicitly searched first.
|
77
|
-
* when we are obeying an override search path spec that says not to use the
|
78
|
-
* temp namespace, or the temp namespace is included in the explicit list.)
|
78
|
+
* is implicitly searched first.
|
79
79
|
*
|
80
80
|
* 2. The system catalog namespace is always searched. If the system
|
81
81
|
* namespace is present in the explicit path then it will be searched in
|
@@ -114,19 +114,16 @@
|
|
114
114
|
* namespace (if it exists), preceded by the user's personal namespace
|
115
115
|
* (if one exists).
|
116
116
|
*
|
117
|
-
*
|
118
|
-
*
|
119
|
-
* whenever the override stack is nonempty. activeSearchPath is always
|
120
|
-
* the actually active path; it points either to the search list of the
|
121
|
-
* topmost stack entry, or to baseSearchPath which is the list derived
|
122
|
-
* from namespace_search_path.
|
117
|
+
* activeSearchPath is always the actually active path; it points to
|
118
|
+
* baseSearchPath which is the list derived from namespace_search_path.
|
123
119
|
*
|
124
|
-
* If baseSearchPathValid is false, then baseSearchPath (and other
|
125
|
-
*
|
126
|
-
*
|
127
|
-
*
|
128
|
-
*
|
129
|
-
*
|
120
|
+
* If baseSearchPathValid is false, then baseSearchPath (and other derived
|
121
|
+
* variables) need to be recomputed from namespace_search_path, or retrieved
|
122
|
+
* from the search path cache if there haven't been any syscache
|
123
|
+
* invalidations. We mark it invalid upon an assignment to
|
124
|
+
* namespace_search_path or receipt of a syscache invalidation event for
|
125
|
+
* pg_namespace or pg_authid. The recomputation is done during the next
|
126
|
+
* lookup attempt.
|
130
127
|
*
|
131
128
|
* Any namespaces mentioned in namespace_search_path that are not readable
|
132
129
|
* by the current user ID are simply left out of baseSearchPath; so
|
@@ -167,16 +164,31 @@
|
|
167
164
|
/* The above four values are valid only if baseSearchPathValid */
|
168
165
|
|
169
166
|
|
170
|
-
/*
|
167
|
+
/*
|
168
|
+
* Storage for search path cache. Clear searchPathCacheValid as a simple
|
169
|
+
* way to invalidate *all* the cache entries, not just the active one.
|
170
|
+
*/
|
171
|
+
|
172
|
+
|
171
173
|
|
172
|
-
typedef struct
|
174
|
+
typedef struct SearchPathCacheKey
|
173
175
|
{
|
174
|
-
|
175
|
-
Oid
|
176
|
-
|
177
|
-
} OverrideStackEntry;
|
176
|
+
const char *searchPath;
|
177
|
+
Oid roleid;
|
178
|
+
} SearchPathCacheKey;
|
178
179
|
|
180
|
+
typedef struct SearchPathCacheEntry
|
181
|
+
{
|
182
|
+
SearchPathCacheKey key;
|
183
|
+
List *oidlist; /* namespace OIDs that pass ACL checks */
|
184
|
+
List *finalPath; /* cached final computed search path */
|
185
|
+
Oid firstNS; /* first explicitly-listed namespace */
|
186
|
+
bool temp_missing;
|
187
|
+
bool forceRecompute; /* force recompute of finalPath */
|
179
188
|
|
189
|
+
/* needed for simplehash */
|
190
|
+
char status;
|
191
|
+
} SearchPathCacheEntry;
|
180
192
|
|
181
193
|
/*
|
182
194
|
* myTempNamespace is InvalidOid until and unless a TEMP namespace is set up
|
@@ -207,15 +219,88 @@ typedef struct
|
|
207
219
|
|
208
220
|
|
209
221
|
/* Local functions */
|
222
|
+
static bool RelationIsVisibleExt(Oid relid, bool *is_missing);
|
223
|
+
static bool TypeIsVisibleExt(Oid typid, bool *is_missing);
|
224
|
+
static bool FunctionIsVisibleExt(Oid funcid, bool *is_missing);
|
225
|
+
static bool OperatorIsVisibleExt(Oid oprid, bool *is_missing);
|
226
|
+
static bool OpclassIsVisibleExt(Oid opcid, bool *is_missing);
|
227
|
+
static bool OpfamilyIsVisibleExt(Oid opfid, bool *is_missing);
|
228
|
+
static bool CollationIsVisibleExt(Oid collid, bool *is_missing);
|
229
|
+
static bool ConversionIsVisibleExt(Oid conid, bool *is_missing);
|
230
|
+
static bool StatisticsObjIsVisibleExt(Oid stxid, bool *is_missing);
|
231
|
+
static bool TSParserIsVisibleExt(Oid prsId, bool *is_missing);
|
232
|
+
static bool TSDictionaryIsVisibleExt(Oid dictId, bool *is_missing);
|
233
|
+
static bool TSTemplateIsVisibleExt(Oid tmplId, bool *is_missing);
|
234
|
+
static bool TSConfigIsVisibleExt(Oid cfgid, bool *is_missing);
|
210
235
|
static void recomputeNamespacePath(void);
|
211
236
|
static void AccessTempTableNamespace(bool force);
|
212
237
|
static void InitTempTableNamespace(void);
|
213
238
|
static void RemoveTempRelations(Oid tempNamespaceId);
|
214
239
|
static void RemoveTempRelationsCallback(int code, Datum arg);
|
215
|
-
static void
|
240
|
+
static void InvalidationCallback(Datum arg, int cacheid, uint32 hashvalue);
|
216
241
|
static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
242
|
+
bool include_out_arguments, int pronargs,
|
217
243
|
int **argnumbers);
|
218
244
|
|
245
|
+
/*
|
246
|
+
* Recomputing the namespace path can be costly when done frequently, such as
|
247
|
+
* when a function has search_path set in proconfig. Add a search path cache
|
248
|
+
* that can be used by recomputeNamespacePath().
|
249
|
+
*
|
250
|
+
* The cache is also used to remember already-validated strings in
|
251
|
+
* check_search_path() to avoid the need to call SplitIdentifierString()
|
252
|
+
* repeatedly.
|
253
|
+
*
|
254
|
+
* The search path cache is based on a wrapper around a simplehash hash table
|
255
|
+
* (nsphash, defined below). The spcache wrapper deals with OOM while trying
|
256
|
+
* to initialize a key, optimizes repeated lookups of the same key, and also
|
257
|
+
* offers a more convenient API.
|
258
|
+
*/
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
#define SH_PREFIX nsphash
|
265
|
+
#define SH_ELEMENT_TYPE SearchPathCacheEntry
|
266
|
+
#define SH_KEY_TYPE SearchPathCacheKey
|
267
|
+
#define SH_KEY key
|
268
|
+
#define SH_HASH_KEY(tb, key) spcachekey_hash(key)
|
269
|
+
#define SH_EQUAL(tb, a, b) spcachekey_equal(a, b)
|
270
|
+
#define SH_SCOPE static inline
|
271
|
+
#define SH_DECLARE
|
272
|
+
// #define SH_DEFINE
|
273
|
+
#include "lib/simplehash.h"
|
274
|
+
|
275
|
+
/*
|
276
|
+
* We only expect a small number of unique search_path strings to be used. If
|
277
|
+
* this cache grows to an unreasonable size, reset it to avoid steady-state
|
278
|
+
* memory growth. Most likely, only a few of those entries will benefit from
|
279
|
+
* the cache, and the cache will be quickly repopulated with such entries.
|
280
|
+
*/
|
281
|
+
#define SPCACHE_RESET_THRESHOLD 256
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
|
286
|
+
/*
|
287
|
+
* Create or reset search_path cache as necessary.
|
288
|
+
*/
|
289
|
+
|
290
|
+
|
291
|
+
/*
|
292
|
+
* Look up entry in search path cache without inserting. Returns NULL if not
|
293
|
+
* present.
|
294
|
+
*/
|
295
|
+
|
296
|
+
|
297
|
+
/*
|
298
|
+
* Look up or insert entry in search path cache.
|
299
|
+
*
|
300
|
+
* Initialize key safely, so that OOM does not leave an entry without a valid
|
301
|
+
* key. Caller must ensure that non-key contents are properly initialized.
|
302
|
+
*/
|
303
|
+
|
219
304
|
|
220
305
|
/*
|
221
306
|
* RangeVarGetRelidExtended
|
@@ -303,6 +388,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
303
388
|
*/
|
304
389
|
|
305
390
|
|
391
|
+
/*
|
392
|
+
* RelationIsVisibleExt
|
393
|
+
* As above, but if the relation isn't found and is_missing is not NULL,
|
394
|
+
* then set *is_missing = true and return false instead of throwing
|
395
|
+
* an error. (Caller must initialize *is_missing = false.)
|
396
|
+
*/
|
397
|
+
|
398
|
+
|
306
399
|
|
307
400
|
/*
|
308
401
|
* TypenameGetTypid
|
@@ -327,6 +420,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
327
420
|
*/
|
328
421
|
|
329
422
|
|
423
|
+
/*
|
424
|
+
* TypeIsVisibleExt
|
425
|
+
* As above, but if the type isn't found and is_missing is not NULL,
|
426
|
+
* then set *is_missing = true and return false instead of throwing
|
427
|
+
* an error. (Caller must initialize *is_missing = false.)
|
428
|
+
*/
|
429
|
+
|
430
|
+
|
330
431
|
|
331
432
|
/*
|
332
433
|
* FuncnameGetCandidates
|
@@ -356,6 +457,12 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
356
457
|
* of additional args (which can be retrieved from the function's
|
357
458
|
* proargdefaults entry).
|
358
459
|
*
|
460
|
+
* If include_out_arguments is true, then OUT-mode arguments are considered to
|
461
|
+
* be included in the argument list. Their types are included in the returned
|
462
|
+
* arrays, and argnumbers are indexes in proallargtypes not proargtypes.
|
463
|
+
* We also set nominalnargs to be the length of proallargtypes not proargtypes.
|
464
|
+
* Otherwise OUT-mode arguments are ignored.
|
465
|
+
*
|
359
466
|
* It is not possible for nvargs and ndargs to both be nonzero in the same
|
360
467
|
* list entry, since default insertion allows matches to functions with more
|
361
468
|
* than nargs arguments while the variadic transformation requires the same
|
@@ -366,7 +473,8 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
366
473
|
* first any positional arguments, then the named arguments, then defaulted
|
367
474
|
* arguments (if needed and allowed by expand_defaults). The argnumbers[]
|
368
475
|
* array can be used to map this back to the catalog information.
|
369
|
-
* argnumbers[k] is set to the proargtypes index of the
|
476
|
+
* argnumbers[k] is set to the proargtypes or proallargtypes index of the
|
477
|
+
* k'th call argument.
|
370
478
|
*
|
371
479
|
* We search a single namespace if the function name is qualified, else
|
372
480
|
* all namespaces in the search path. In the multiple-namespace case,
|
@@ -390,7 +498,7 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
390
498
|
* such an entry it should react as though the call were ambiguous.
|
391
499
|
*
|
392
500
|
* If missing_ok is true, an empty list (NULL) is returned if the name was
|
393
|
-
* schema-
|
501
|
+
* schema-qualified with a schema that does not exist. Likewise if no
|
394
502
|
* candidate is found for other reasons.
|
395
503
|
*/
|
396
504
|
|
@@ -404,6 +512,10 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
404
512
|
* the function, in positions after the last positional argument, and there
|
405
513
|
* are defaults for all unsupplied arguments.
|
406
514
|
*
|
515
|
+
* If include_out_arguments is true, we are treating OUT arguments as
|
516
|
+
* included in the argument list. pronargs is the number of arguments
|
517
|
+
* we're considering (the length of either proargtypes or proallargtypes).
|
518
|
+
*
|
407
519
|
* The number of positional arguments is nargs - list_length(argnames).
|
408
520
|
* Note caller has already done basic checks on argument count.
|
409
521
|
*
|
@@ -422,14 +534,21 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
422
534
|
*/
|
423
535
|
|
424
536
|
|
537
|
+
/*
|
538
|
+
* FunctionIsVisibleExt
|
539
|
+
* As above, but if the function isn't found and is_missing is not NULL,
|
540
|
+
* then set *is_missing = true and return false instead of throwing
|
541
|
+
* an error. (Caller must initialize *is_missing = false.)
|
542
|
+
*/
|
543
|
+
|
544
|
+
|
425
545
|
|
426
546
|
/*
|
427
547
|
* OpernameGetOprid
|
428
548
|
* Given a possibly-qualified operator name and exact input datatypes,
|
429
549
|
* look up the operator. Returns InvalidOid if not found.
|
430
550
|
*
|
431
|
-
* Pass oprleft = InvalidOid for a prefix op
|
432
|
-
* a postfix op.
|
551
|
+
* Pass oprleft = InvalidOid for a prefix op.
|
433
552
|
*
|
434
553
|
* If the operator name is not schema-qualified, it is sought in the current
|
435
554
|
* namespace search path. If the name is schema-qualified and the given
|
@@ -451,8 +570,8 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
451
570
|
* namespace case, we arrange for entries in earlier namespaces to mask
|
452
571
|
* identical entries in later namespaces.
|
453
572
|
*
|
454
|
-
* The returned items always have two args[] entries ---
|
455
|
-
*
|
573
|
+
* The returned items always have two args[] entries --- the first will be
|
574
|
+
* InvalidOid for a prefix oprkind. nargs is always 2, too.
|
456
575
|
*/
|
457
576
|
#define SPACE_PER_OP MAXALIGN(offsetof(struct _FuncCandidateList, args) + \
|
458
577
|
2 * sizeof(Oid))
|
@@ -465,6 +584,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
465
584
|
*/
|
466
585
|
|
467
586
|
|
587
|
+
/*
|
588
|
+
* OperatorIsVisibleExt
|
589
|
+
* As above, but if the operator isn't found and is_missing is not NULL,
|
590
|
+
* then set *is_missing = true and return false instead of throwing
|
591
|
+
* an error. (Caller must initialize *is_missing = false.)
|
592
|
+
*/
|
593
|
+
|
594
|
+
|
468
595
|
|
469
596
|
/*
|
470
597
|
* OpclassnameGetOpcid
|
@@ -484,6 +611,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
484
611
|
*/
|
485
612
|
|
486
613
|
|
614
|
+
/*
|
615
|
+
* OpclassIsVisibleExt
|
616
|
+
* As above, but if the opclass isn't found and is_missing is not NULL,
|
617
|
+
* then set *is_missing = true and return false instead of throwing
|
618
|
+
* an error. (Caller must initialize *is_missing = false.)
|
619
|
+
*/
|
620
|
+
|
621
|
+
|
487
622
|
/*
|
488
623
|
* OpfamilynameGetOpfid
|
489
624
|
* Try to resolve an unqualified index opfamily name.
|
@@ -502,6 +637,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
502
637
|
*/
|
503
638
|
|
504
639
|
|
640
|
+
/*
|
641
|
+
* OpfamilyIsVisibleExt
|
642
|
+
* As above, but if the opfamily isn't found and is_missing is not NULL,
|
643
|
+
* then set *is_missing = true and return false instead of throwing
|
644
|
+
* an error. (Caller must initialize *is_missing = false.)
|
645
|
+
*/
|
646
|
+
|
647
|
+
|
505
648
|
/*
|
506
649
|
* lookup_collation
|
507
650
|
* If there's a collation of the given name/namespace, and it works
|
@@ -530,6 +673,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
530
673
|
*/
|
531
674
|
|
532
675
|
|
676
|
+
/*
|
677
|
+
* CollationIsVisibleExt
|
678
|
+
* As above, but if the collation isn't found and is_missing is not NULL,
|
679
|
+
* then set *is_missing = true and return false instead of throwing
|
680
|
+
* an error. (Caller must initialize *is_missing = false.)
|
681
|
+
*/
|
682
|
+
|
683
|
+
|
533
684
|
|
534
685
|
/*
|
535
686
|
* ConversionGetConid
|
@@ -548,6 +699,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
548
699
|
*/
|
549
700
|
|
550
701
|
|
702
|
+
/*
|
703
|
+
* ConversionIsVisibleExt
|
704
|
+
* As above, but if the conversion isn't found and is_missing is not NULL,
|
705
|
+
* then set *is_missing = true and return false instead of throwing
|
706
|
+
* an error. (Caller must initialize *is_missing = false.)
|
707
|
+
*/
|
708
|
+
|
709
|
+
|
551
710
|
/*
|
552
711
|
* get_statistics_object_oid - find a statistics object by possibly qualified name
|
553
712
|
*
|
@@ -563,6 +722,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
563
722
|
*/
|
564
723
|
|
565
724
|
|
725
|
+
/*
|
726
|
+
* StatisticsObjIsVisibleExt
|
727
|
+
* As above, but if the statistics object isn't found and is_missing is
|
728
|
+
* not NULL, then set *is_missing = true and return false instead of
|
729
|
+
* throwing an error. (Caller must initialize *is_missing = false.)
|
730
|
+
*/
|
731
|
+
|
732
|
+
|
566
733
|
/*
|
567
734
|
* get_ts_parser_oid - find a TS parser by possibly qualified name
|
568
735
|
*
|
@@ -578,6 +745,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
578
745
|
*/
|
579
746
|
|
580
747
|
|
748
|
+
/*
|
749
|
+
* TSParserIsVisibleExt
|
750
|
+
* As above, but if the parser isn't found and is_missing is not NULL,
|
751
|
+
* then set *is_missing = true and return false instead of throwing
|
752
|
+
* an error. (Caller must initialize *is_missing = false.)
|
753
|
+
*/
|
754
|
+
|
755
|
+
|
581
756
|
/*
|
582
757
|
* get_ts_dict_oid - find a TS dictionary by possibly qualified name
|
583
758
|
*
|
@@ -593,6 +768,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
593
768
|
*/
|
594
769
|
|
595
770
|
|
771
|
+
/*
|
772
|
+
* TSDictionaryIsVisibleExt
|
773
|
+
* As above, but if the dictionary isn't found and is_missing is not NULL,
|
774
|
+
* then set *is_missing = true and return false instead of throwing
|
775
|
+
* an error. (Caller must initialize *is_missing = false.)
|
776
|
+
*/
|
777
|
+
|
778
|
+
|
596
779
|
/*
|
597
780
|
* get_ts_template_oid - find a TS template by possibly qualified name
|
598
781
|
*
|
@@ -608,6 +791,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
608
791
|
*/
|
609
792
|
|
610
793
|
|
794
|
+
/*
|
795
|
+
* TSTemplateIsVisibleExt
|
796
|
+
* As above, but if the template isn't found and is_missing is not NULL,
|
797
|
+
* then set *is_missing = true and return false instead of throwing
|
798
|
+
* an error. (Caller must initialize *is_missing = false.)
|
799
|
+
*/
|
800
|
+
|
801
|
+
|
611
802
|
/*
|
612
803
|
* get_ts_config_oid - find a TS config by possibly qualified name
|
613
804
|
*
|
@@ -623,6 +814,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
623
814
|
*/
|
624
815
|
|
625
816
|
|
817
|
+
/*
|
818
|
+
* TSConfigIsVisibleExt
|
819
|
+
* As above, but if the configuration isn't found and is_missing is not
|
820
|
+
* NULL, then set *is_missing = true and return false instead of throwing
|
821
|
+
* an error. (Caller must initialize *is_missing = false.)
|
822
|
+
*/
|
823
|
+
|
824
|
+
|
626
825
|
|
627
826
|
/*
|
628
827
|
* DeconstructQualifiedName
|
@@ -677,7 +876,7 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
677
876
|
|
678
877
|
/*
|
679
878
|
* QualifiedNameGetCreationNamespace
|
680
|
-
* Given a possibly-qualified name for an object (in List-of-
|
879
|
+
* Given a possibly-qualified name for an object (in List-of-Strings
|
681
880
|
* format), determine what namespace the object should be created in.
|
682
881
|
* Also extract and return the object name (last component of list).
|
683
882
|
*
|
@@ -710,11 +909,11 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames,
|
|
710
909
|
* This is used primarily to form error messages, and so we do not quote
|
711
910
|
* the list elements, for the sake of legibility.
|
712
911
|
*
|
713
|
-
* In most scenarios the list elements should always be
|
912
|
+
* In most scenarios the list elements should always be String values,
|
714
913
|
* but we also allow A_Star for the convenience of ColumnRef processing.
|
715
914
|
*/
|
716
915
|
char *
|
717
|
-
NameListToString(List *names)
|
916
|
+
NameListToString(const List *names)
|
718
917
|
{
|
719
918
|
StringInfoData string;
|
720
919
|
ListCell *l;
|
@@ -794,10 +993,10 @@ NameListToString(List *names)
|
|
794
993
|
|
795
994
|
|
796
995
|
/*
|
797
|
-
*
|
798
|
-
* namespace (either my own, or another backend's), return the
|
996
|
+
* GetTempNamespaceProcNumber - if the given namespace is a temporary-table
|
997
|
+
* namespace (either my own, or another backend's), return the proc number
|
799
998
|
* that owns it. Temporary-toast-table namespaces are included, too.
|
800
|
-
* If it isn't a temp namespace, return
|
999
|
+
* If it isn't a temp namespace, return INVALID_PROC_NUMBER.
|
801
1000
|
*/
|
802
1001
|
|
803
1002
|
|
@@ -829,8 +1028,7 @@ NameListToString(List *names)
|
|
829
1028
|
|
830
1029
|
|
831
1030
|
/*
|
832
|
-
*
|
833
|
-
* used by PushOverrideSearchPath.
|
1031
|
+
* GetSearchPathMatcher - fetch current search path definition.
|
834
1032
|
*
|
835
1033
|
* The result structure is allocated in the specified memory context
|
836
1034
|
* (which might or might not be equal to CurrentMemoryContext); but any
|
@@ -839,14 +1037,14 @@ NameListToString(List *names)
|
|
839
1037
|
|
840
1038
|
|
841
1039
|
/*
|
842
|
-
*
|
1040
|
+
* CopySearchPathMatcher - copy the specified SearchPathMatcher.
|
843
1041
|
*
|
844
1042
|
* The result structure is allocated in CurrentMemoryContext.
|
845
1043
|
*/
|
846
1044
|
|
847
1045
|
|
848
1046
|
/*
|
849
|
-
*
|
1047
|
+
* SearchPathMatchesCurrentEnvironment - does path match current environment?
|
850
1048
|
*
|
851
1049
|
* This is tested over and over in some common code paths, and in the typical
|
852
1050
|
* scenario where the active search path seldom changes, it'll always succeed.
|
@@ -856,49 +1054,44 @@ NameListToString(List *names)
|
|
856
1054
|
|
857
1055
|
|
858
1056
|
/*
|
859
|
-
*
|
860
|
-
*
|
861
|
-
* We allow nested overrides, hence the push/pop terminology. The GUC
|
862
|
-
* search_path variable is ignored while an override is active.
|
863
|
-
*
|
864
|
-
* It's possible that newpath->useTemp is set but there is no longer any
|
865
|
-
* active temp namespace, if the path was saved during a transaction that
|
866
|
-
* created a temp namespace and was later rolled back. In that case we just
|
867
|
-
* ignore useTemp. A plausible alternative would be to create a new temp
|
868
|
-
* namespace, but for existing callers that's not necessary because an empty
|
869
|
-
* temp namespace wouldn't affect their results anyway.
|
1057
|
+
* get_collation_oid - find a collation by possibly qualified name
|
870
1058
|
*
|
871
|
-
*
|
872
|
-
*
|
873
|
-
* no existing namespace will simply not produce any hits during searches.
|
1059
|
+
* Note that this will only find collations that work with the current
|
1060
|
+
* database's encoding.
|
874
1061
|
*/
|
1062
|
+
Oid get_collation_oid(List *name, bool missing_ok) { return DEFAULT_COLLATION_OID; }
|
875
1063
|
|
876
1064
|
|
877
1065
|
/*
|
878
|
-
*
|
879
|
-
*
|
880
|
-
* Any push during a (sub)transaction will be popped automatically at abort.
|
881
|
-
* But it's caller error if a push isn't popped in normal control flow.
|
1066
|
+
* get_conversion_oid - find a conversion by possibly qualified name
|
882
1067
|
*/
|
883
1068
|
|
884
1069
|
|
1070
|
+
/*
|
1071
|
+
* FindDefaultConversionProc - find default encoding conversion proc
|
1072
|
+
*/
|
1073
|
+
|
885
1074
|
|
886
1075
|
/*
|
887
|
-
*
|
888
|
-
*
|
889
|
-
* Note that this will only find collations that work with the current
|
890
|
-
* database's encoding.
|
1076
|
+
* Look up namespace IDs and perform ACL checks. Return newly-allocated list.
|
891
1077
|
*/
|
892
|
-
Oid get_collation_oid(List *name, bool missing_ok) { return -1; }
|
893
1078
|
|
894
1079
|
|
895
1080
|
/*
|
896
|
-
*
|
1081
|
+
* Remove duplicates, run namespace search hooks, and prepend
|
1082
|
+
* implicitly-searched namespaces. Return newly-allocated list.
|
1083
|
+
*
|
1084
|
+
* If an object_access_hook is present, this must always be recalculated. It
|
1085
|
+
* may seem that duplicate elimination is not dependent on the result of the
|
1086
|
+
* hook, but if a hook returns different results on different calls for the
|
1087
|
+
* same namespace ID, then it could affect the order in which that namespace
|
1088
|
+
* appears in the final list.
|
897
1089
|
*/
|
898
1090
|
|
899
1091
|
|
900
1092
|
/*
|
901
|
-
*
|
1093
|
+
* Retrieve search path information from the cache; or if not there, fill
|
1094
|
+
* it. The returned entry is valid only until the next call to this function.
|
902
1095
|
*/
|
903
1096
|
|
904
1097
|
|
@@ -977,7 +1170,7 @@ Oid get_collation_oid(List *name, bool missing_ok) { return -1; }
|
|
977
1170
|
|
978
1171
|
|
979
1172
|
/*
|
980
|
-
*
|
1173
|
+
* InvalidationCallback
|
981
1174
|
* Syscache inval callback function
|
982
1175
|
*/
|
983
1176
|
|
@@ -1016,9 +1209,7 @@ Oid get_collation_oid(List *name, bool missing_ok) { return -1; }
|
|
1016
1209
|
* condition errors when a query that's scanning a catalog using an MVCC
|
1017
1210
|
* snapshot uses one of these functions. The underlying IsVisible functions
|
1018
1211
|
* always use an up-to-date snapshot and so might see the object as already
|
1019
|
-
* gone when it's still visible to the transaction snapshot.
|
1020
|
-
* condition in the current coding because we don't accept sinval messages
|
1021
|
-
* between the SearchSysCacheExists test and the subsequent lookup.)
|
1212
|
+
* gone when it's still visible to the transaction snapshot.
|
1022
1213
|
*/
|
1023
1214
|
|
1024
1215
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
* pg_proc.c
|
10
10
|
* routines to support manipulation of the pg_proc relation
|
11
11
|
*
|
12
|
-
* Portions Copyright (c) 1996-
|
12
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
13
13
|
* Portions Copyright (c) 1994, Regents of the University of California
|
14
14
|
*
|
15
15
|
*
|
@@ -39,7 +39,8 @@
|
|
39
39
|
#include "miscadmin.h"
|
40
40
|
#include "nodes/nodeFuncs.h"
|
41
41
|
#include "parser/parse_coerce.h"
|
42
|
-
#include "
|
42
|
+
#include "pgstat.h"
|
43
|
+
#include "rewrite/rewriteHandler.h"
|
43
44
|
#include "tcop/pquery.h"
|
44
45
|
#include "tcop/tcopprot.h"
|
45
46
|
#include "utils/acl.h"
|
@@ -10,7 +10,7 @@
|
|
10
10
|
* Support routines for various kinds of object creation.
|
11
11
|
*
|
12
12
|
*
|
13
|
-
* Portions Copyright (c) 1996-
|
13
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
14
14
|
* Portions Copyright (c) 1994, Regents of the University of California
|
15
15
|
*
|
16
16
|
*
|
@@ -45,8 +45,7 @@
|
|
45
45
|
#include "commands/defrem.h"
|
46
46
|
#include "nodes/makefuncs.h"
|
47
47
|
#include "parser/parse_type.h"
|
48
|
-
#include "
|
49
|
-
#include "utils/builtins.h"
|
48
|
+
#include "utils/fmgrprotos.h"
|
50
49
|
|
51
50
|
/*
|
52
51
|
* Extract a string value (otherwise uninterpreted) from a DefElem.
|
@@ -92,6 +91,11 @@ defGetInt32(DefElem *def)
|
|
92
91
|
*/
|
93
92
|
|
94
93
|
|
94
|
+
/*
|
95
|
+
* Extract an OID value from a DefElem.
|
96
|
+
*/
|
97
|
+
|
98
|
+
|
95
99
|
/*
|
96
100
|
* Extract a possibly-qualified name (as a List of Strings) from a DefElem.
|
97
101
|
*/
|
@@ -115,3 +119,8 @@ defGetInt32(DefElem *def)
|
|
115
119
|
* Extract a list of string values (otherwise uninterpreted) from a DefElem.
|
116
120
|
*/
|
117
121
|
|
122
|
+
|
123
|
+
/*
|
124
|
+
* Raise an error about a conflicting DefElem.
|
125
|
+
*/
|
126
|
+
|