pg_query 2.2.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +86 -0
- data/README.md +57 -31
- data/Rakefile +5 -6
- data/ext/pg_query/ext_symbols_freebsd.sym +1 -0
- data/ext/pg_query/ext_symbols_freebsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_openbsd.sym +1 -0
- data/ext/pg_query/ext_symbols_openbsd_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/ext_symbols_with_ruby_abi_version.sym +2 -0
- data/ext/pg_query/extconf.rb +33 -9
- data/ext/pg_query/include/pg_query.h +30 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +839 -290
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +638 -481
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +6786 -4193
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +450 -330
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +1489 -1044
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +157 -118
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +1933 -1410
- data/ext/pg_query/include/postgres/access/amapi.h +303 -0
- data/ext/pg_query/include/postgres/access/attmap.h +54 -0
- data/ext/pg_query/include/postgres/access/attnum.h +64 -0
- data/ext/pg_query/include/postgres/access/brin_internal.h +116 -0
- data/ext/pg_query/include/postgres/access/brin_tuple.h +112 -0
- data/ext/pg_query/include/postgres/access/clog.h +62 -0
- data/ext/pg_query/include/postgres/access/commit_ts.h +73 -0
- data/ext/pg_query/include/postgres/access/detoast.h +82 -0
- data/ext/pg_query/include/postgres/access/genam.h +246 -0
- data/ext/pg_query/include/postgres/access/gin.h +91 -0
- data/ext/pg_query/include/postgres/access/htup.h +89 -0
- data/ext/pg_query/include/postgres/access/htup_details.h +811 -0
- data/ext/pg_query/include/postgres/access/itup.h +170 -0
- data/ext/pg_query/include/postgres/access/parallel.h +81 -0
- data/ext/pg_query/include/postgres/access/printtup.h +35 -0
- data/ext/pg_query/include/postgres/access/relation.h +28 -0
- data/ext/pg_query/include/postgres/access/relscan.h +191 -0
- data/ext/pg_query/include/postgres/access/rmgr.h +62 -0
- data/ext/pg_query/include/postgres/access/rmgrlist.h +49 -0
- data/ext/pg_query/include/postgres/access/sdir.h +67 -0
- data/ext/pg_query/include/postgres/access/skey.h +151 -0
- data/ext/pg_query/include/postgres/access/slru.h +218 -0
- data/ext/pg_query/include/postgres/access/stratnum.h +85 -0
- data/ext/pg_query/include/postgres/access/sysattr.h +29 -0
- data/ext/pg_query/include/postgres/access/table.h +28 -0
- data/ext/pg_query/include/postgres/access/tableam.h +2110 -0
- data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
- data/ext/pg_query/include/postgres/access/toast_compression.h +73 -0
- data/ext/pg_query/include/postgres/access/transam.h +418 -0
- data/ext/pg_query/include/postgres/access/tsmapi.h +82 -0
- data/ext/pg_query/include/postgres/access/tupconvert.h +54 -0
- data/ext/pg_query/include/postgres/access/tupdesc.h +154 -0
- data/ext/pg_query/include/postgres/access/tupmacs.h +207 -0
- data/ext/pg_query/include/postgres/access/twophase.h +65 -0
- data/ext/pg_query/include/postgres/access/xact.h +530 -0
- data/ext/pg_query/include/postgres/access/xlog.h +310 -0
- data/ext/pg_query/include/postgres/access/xlog_internal.h +405 -0
- data/ext/pg_query/include/postgres/access/xlogbackup.h +43 -0
- data/ext/pg_query/include/postgres/access/xlogdefs.h +82 -0
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/postgres/access/xlogreader.h +444 -0
- data/ext/pg_query/include/postgres/access/xlogrecord.h +248 -0
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +158 -0
- data/ext/pg_query/include/postgres/archive/archive_module.h +67 -0
- data/ext/pg_query/include/postgres/c.h +1374 -0
- data/ext/pg_query/include/postgres/catalog/catalog.h +47 -0
- data/ext/pg_query/include/postgres/catalog/catversion.h +62 -0
- data/ext/pg_query/include/postgres/catalog/dependency.h +228 -0
- data/ext/pg_query/include/postgres/catalog/genbki.h +149 -0
- data/ext/pg_query/include/postgres/catalog/index.h +218 -0
- data/ext/pg_query/include/postgres/catalog/indexing.h +54 -0
- data/ext/pg_query/include/postgres/catalog/namespace.h +189 -0
- data/ext/pg_query/include/postgres/catalog/objectaccess.h +267 -0
- data/ext/pg_query/include/postgres/catalog/objectaddress.h +93 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +182 -0
- data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +78 -0
- data/ext/pg_query/include/postgres/catalog/pg_am.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_am_d.h +47 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute.h +240 -0
- data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_class.h +235 -0
- data/ext/pg_query/include/postgres/catalog/pg_class_d.h +134 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation.h +106 -0
- data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +66 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint.h +278 -0
- data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +74 -0
- data/ext/pg_query/include/postgres/catalog/pg_control.h +260 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion.h +79 -0
- data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_database.h +129 -0
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +53 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend.h +77 -0
- data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +60 -0
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_index.h +92 -0
- data/ext/pg_query/include/postgres/catalog/pg_index_d.h +59 -0
- data/ext/pg_query/include/postgres/catalog/pg_language.h +75 -0
- data/ext/pg_query/include/postgres/catalog/pg_language_d.h +41 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator.h +124 -0
- data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +142 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +67 -0
- data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +76 -0
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +36 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc.h +223 -0
- data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +101 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication.h +161 -0
- data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +38 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +65 -0
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +33 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic.h +288 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +199 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +91 -0
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +45 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform.h +51 -0
- data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger.h +153 -0
- data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +109 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +56 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +62 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +35 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +63 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +37 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +54 -0
- data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +34 -0
- data/ext/pg_query/include/postgres/catalog/pg_type.h +407 -0
- data/ext/pg_query/include/postgres/catalog/pg_type_d.h +324 -0
- data/ext/pg_query/include/postgres/catalog/storage.h +50 -0
- data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
- data/ext/pg_query/include/postgres/commands/async.h +49 -0
- data/ext/pg_query/include/postgres/commands/dbcommands.h +37 -0
- data/ext/pg_query/include/postgres/commands/defrem.h +161 -0
- data/ext/pg_query/include/postgres/commands/event_trigger.h +97 -0
- data/ext/pg_query/include/postgres/commands/explain.h +145 -0
- data/ext/pg_query/include/postgres/commands/prepare.h +61 -0
- data/ext/pg_query/include/postgres/commands/tablespace.h +69 -0
- data/ext/pg_query/include/postgres/commands/trigger.h +288 -0
- data/ext/pg_query/include/postgres/commands/user.h +43 -0
- data/ext/pg_query/include/postgres/commands/vacuum.h +388 -0
- data/ext/pg_query/include/postgres/common/cryptohash.h +39 -0
- data/ext/pg_query/include/postgres/common/file_perm.h +56 -0
- data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
- data/ext/pg_query/include/postgres/common/hashfn.h +119 -0
- data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
- data/ext/pg_query/include/postgres/common/int.h +512 -0
- data/ext/pg_query/include/postgres/common/keywords.h +29 -0
- data/ext/pg_query/include/postgres/common/kwlookup.h +44 -0
- data/ext/pg_query/include/postgres/common/pg_prng.h +62 -0
- data/ext/pg_query/include/postgres/common/relpath.h +97 -0
- data/ext/pg_query/include/postgres/common/scram-common.h +70 -0
- data/ext/pg_query/include/postgres/common/sha2.h +32 -0
- data/ext/pg_query/include/postgres/common/string.h +44 -0
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +124 -0
- data/ext/pg_query/include/postgres/common/unicode_nonspacing_table.h +326 -0
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +5261 -0
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +989 -0
- data/ext/pg_query/include/postgres/datatype/timestamp.h +269 -0
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +3310 -0
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +836 -0
- data/ext/pg_query/include/postgres/executor/execdesc.h +70 -0
- data/ext/pg_query/include/postgres/executor/executor.h +681 -0
- data/ext/pg_query/include/postgres/executor/functions.h +56 -0
- data/ext/pg_query/include/postgres/executor/instrument.h +120 -0
- data/ext/pg_query/include/postgres/executor/spi.h +207 -0
- data/ext/pg_query/include/postgres/executor/tablefunc.h +67 -0
- data/ext/pg_query/include/postgres/executor/tuptable.h +523 -0
- data/ext/pg_query/include/postgres/fmgr.h +800 -0
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +294 -0
- data/ext/pg_query/include/postgres/funcapi.h +360 -0
- data/ext/pg_query/include/postgres/gram.h +1168 -0
- data/ext/pg_query/include/postgres/gramparse.h +75 -0
- data/ext/pg_query/include/postgres/jit/jit.h +106 -0
- data/ext/pg_query/include/postgres/kwlist_d.h +1164 -0
- data/ext/pg_query/include/postgres/lib/dshash.h +130 -0
- data/ext/pg_query/include/postgres/lib/ilist.h +1159 -0
- data/ext/pg_query/include/postgres/lib/pairingheap.h +102 -0
- data/ext/pg_query/include/postgres/lib/simplehash.h +1206 -0
- data/ext/pg_query/include/postgres/lib/sort_template.h +445 -0
- data/ext/pg_query/include/postgres/lib/stringinfo.h +243 -0
- data/ext/pg_query/include/postgres/libpq/auth.h +37 -0
- data/ext/pg_query/include/postgres/libpq/crypt.h +47 -0
- data/ext/pg_query/include/postgres/libpq/hba.h +186 -0
- data/ext/pg_query/include/postgres/libpq/libpq-be.h +361 -0
- data/ext/pg_query/include/postgres/libpq/libpq.h +143 -0
- data/ext/pg_query/include/postgres/libpq/pqcomm.h +169 -0
- data/ext/pg_query/include/postgres/libpq/pqformat.h +209 -0
- data/ext/pg_query/include/postgres/libpq/pqsignal.h +54 -0
- data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
- data/ext/pg_query/include/postgres/libpq/sasl.h +136 -0
- data/ext/pg_query/include/postgres/libpq/scram.h +37 -0
- data/ext/pg_query/include/postgres/mb/pg_wchar.h +793 -0
- data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +24 -0
- data/ext/pg_query/include/postgres/miscadmin.h +527 -0
- data/ext/pg_query/include/postgres/nodes/bitmapset.h +140 -0
- data/ext/pg_query/include/postgres/nodes/execnodes.h +2855 -0
- data/ext/pg_query/include/postgres/nodes/extensible.h +164 -0
- data/ext/pg_query/include/postgres/nodes/lockoptions.h +61 -0
- data/ext/pg_query/include/postgres/nodes/makefuncs.h +127 -0
- data/ext/pg_query/include/postgres/nodes/memnodes.h +152 -0
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +56 -0
- data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +222 -0
- data/ext/pg_query/include/postgres/nodes/nodes.h +435 -0
- data/ext/pg_query/include/postgres/nodes/nodetags.h +491 -0
- data/ext/pg_query/include/postgres/nodes/params.h +170 -0
- data/ext/pg_query/include/postgres/nodes/parsenodes.h +4233 -0
- data/ext/pg_query/include/postgres/nodes/pathnodes.h +3438 -0
- data/ext/pg_query/include/postgres/nodes/pg_list.h +686 -0
- data/ext/pg_query/include/postgres/nodes/plannodes.h +1593 -0
- data/ext/pg_query/include/postgres/nodes/primnodes.h +2339 -0
- data/ext/pg_query/include/postgres/nodes/print.h +34 -0
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +86 -0
- data/ext/pg_query/include/postgres/nodes/replnodes.h +132 -0
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +346 -0
- data/ext/pg_query/include/postgres/nodes/tidbitmap.h +75 -0
- data/ext/pg_query/include/postgres/nodes/value.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/cost.h +216 -0
- data/ext/pg_query/include/postgres/optimizer/geqo.h +90 -0
- data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +45 -0
- data/ext/pg_query/include/postgres/optimizer/optimizer.h +205 -0
- data/ext/pg_query/include/postgres/optimizer/paths.h +271 -0
- data/ext/pg_query/include/postgres/optimizer/planmain.h +123 -0
- data/ext/pg_query/include/postgres/parser/analyze.h +66 -0
- data/ext/pg_query/include/postgres/parser/kwlist.h +518 -0
- data/ext/pg_query/include/postgres/parser/parse_agg.h +65 -0
- data/ext/pg_query/include/postgres/parser/parse_coerce.h +105 -0
- data/ext/pg_query/include/postgres/parser/parse_expr.h +25 -0
- data/ext/pg_query/include/postgres/parser/parse_func.h +74 -0
- data/ext/pg_query/include/postgres/parser/parse_node.h +358 -0
- data/ext/pg_query/include/postgres/parser/parse_oper.h +68 -0
- data/ext/pg_query/include/postgres/parser/parse_relation.h +129 -0
- data/ext/pg_query/include/postgres/parser/parse_type.h +61 -0
- data/ext/pg_query/include/postgres/parser/parser.h +68 -0
- data/ext/pg_query/include/postgres/parser/parsetree.h +61 -0
- data/ext/pg_query/include/postgres/parser/scanner.h +152 -0
- data/ext/pg_query/include/postgres/parser/scansup.h +27 -0
- data/ext/pg_query/include/postgres/partitioning/partdefs.h +26 -0
- data/ext/pg_query/include/postgres/pg_config.h +985 -0
- data/ext/pg_query/include/postgres/pg_config_manual.h +385 -0
- data/ext/pg_query/include/postgres/pg_config_os.h +8 -0
- data/ext/pg_query/include/postgres/pg_getopt.h +56 -0
- data/ext/pg_query/include/postgres/pg_trace.h +17 -0
- data/ext/pg_query/include/postgres/pgstat.h +780 -0
- data/ext/pg_query/include/postgres/pgtime.h +94 -0
- data/ext/pg_query/include/postgres/pl_gram.h +385 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +52 -0
- data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +114 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +112 -0
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +246 -0
- data/ext/pg_query/include/postgres/plerrcodes.h +998 -0
- data/ext/pg_query/include/postgres/plpgsql.h +1342 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +32 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +17 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +256 -0
- data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +254 -0
- data/ext/pg_query/include/postgres/port/atomics/fallback.h +170 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +323 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +119 -0
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +121 -0
- data/ext/pg_query/include/postgres/port/atomics/generic.h +437 -0
- data/ext/pg_query/include/postgres/port/atomics.h +606 -0
- data/ext/pg_query/include/postgres/port/pg_bitutils.h +421 -0
- data/ext/pg_query/include/postgres/port/pg_bswap.h +161 -0
- data/ext/pg_query/include/postgres/port/pg_crc32c.h +110 -0
- data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
- data/ext/pg_query/include/postgres/port/simd.h +422 -0
- data/ext/pg_query/include/postgres/port/win32/arpa/inet.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/dlfcn.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/grp.h +1 -0
- data/ext/pg_query/include/postgres/port/win32/netdb.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/in.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/netinet/tcp.h +7 -0
- data/ext/pg_query/include/postgres/port/win32/pwd.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/resource.h +20 -0
- data/ext/pg_query/include/postgres/port/win32/sys/select.h +3 -0
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +34 -0
- data/ext/pg_query/include/postgres/port/win32/sys/un.h +17 -0
- data/ext/pg_query/include/postgres/port/win32/sys/wait.h +3 -0
- data/ext/pg_query/include/postgres/port/win32.h +59 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/dirent.h +34 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/file.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/param.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/sys/time.h +1 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/unistd.h +9 -0
- data/ext/pg_query/include/postgres/port/win32_msvc/utime.h +3 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +582 -0
- data/ext/pg_query/include/postgres/port.h +555 -0
- data/ext/pg_query/include/postgres/portability/instr_time.h +197 -0
- data/ext/pg_query/include/postgres/postgres.h +579 -0
- data/ext/pg_query/include/postgres/postgres_ext.h +73 -0
- data/ext/pg_query/include/postgres/postmaster/autovacuum.h +69 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker.h +164 -0
- data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +60 -0
- data/ext/pg_query/include/postgres/postmaster/bgwriter.h +45 -0
- data/ext/pg_query/include/postgres/postmaster/interrupt.h +32 -0
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +36 -0
- data/ext/pg_query/include/postgres/postmaster/postmaster.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/startup.h +41 -0
- data/ext/pg_query/include/postgres/postmaster/syslogger.h +101 -0
- data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
- data/ext/pg_query/include/postgres/postmaster/walwriter.h +23 -0
- data/ext/pg_query/include/postgres/regex/regex.h +272 -0
- data/ext/pg_query/include/postgres/replication/logicallauncher.h +34 -0
- data/ext/pg_query/include/postgres/replication/logicalproto.h +274 -0
- data/ext/pg_query/include/postgres/replication/logicalworker.h +33 -0
- data/ext/pg_query/include/postgres/replication/origin.h +73 -0
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +734 -0
- data/ext/pg_query/include/postgres/replication/slot.h +289 -0
- data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
- data/ext/pg_query/include/postgres/replication/syncrep.h +109 -0
- data/ext/pg_query/include/postgres/replication/walreceiver.h +504 -0
- data/ext/pg_query/include/postgres/replication/walsender.h +76 -0
- data/ext/pg_query/include/postgres/rewrite/prs2lock.h +46 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +41 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +96 -0
- data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +26 -0
- data/ext/pg_query/include/postgres/storage/block.h +108 -0
- data/ext/pg_query/include/postgres/storage/buf.h +46 -0
- data/ext/pg_query/include/postgres/storage/bufmgr.h +411 -0
- data/ext/pg_query/include/postgres/storage/bufpage.h +510 -0
- data/ext/pg_query/include/postgres/storage/condition_variable.h +73 -0
- data/ext/pg_query/include/postgres/storage/dsm.h +61 -0
- data/ext/pg_query/include/postgres/storage/dsm_impl.h +79 -0
- data/ext/pg_query/include/postgres/storage/fd.h +219 -0
- data/ext/pg_query/include/postgres/storage/fileset.h +40 -0
- data/ext/pg_query/include/postgres/storage/ipc.h +87 -0
- data/ext/pg_query/include/postgres/storage/item.h +19 -0
- data/ext/pg_query/include/postgres/storage/itemid.h +184 -0
- data/ext/pg_query/include/postgres/storage/itemptr.h +245 -0
- data/ext/pg_query/include/postgres/storage/large_object.h +100 -0
- data/ext/pg_query/include/postgres/storage/latch.h +196 -0
- data/ext/pg_query/include/postgres/storage/lmgr.h +126 -0
- data/ext/pg_query/include/postgres/storage/lock.h +624 -0
- data/ext/pg_query/include/postgres/storage/lockdefs.h +61 -0
- data/ext/pg_query/include/postgres/storage/lwlock.h +228 -0
- data/ext/pg_query/include/postgres/storage/lwlocknames.h +47 -0
- data/ext/pg_query/include/postgres/storage/off.h +57 -0
- data/ext/pg_query/include/postgres/storage/pg_sema.h +61 -0
- data/ext/pg_query/include/postgres/storage/pg_shmem.h +93 -0
- data/ext/pg_query/include/postgres/storage/pmsignal.h +105 -0
- data/ext/pg_query/include/postgres/storage/predicate.h +83 -0
- data/ext/pg_query/include/postgres/storage/proc.h +488 -0
- data/ext/pg_query/include/postgres/storage/procarray.h +103 -0
- data/ext/pg_query/include/postgres/storage/proclist_types.h +53 -0
- data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
- data/ext/pg_query/include/postgres/storage/procsignal.h +75 -0
- data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +100 -0
- data/ext/pg_query/include/postgres/storage/s_lock.h +847 -0
- data/ext/pg_query/include/postgres/storage/sharedfileset.h +37 -0
- data/ext/pg_query/include/postgres/storage/shm_mq.h +86 -0
- data/ext/pg_query/include/postgres/storage/shm_toc.h +58 -0
- data/ext/pg_query/include/postgres/storage/shmem.h +59 -0
- data/ext/pg_query/include/postgres/storage/sinval.h +153 -0
- data/ext/pg_query/include/postgres/storage/smgr.h +130 -0
- data/ext/pg_query/include/postgres/storage/spin.h +77 -0
- data/ext/pg_query/include/postgres/storage/standby.h +109 -0
- data/ext/pg_query/include/postgres/storage/standbydefs.h +74 -0
- data/ext/pg_query/include/postgres/storage/sync.h +66 -0
- data/ext/pg_query/include/postgres/tcop/cmdtag.h +62 -0
- data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +219 -0
- data/ext/pg_query/include/postgres/tcop/deparse_utility.h +108 -0
- data/ext/pg_query/include/postgres/tcop/dest.h +148 -0
- data/ext/pg_query/include/postgres/tcop/fastpath.h +20 -0
- data/ext/pg_query/include/postgres/tcop/pquery.h +51 -0
- data/ext/pg_query/include/postgres/tcop/tcopprot.h +98 -0
- data/ext/pg_query/include/postgres/tcop/utility.h +112 -0
- data/ext/pg_query/include/postgres/tsearch/ts_cache.h +96 -0
- data/ext/pg_query/include/postgres/utils/acl.h +290 -0
- data/ext/pg_query/include/postgres/utils/aclchk_internal.h +45 -0
- data/ext/pg_query/include/postgres/utils/array.h +481 -0
- data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
- data/ext/pg_query/include/postgres/utils/backend_progress.h +46 -0
- data/ext/pg_query/include/postgres/utils/backend_status.h +340 -0
- data/ext/pg_query/include/postgres/utils/builtins.h +139 -0
- data/ext/pg_query/include/postgres/utils/bytea.h +28 -0
- data/ext/pg_query/include/postgres/utils/catcache.h +231 -0
- data/ext/pg_query/include/postgres/utils/date.h +118 -0
- data/ext/pg_query/include/postgres/utils/datetime.h +367 -0
- data/ext/pg_query/include/postgres/utils/datum.h +76 -0
- data/ext/pg_query/include/postgres/utils/dsa.h +166 -0
- data/ext/pg_query/include/postgres/utils/elog.h +540 -0
- data/ext/pg_query/include/postgres/utils/errcodes.h +352 -0
- data/ext/pg_query/include/postgres/utils/expandeddatum.h +170 -0
- data/ext/pg_query/include/postgres/utils/expandedrecord.h +241 -0
- data/ext/pg_query/include/postgres/utils/float.h +357 -0
- data/ext/pg_query/include/postgres/utils/fmgroids.h +3347 -0
- data/ext/pg_query/include/postgres/utils/fmgrprotos.h +2904 -0
- data/ext/pg_query/include/postgres/utils/fmgrtab.h +49 -0
- data/ext/pg_query/include/postgres/utils/guc.h +456 -0
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +184 -0
- data/ext/pg_query/include/postgres/utils/guc_tables.h +323 -0
- data/ext/pg_query/include/postgres/utils/hsearch.h +153 -0
- data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
- data/ext/pg_query/include/postgres/utils/inval.h +68 -0
- data/ext/pg_query/include/postgres/utils/logtape.h +77 -0
- data/ext/pg_query/include/postgres/utils/lsyscache.h +215 -0
- data/ext/pg_query/include/postgres/utils/memdebug.h +82 -0
- data/ext/pg_query/include/postgres/utils/memutils.h +193 -0
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +176 -0
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +253 -0
- data/ext/pg_query/include/postgres/utils/numeric.h +110 -0
- data/ext/pg_query/include/postgres/utils/palloc.h +151 -0
- data/ext/pg_query/include/postgres/utils/partcache.h +103 -0
- data/ext/pg_query/include/postgres/utils/pg_locale.h +136 -0
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +827 -0
- data/ext/pg_query/include/postgres/utils/plancache.h +238 -0
- data/ext/pg_query/include/postgres/utils/portal.h +252 -0
- data/ext/pg_query/include/postgres/utils/probes.h +114 -0
- data/ext/pg_query/include/postgres/utils/ps_status.h +47 -0
- data/ext/pg_query/include/postgres/utils/queryenvironment.h +74 -0
- data/ext/pg_query/include/postgres/utils/regproc.h +39 -0
- data/ext/pg_query/include/postgres/utils/rel.h +711 -0
- data/ext/pg_query/include/postgres/utils/relcache.h +155 -0
- data/ext/pg_query/include/postgres/utils/reltrigger.h +81 -0
- data/ext/pg_query/include/postgres/utils/resowner.h +167 -0
- data/ext/pg_query/include/postgres/utils/ruleutils.h +52 -0
- data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +61 -0
- data/ext/pg_query/include/postgres/utils/snapmgr.h +130 -0
- data/ext/pg_query/include/postgres/utils/snapshot.h +219 -0
- data/ext/pg_query/include/postgres/utils/sortsupport.h +391 -0
- data/ext/pg_query/include/postgres/utils/syscache.h +136 -0
- data/ext/pg_query/include/postgres/utils/timeout.h +96 -0
- data/ext/pg_query/include/postgres/utils/timestamp.h +147 -0
- data/ext/pg_query/include/postgres/utils/tuplesort.h +472 -0
- data/ext/pg_query/include/postgres/utils/tuplestore.h +88 -0
- data/ext/pg_query/include/postgres/utils/typcache.h +210 -0
- data/ext/pg_query/include/postgres/utils/varlena.h +53 -0
- data/ext/pg_query/include/postgres/utils/wait_event.h +108 -0
- data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
- data/ext/pg_query/include/postgres/utils/xml.h +94 -0
- data/ext/pg_query/include/postgres/varatt.h +358 -0
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +8077 -6217
- data/ext/pg_query/include/protobuf/pg_query.pb.h +132024 -88124
- data/ext/pg_query/pg_query.c +10 -1
- data/ext/pg_query/pg_query.pb-c.c +24028 -17173
- data/ext/pg_query/pg_query_deparse.c +1 -9902
- data/ext/pg_query/pg_query_fingerprint.c +42 -18
- data/ext/pg_query/pg_query_fingerprint.h +1 -1
- data/ext/pg_query/pg_query_internal.h +1 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +1 -25
- data/ext/pg_query/pg_query_normalize.c +44 -3
- data/ext/pg_query/pg_query_outfuncs_json.c +62 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +73 -12
- data/ext/pg_query/pg_query_parse.c +47 -5
- data/ext/pg_query/pg_query_parse_plpgsql.c +19 -18
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +45 -10
- data/ext/pg_query/pg_query_ruby.c +5 -0
- data/ext/pg_query/pg_query_scan.c +4 -3
- data/ext/pg_query/pg_query_split.c +6 -5
- data/ext/pg_query/postgres_deparse.c +11496 -0
- data/ext/pg_query/postgres_deparse.h +9 -0
- data/ext/pg_query/src_backend_catalog_namespace.c +262 -71
- data/ext/pg_query/src_backend_catalog_pg_proc.c +3 -2
- data/ext/pg_query/src_backend_commands_define.c +12 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +142 -156
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +100 -5881
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +102 -3831
- data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
- data/ext/pg_query/src_backend_nodes_list.c +89 -18
- data/ext/pg_query/src_backend_nodes_makefuncs.c +138 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +433 -132
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +45255 -38885
- data/ext/pg_query/src_backend_parser_parser.c +53 -8
- data/ext/pg_query/src_backend_parser_scan.c +6999 -3438
- data/ext/pg_query/src_backend_parser_scansup.c +5 -28
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +156 -114
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +14 -2
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
- data/ext/pg_query/src_backend_utils_adt_numutils.c +488 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +247 -34
- data/ext/pg_query/src_backend_utils_error_assert.c +17 -18
- data/ext/pg_query/src_backend_utils_error_elog.c +543 -343
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +47 -18
- data/ext/pg_query/src_backend_utils_init_globals.c +22 -7
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +84 -148
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +502 -0
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +166 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +708 -499
- data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +1115 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +710 -218
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +1079 -0
- data/ext/pg_query/src_common_encnames.c +46 -44
- data/ext/pg_query/src_common_hashfn.c +3 -3
- data/ext/pg_query/src_common_keywords.c +15 -2
- data/ext/pg_query/src_common_kwlist_d.h +602 -510
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_psprintf.c +3 -3
- data/ext/pg_query/src_common_stringinfo.c +21 -4
- data/ext/pg_query/src_common_wchar.c +754 -178
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +143 -24
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1295 -1255
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +20 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +60 -60
- data/ext/pg_query/src_port_pg_bitutils.c +283 -54
- data/ext/pg_query/src_port_pgstrcasecmp.c +57 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +56 -39
- data/ext/pg_query/src_port_strerror.c +9 -21
- data/ext/pg_query/src_port_strlcpy.c +79 -0
- data/lib/pg_query/filter_columns.rb +1 -1
- data/lib/pg_query/fingerprint.rb +10 -9
- data/lib/pg_query/node.rb +18 -13
- data/lib/pg_query/param_refs.rb +3 -3
- data/lib/pg_query/parse.rb +25 -15
- data/lib/pg_query/parse_error.rb +1 -0
- data/lib/pg_query/pg_query_pb.rb +181 -3038
- data/lib/pg_query/scan.rb +1 -0
- data/lib/pg_query/treewalker.rb +55 -8
- data/lib/pg_query/truncate.rb +19 -21
- data/lib/pg_query/version.rb +1 -1
- metadata +447 -436
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +0 -246
- data/ext/pg_query/include/access/attmap.h +0 -52
- data/ext/pg_query/include/access/attnum.h +0 -64
- data/ext/pg_query/include/access/clog.h +0 -61
- data/ext/pg_query/include/access/commit_ts.h +0 -77
- data/ext/pg_query/include/access/detoast.h +0 -92
- data/ext/pg_query/include/access/genam.h +0 -228
- data/ext/pg_query/include/access/gin.h +0 -78
- data/ext/pg_query/include/access/htup.h +0 -89
- data/ext/pg_query/include/access/htup_details.h +0 -819
- data/ext/pg_query/include/access/itup.h +0 -161
- data/ext/pg_query/include/access/parallel.h +0 -82
- data/ext/pg_query/include/access/printtup.h +0 -35
- data/ext/pg_query/include/access/relation.h +0 -28
- data/ext/pg_query/include/access/relscan.h +0 -176
- data/ext/pg_query/include/access/rmgr.h +0 -35
- data/ext/pg_query/include/access/rmgrlist.h +0 -49
- data/ext/pg_query/include/access/sdir.h +0 -58
- data/ext/pg_query/include/access/skey.h +0 -151
- data/ext/pg_query/include/access/stratnum.h +0 -83
- data/ext/pg_query/include/access/sysattr.h +0 -29
- data/ext/pg_query/include/access/table.h +0 -27
- data/ext/pg_query/include/access/tableam.h +0 -1825
- data/ext/pg_query/include/access/transam.h +0 -265
- data/ext/pg_query/include/access/tupconvert.h +0 -51
- data/ext/pg_query/include/access/tupdesc.h +0 -154
- data/ext/pg_query/include/access/tupmacs.h +0 -247
- data/ext/pg_query/include/access/twophase.h +0 -63
- data/ext/pg_query/include/access/xact.h +0 -469
- data/ext/pg_query/include/access/xlog.h +0 -398
- data/ext/pg_query/include/access/xlog_internal.h +0 -339
- data/ext/pg_query/include/access/xlogdefs.h +0 -109
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/access/xlogreader.h +0 -337
- data/ext/pg_query/include/access/xlogrecord.h +0 -227
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/c.h +0 -1334
- data/ext/pg_query/include/catalog/catalog.h +0 -42
- data/ext/pg_query/include/catalog/catversion.h +0 -58
- data/ext/pg_query/include/catalog/dependency.h +0 -277
- data/ext/pg_query/include/catalog/genbki.h +0 -64
- data/ext/pg_query/include/catalog/index.h +0 -199
- data/ext/pg_query/include/catalog/indexing.h +0 -366
- data/ext/pg_query/include/catalog/namespace.h +0 -188
- data/ext/pg_query/include/catalog/objectaccess.h +0 -197
- data/ext/pg_query/include/catalog/objectaddress.h +0 -84
- data/ext/pg_query/include/catalog/pg_aggregate.h +0 -176
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +0 -77
- data/ext/pg_query/include/catalog/pg_am.h +0 -60
- data/ext/pg_query/include/catalog/pg_am_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_attribute.h +0 -204
- data/ext/pg_query/include/catalog/pg_attribute_d.h +0 -59
- data/ext/pg_query/include/catalog/pg_authid.h +0 -58
- data/ext/pg_query/include/catalog/pg_authid_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_class.h +0 -200
- data/ext/pg_query/include/catalog/pg_class_d.h +0 -103
- data/ext/pg_query/include/catalog/pg_collation.h +0 -73
- data/ext/pg_query/include/catalog/pg_collation_d.h +0 -45
- data/ext/pg_query/include/catalog/pg_constraint.h +0 -247
- data/ext/pg_query/include/catalog/pg_constraint_d.h +0 -67
- data/ext/pg_query/include/catalog/pg_control.h +0 -252
- data/ext/pg_query/include/catalog/pg_conversion.h +0 -72
- data/ext/pg_query/include/catalog/pg_conversion_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_depend.h +0 -73
- data/ext/pg_query/include/catalog/pg_depend_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_event_trigger.h +0 -51
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_index.h +0 -80
- data/ext/pg_query/include/catalog/pg_index_d.h +0 -56
- data/ext/pg_query/include/catalog/pg_language.h +0 -67
- data/ext/pg_query/include/catalog/pg_language_d.h +0 -39
- data/ext/pg_query/include/catalog/pg_namespace.h +0 -59
- data/ext/pg_query/include/catalog/pg_namespace_d.h +0 -34
- data/ext/pg_query/include/catalog/pg_opclass.h +0 -85
- data/ext/pg_query/include/catalog/pg_opclass_d.h +0 -49
- data/ext/pg_query/include/catalog/pg_operator.h +0 -104
- data/ext/pg_query/include/catalog/pg_operator_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_opfamily.h +0 -60
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +0 -47
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +0 -63
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_proc.h +0 -211
- data/ext/pg_query/include/catalog/pg_proc_d.h +0 -99
- data/ext/pg_query/include/catalog/pg_publication.h +0 -118
- data/ext/pg_query/include/catalog/pg_publication_d.h +0 -36
- data/ext/pg_query/include/catalog/pg_replication_origin.h +0 -57
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +0 -29
- data/ext/pg_query/include/catalog/pg_statistic.h +0 -275
- data/ext/pg_query/include/catalog/pg_statistic_d.h +0 -194
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +0 -74
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +0 -40
- data/ext/pg_query/include/catalog/pg_transform.h +0 -45
- data/ext/pg_query/include/catalog/pg_transform_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_trigger.h +0 -137
- data/ext/pg_query/include/catalog/pg_trigger_d.h +0 -106
- data/ext/pg_query/include/catalog/pg_ts_config.h +0 -50
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_ts_dict.h +0 -54
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +0 -33
- data/ext/pg_query/include/catalog/pg_ts_parser.h +0 -57
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +0 -35
- data/ext/pg_query/include/catalog/pg_ts_template.h +0 -48
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +0 -32
- data/ext/pg_query/include/catalog/pg_type.h +0 -373
- data/ext/pg_query/include/catalog/pg_type_d.h +0 -285
- data/ext/pg_query/include/catalog/storage.h +0 -48
- data/ext/pg_query/include/commands/async.h +0 -54
- data/ext/pg_query/include/commands/dbcommands.h +0 -35
- data/ext/pg_query/include/commands/defrem.h +0 -173
- data/ext/pg_query/include/commands/event_trigger.h +0 -88
- data/ext/pg_query/include/commands/explain.h +0 -127
- data/ext/pg_query/include/commands/prepare.h +0 -61
- data/ext/pg_query/include/commands/tablespace.h +0 -69
- data/ext/pg_query/include/commands/trigger.h +0 -285
- data/ext/pg_query/include/commands/user.h +0 -37
- data/ext/pg_query/include/commands/vacuum.h +0 -293
- data/ext/pg_query/include/commands/variable.h +0 -38
- data/ext/pg_query/include/common/file_perm.h +0 -56
- data/ext/pg_query/include/common/hashfn.h +0 -104
- data/ext/pg_query/include/common/ip.h +0 -37
- data/ext/pg_query/include/common/keywords.h +0 -33
- data/ext/pg_query/include/common/kwlookup.h +0 -44
- data/ext/pg_query/include/common/relpath.h +0 -90
- data/ext/pg_query/include/common/string.h +0 -19
- data/ext/pg_query/include/common/unicode_combining_table.h +0 -196
- data/ext/pg_query/include/datatype/timestamp.h +0 -197
- data/ext/pg_query/include/executor/execdesc.h +0 -70
- data/ext/pg_query/include/executor/executor.h +0 -620
- data/ext/pg_query/include/executor/functions.h +0 -41
- data/ext/pg_query/include/executor/instrument.h +0 -101
- data/ext/pg_query/include/executor/spi.h +0 -175
- data/ext/pg_query/include/executor/tablefunc.h +0 -67
- data/ext/pg_query/include/executor/tuptable.h +0 -487
- data/ext/pg_query/include/fmgr.h +0 -775
- data/ext/pg_query/include/funcapi.h +0 -348
- data/ext/pg_query/include/getaddrinfo.h +0 -162
- data/ext/pg_query/include/jit/jit.h +0 -105
- data/ext/pg_query/include/kwlist_d.h +0 -1072
- data/ext/pg_query/include/lib/ilist.h +0 -727
- data/ext/pg_query/include/lib/pairingheap.h +0 -102
- data/ext/pg_query/include/lib/simplehash.h +0 -1059
- data/ext/pg_query/include/lib/stringinfo.h +0 -161
- data/ext/pg_query/include/libpq/auth.h +0 -29
- data/ext/pg_query/include/libpq/crypt.h +0 -46
- data/ext/pg_query/include/libpq/hba.h +0 -140
- data/ext/pg_query/include/libpq/libpq-be.h +0 -326
- data/ext/pg_query/include/libpq/libpq.h +0 -134
- data/ext/pg_query/include/libpq/pqcomm.h +0 -208
- data/ext/pg_query/include/libpq/pqformat.h +0 -210
- data/ext/pg_query/include/libpq/pqsignal.h +0 -42
- data/ext/pg_query/include/mb/pg_wchar.h +0 -673
- data/ext/pg_query/include/mb/stringinfo_mb.h +0 -24
- data/ext/pg_query/include/miscadmin.h +0 -489
- data/ext/pg_query/include/nodes/bitmapset.h +0 -122
- data/ext/pg_query/include/nodes/execnodes.h +0 -2523
- data/ext/pg_query/include/nodes/extensible.h +0 -160
- data/ext/pg_query/include/nodes/lockoptions.h +0 -61
- data/ext/pg_query/include/nodes/makefuncs.h +0 -108
- data/ext/pg_query/include/nodes/memnodes.h +0 -108
- data/ext/pg_query/include/nodes/nodeFuncs.h +0 -162
- data/ext/pg_query/include/nodes/nodes.h +0 -842
- data/ext/pg_query/include/nodes/params.h +0 -170
- data/ext/pg_query/include/nodes/parsenodes.h +0 -3580
- data/ext/pg_query/include/nodes/pathnodes.h +0 -2557
- data/ext/pg_query/include/nodes/pg_list.h +0 -606
- data/ext/pg_query/include/nodes/plannodes.h +0 -1266
- data/ext/pg_query/include/nodes/primnodes.h +0 -1541
- data/ext/pg_query/include/nodes/print.h +0 -34
- data/ext/pg_query/include/nodes/tidbitmap.h +0 -75
- data/ext/pg_query/include/nodes/value.h +0 -61
- data/ext/pg_query/include/optimizer/cost.h +0 -206
- data/ext/pg_query/include/optimizer/geqo.h +0 -88
- data/ext/pg_query/include/optimizer/geqo_gene.h +0 -45
- data/ext/pg_query/include/optimizer/optimizer.h +0 -194
- data/ext/pg_query/include/optimizer/paths.h +0 -257
- data/ext/pg_query/include/optimizer/planmain.h +0 -119
- data/ext/pg_query/include/parser/analyze.h +0 -49
- data/ext/pg_query/include/parser/gram.h +0 -1067
- data/ext/pg_query/include/parser/gramparse.h +0 -75
- data/ext/pg_query/include/parser/kwlist.h +0 -477
- data/ext/pg_query/include/parser/parse_agg.h +0 -68
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_coerce.h +0 -98
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_expr.h +0 -26
- data/ext/pg_query/include/parser/parse_func.h +0 -73
- data/ext/pg_query/include/parser/parse_node.h +0 -327
- data/ext/pg_query/include/parser/parse_oper.h +0 -67
- data/ext/pg_query/include/parser/parse_relation.h +0 -123
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/include/parser/parse_type.h +0 -60
- data/ext/pg_query/include/parser/parser.h +0 -41
- data/ext/pg_query/include/parser/parsetree.h +0 -61
- data/ext/pg_query/include/parser/scanner.h +0 -152
- data/ext/pg_query/include/parser/scansup.h +0 -30
- data/ext/pg_query/include/partitioning/partdefs.h +0 -26
- data/ext/pg_query/include/pg_config.h +0 -995
- data/ext/pg_query/include/pg_config_manual.h +0 -357
- data/ext/pg_query/include/pg_config_os.h +0 -8
- data/ext/pg_query/include/pg_getopt.h +0 -56
- data/ext/pg_query/include/pg_trace.h +0 -17
- data/ext/pg_query/include/pgstat.h +0 -1488
- data/ext/pg_query/include/pgtime.h +0 -84
- data/ext/pg_query/include/pl_gram.h +0 -385
- data/ext/pg_query/include/pl_reserved_kwlist.h +0 -52
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +0 -114
- data/ext/pg_query/include/pl_unreserved_kwlist.h +0 -112
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +0 -246
- data/ext/pg_query/include/plerrcodes.h +0 -990
- data/ext/pg_query/include/plpgsql.h +0 -1347
- data/ext/pg_query/include/port/atomics/arch-arm.h +0 -26
- data/ext/pg_query/include/port/atomics/arch-ppc.h +0 -254
- data/ext/pg_query/include/port/atomics/arch-x86.h +0 -252
- data/ext/pg_query/include/port/atomics/fallback.h +0 -170
- data/ext/pg_query/include/port/atomics/generic-gcc.h +0 -286
- data/ext/pg_query/include/port/atomics/generic.h +0 -401
- data/ext/pg_query/include/port/atomics.h +0 -524
- data/ext/pg_query/include/port/pg_bitutils.h +0 -272
- data/ext/pg_query/include/port/pg_bswap.h +0 -161
- data/ext/pg_query/include/port/pg_crc32c.h +0 -101
- data/ext/pg_query/include/port.h +0 -528
- data/ext/pg_query/include/portability/instr_time.h +0 -256
- data/ext/pg_query/include/postgres.h +0 -764
- data/ext/pg_query/include/postgres_ext.h +0 -74
- data/ext/pg_query/include/postmaster/autovacuum.h +0 -83
- data/ext/pg_query/include/postmaster/bgworker.h +0 -161
- data/ext/pg_query/include/postmaster/bgworker_internals.h +0 -64
- data/ext/pg_query/include/postmaster/bgwriter.h +0 -45
- data/ext/pg_query/include/postmaster/fork_process.h +0 -17
- data/ext/pg_query/include/postmaster/interrupt.h +0 -32
- data/ext/pg_query/include/postmaster/pgarch.h +0 -39
- data/ext/pg_query/include/postmaster/postmaster.h +0 -77
- data/ext/pg_query/include/postmaster/syslogger.h +0 -98
- data/ext/pg_query/include/postmaster/walwriter.h +0 -21
- data/ext/pg_query/include/regex/regex.h +0 -184
- data/ext/pg_query/include/replication/logicallauncher.h +0 -31
- data/ext/pg_query/include/replication/logicalproto.h +0 -110
- data/ext/pg_query/include/replication/logicalworker.h +0 -19
- data/ext/pg_query/include/replication/origin.h +0 -73
- data/ext/pg_query/include/replication/reorderbuffer.h +0 -468
- data/ext/pg_query/include/replication/slot.h +0 -219
- data/ext/pg_query/include/replication/syncrep.h +0 -115
- data/ext/pg_query/include/replication/walreceiver.h +0 -340
- data/ext/pg_query/include/replication/walsender.h +0 -74
- data/ext/pg_query/include/rewrite/prs2lock.h +0 -46
- data/ext/pg_query/include/rewrite/rewriteHandler.h +0 -40
- data/ext/pg_query/include/rewrite/rewriteManip.h +0 -87
- data/ext/pg_query/include/rewrite/rewriteSupport.h +0 -26
- data/ext/pg_query/include/storage/backendid.h +0 -37
- data/ext/pg_query/include/storage/block.h +0 -121
- data/ext/pg_query/include/storage/buf.h +0 -46
- data/ext/pg_query/include/storage/bufmgr.h +0 -292
- data/ext/pg_query/include/storage/bufpage.h +0 -459
- data/ext/pg_query/include/storage/condition_variable.h +0 -62
- data/ext/pg_query/include/storage/dsm.h +0 -61
- data/ext/pg_query/include/storage/dsm_impl.h +0 -75
- data/ext/pg_query/include/storage/fd.h +0 -168
- data/ext/pg_query/include/storage/ipc.h +0 -81
- data/ext/pg_query/include/storage/item.h +0 -19
- data/ext/pg_query/include/storage/itemid.h +0 -184
- data/ext/pg_query/include/storage/itemptr.h +0 -206
- data/ext/pg_query/include/storage/large_object.h +0 -100
- data/ext/pg_query/include/storage/latch.h +0 -190
- data/ext/pg_query/include/storage/lmgr.h +0 -114
- data/ext/pg_query/include/storage/lock.h +0 -613
- data/ext/pg_query/include/storage/lockdefs.h +0 -59
- data/ext/pg_query/include/storage/lwlock.h +0 -233
- data/ext/pg_query/include/storage/lwlocknames.h +0 -51
- data/ext/pg_query/include/storage/off.h +0 -57
- data/ext/pg_query/include/storage/pg_sema.h +0 -61
- data/ext/pg_query/include/storage/pg_shmem.h +0 -90
- data/ext/pg_query/include/storage/pmsignal.h +0 -94
- data/ext/pg_query/include/storage/predicate.h +0 -87
- data/ext/pg_query/include/storage/proc.h +0 -347
- data/ext/pg_query/include/storage/proclist_types.h +0 -51
- data/ext/pg_query/include/storage/procsignal.h +0 -75
- data/ext/pg_query/include/storage/relfilenode.h +0 -99
- data/ext/pg_query/include/storage/s_lock.h +0 -1071
- data/ext/pg_query/include/storage/sharedfileset.h +0 -45
- data/ext/pg_query/include/storage/shm_mq.h +0 -85
- data/ext/pg_query/include/storage/shm_toc.h +0 -58
- data/ext/pg_query/include/storage/shmem.h +0 -81
- data/ext/pg_query/include/storage/sinval.h +0 -153
- data/ext/pg_query/include/storage/sinvaladt.h +0 -43
- data/ext/pg_query/include/storage/smgr.h +0 -109
- data/ext/pg_query/include/storage/spin.h +0 -77
- data/ext/pg_query/include/storage/standby.h +0 -91
- data/ext/pg_query/include/storage/standbydefs.h +0 -74
- data/ext/pg_query/include/storage/sync.h +0 -62
- data/ext/pg_query/include/tcop/cmdtag.h +0 -58
- data/ext/pg_query/include/tcop/cmdtaglist.h +0 -217
- data/ext/pg_query/include/tcop/deparse_utility.h +0 -108
- data/ext/pg_query/include/tcop/dest.h +0 -149
- data/ext/pg_query/include/tcop/fastpath.h +0 -21
- data/ext/pg_query/include/tcop/pquery.h +0 -51
- data/ext/pg_query/include/tcop/tcopprot.h +0 -89
- data/ext/pg_query/include/tcop/utility.h +0 -108
- data/ext/pg_query/include/tsearch/ts_cache.h +0 -98
- data/ext/pg_query/include/utils/acl.h +0 -312
- data/ext/pg_query/include/utils/aclchk_internal.h +0 -45
- data/ext/pg_query/include/utils/array.h +0 -459
- data/ext/pg_query/include/utils/builtins.h +0 -128
- data/ext/pg_query/include/utils/bytea.h +0 -27
- data/ext/pg_query/include/utils/catcache.h +0 -231
- data/ext/pg_query/include/utils/date.h +0 -90
- data/ext/pg_query/include/utils/datetime.h +0 -343
- data/ext/pg_query/include/utils/datum.h +0 -68
- data/ext/pg_query/include/utils/dsa.h +0 -123
- data/ext/pg_query/include/utils/dynahash.h +0 -19
- data/ext/pg_query/include/utils/elog.h +0 -439
- data/ext/pg_query/include/utils/errcodes.h +0 -352
- data/ext/pg_query/include/utils/expandeddatum.h +0 -159
- data/ext/pg_query/include/utils/expandedrecord.h +0 -231
- data/ext/pg_query/include/utils/float.h +0 -356
- data/ext/pg_query/include/utils/fmgroids.h +0 -2657
- data/ext/pg_query/include/utils/fmgrprotos.h +0 -2646
- data/ext/pg_query/include/utils/fmgrtab.h +0 -48
- data/ext/pg_query/include/utils/guc.h +0 -443
- data/ext/pg_query/include/utils/guc_tables.h +0 -272
- data/ext/pg_query/include/utils/hsearch.h +0 -149
- data/ext/pg_query/include/utils/inval.h +0 -65
- data/ext/pg_query/include/utils/lsyscache.h +0 -198
- data/ext/pg_query/include/utils/memdebug.h +0 -82
- data/ext/pg_query/include/utils/memutils.h +0 -225
- data/ext/pg_query/include/utils/numeric.h +0 -76
- data/ext/pg_query/include/utils/palloc.h +0 -136
- data/ext/pg_query/include/utils/partcache.h +0 -102
- data/ext/pg_query/include/utils/pg_locale.h +0 -119
- data/ext/pg_query/include/utils/pg_lsn.h +0 -29
- data/ext/pg_query/include/utils/pidfile.h +0 -56
- data/ext/pg_query/include/utils/plancache.h +0 -235
- data/ext/pg_query/include/utils/portal.h +0 -254
- data/ext/pg_query/include/utils/probes.h +0 -114
- data/ext/pg_query/include/utils/ps_status.h +0 -25
- data/ext/pg_query/include/utils/queryenvironment.h +0 -74
- data/ext/pg_query/include/utils/regproc.h +0 -28
- data/ext/pg_query/include/utils/rel.h +0 -643
- data/ext/pg_query/include/utils/relcache.h +0 -150
- data/ext/pg_query/include/utils/reltrigger.h +0 -81
- data/ext/pg_query/include/utils/resowner.h +0 -86
- data/ext/pg_query/include/utils/rls.h +0 -50
- data/ext/pg_query/include/utils/ruleutils.h +0 -44
- data/ext/pg_query/include/utils/sharedtuplestore.h +0 -61
- data/ext/pg_query/include/utils/snapmgr.h +0 -159
- data/ext/pg_query/include/utils/snapshot.h +0 -206
- data/ext/pg_query/include/utils/sortsupport.h +0 -276
- data/ext/pg_query/include/utils/syscache.h +0 -219
- data/ext/pg_query/include/utils/timeout.h +0 -88
- data/ext/pg_query/include/utils/timestamp.h +0 -116
- data/ext/pg_query/include/utils/tuplesort.h +0 -277
- data/ext/pg_query/include/utils/tuplestore.h +0 -91
- data/ext/pg_query/include/utils/typcache.h +0 -202
- data/ext/pg_query/include/utils/tzparser.h +0 -39
- data/ext/pg_query/include/utils/varlena.h +0 -39
- data/ext/pg_query/include/utils/xml.h +0 -84
- data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -659
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_backend_postmaster_postmaster.c +0 -2230
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -370
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1086
- data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1832
- data/ext/pg_query/src_common_string.c +0 -86
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_pgsleep.c +0 -69
- data/ext/pg_query/src_port_random.c +0 -31
- data/ext/pg_query/src_port_strnlen.c +0 -39
- /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
- /data/ext/pg_query/include/{pg_config_ext.h → postgres/pg_config_ext.h} +0 -0
@@ -2,6 +2,7 @@
|
|
2
2
|
* Symbols referenced in this file:
|
3
3
|
* - quote_identifier
|
4
4
|
* - quote_all_identifiers
|
5
|
+
* - quote_qualified_identifier
|
5
6
|
*--------------------------------------------------------------------
|
6
7
|
*/
|
7
8
|
|
@@ -11,7 +12,7 @@
|
|
11
12
|
* Functions to convert stored expressions/querytrees back to
|
12
13
|
* source text
|
13
14
|
*
|
14
|
-
* Portions Copyright (c) 1996-
|
15
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
15
16
|
* Portions Copyright (c) 1994, Regents of the University of California
|
16
17
|
*
|
17
18
|
*
|
@@ -29,10 +30,7 @@
|
|
29
30
|
#include "access/amapi.h"
|
30
31
|
#include "access/htup_details.h"
|
31
32
|
#include "access/relation.h"
|
32
|
-
#include "access/sysattr.h"
|
33
33
|
#include "access/table.h"
|
34
|
-
#include "catalog/dependency.h"
|
35
|
-
#include "catalog/indexing.h"
|
36
34
|
#include "catalog/pg_aggregate.h"
|
37
35
|
#include "catalog/pg_am.h"
|
38
36
|
#include "catalog/pg_authid.h"
|
@@ -60,7 +58,6 @@
|
|
60
58
|
#include "optimizer/optimizer.h"
|
61
59
|
#include "parser/parse_agg.h"
|
62
60
|
#include "parser/parse_func.h"
|
63
|
-
#include "parser/parse_node.h"
|
64
61
|
#include "parser/parse_oper.h"
|
65
62
|
#include "parser/parse_relation.h"
|
66
63
|
#include "parser/parser.h"
|
@@ -100,6 +97,11 @@
|
|
100
97
|
#define PRETTYFLAG_INDENT 0x0002
|
101
98
|
#define PRETTYFLAG_SCHEMA 0x0004
|
102
99
|
|
100
|
+
/* Standard conversion of a "bool pretty" option to detailed flags */
|
101
|
+
#define GET_PRETTY_FLAGS(pretty) \
|
102
|
+
((pretty) ? (PRETTYFLAG_PAREN | PRETTYFLAG_INDENT | PRETTYFLAG_SCHEMA) \
|
103
|
+
: PRETTYFLAG_INDENT)
|
104
|
+
|
103
105
|
/* Default line length for pretty-print wrapping: 0 means wrap always */
|
104
106
|
#define WRAP_COLUMN_DEFAULT 0
|
105
107
|
|
@@ -119,14 +121,16 @@ typedef struct
|
|
119
121
|
{
|
120
122
|
StringInfo buf; /* output buffer to append to */
|
121
123
|
List *namespaces; /* List of deparse_namespace nodes */
|
124
|
+
TupleDesc resultDesc; /* if top level of a view, the view's tupdesc */
|
125
|
+
List *targetList; /* Current query level's SELECT targetlist */
|
122
126
|
List *windowClause; /* Current query level's WINDOW clause */
|
123
|
-
List *windowTList; /* targetlist for resolving WINDOW clause */
|
124
127
|
int prettyFlags; /* enabling of pretty-print functions */
|
125
128
|
int wrapColumn; /* max line length, or -1 for no limit */
|
126
129
|
int indentLevel; /* current indent level for pretty-print */
|
127
130
|
bool varprefix; /* true to print prefixes on Vars */
|
128
|
-
|
129
|
-
|
131
|
+
bool colNamesVisible; /* do we care about output column names? */
|
132
|
+
bool inGroupBy; /* deparsing GROUP BY clause? */
|
133
|
+
bool varInOrderBy; /* deparsing simple Var in ORDER BY? */
|
130
134
|
Bitmapset *appendparents; /* if not null, map child Vars of these relids
|
131
135
|
* back to the parent rel */
|
132
136
|
} deparse_context;
|
@@ -182,6 +186,10 @@ typedef struct
|
|
182
186
|
List *outer_tlist; /* referent for OUTER_VAR Vars */
|
183
187
|
List *inner_tlist; /* referent for INNER_VAR Vars */
|
184
188
|
List *index_tlist; /* referent for INDEX_VAR Vars */
|
189
|
+
/* Special namespace representing a function signature: */
|
190
|
+
char *funcname;
|
191
|
+
int numargs;
|
192
|
+
char **argnames;
|
185
193
|
} deparse_namespace;
|
186
194
|
|
187
195
|
/*
|
@@ -347,17 +355,18 @@ static char *pg_get_indexdef_worker(Oid indexrelid, int colno,
|
|
347
355
|
bool attrsOnly, bool keysOnly,
|
348
356
|
bool showTblSpc, bool inherits,
|
349
357
|
int prettyFlags, bool missing_ok);
|
350
|
-
static char *pg_get_statisticsobj_worker(Oid statextid, bool
|
358
|
+
static char *pg_get_statisticsobj_worker(Oid statextid, bool columns_only,
|
359
|
+
bool missing_ok);
|
351
360
|
static char *pg_get_partkeydef_worker(Oid relid, int prettyFlags,
|
352
361
|
bool attrsOnly, bool missing_ok);
|
353
362
|
static char *pg_get_constraintdef_worker(Oid constraintId, bool fullCommand,
|
354
363
|
int prettyFlags, bool missing_ok);
|
355
|
-
static text *pg_get_expr_worker(text *expr, Oid relid,
|
356
|
-
int prettyFlags);
|
364
|
+
static text *pg_get_expr_worker(text *expr, Oid relid, int prettyFlags);
|
357
365
|
static int print_function_arguments(StringInfo buf, HeapTuple proctup,
|
358
366
|
bool print_table_args, bool print_defaults);
|
359
367
|
static void print_function_rettype(StringInfo buf, HeapTuple proctup);
|
360
368
|
static void print_function_trftypes(StringInfo buf, HeapTuple proctup);
|
369
|
+
static void print_function_sqlbody(StringInfo buf, HeapTuple proctup);
|
361
370
|
static void set_rtable_names(deparse_namespace *dpns, List *parent_namespaces,
|
362
371
|
Bitmapset *rels_used);
|
363
372
|
static void set_deparse_for_query(deparse_namespace *dpns, Query *query,
|
@@ -380,6 +389,8 @@ static void identify_join_columns(JoinExpr *j, RangeTblEntry *jrte,
|
|
380
389
|
deparse_columns *colinfo);
|
381
390
|
static char *get_rtable_name(int rtindex, deparse_context *context);
|
382
391
|
static void set_deparse_plan(deparse_namespace *dpns, Plan *plan);
|
392
|
+
static Plan *find_recursive_union(deparse_namespace *dpns,
|
393
|
+
WorkTableScan *wtscan);
|
383
394
|
static void push_child_plan(deparse_namespace *dpns, Plan *plan,
|
384
395
|
deparse_namespace *save_dpns);
|
385
396
|
static void pop_child_plan(deparse_namespace *dpns,
|
@@ -397,25 +408,19 @@ static void get_query_def(Query *query, StringInfo buf, List *parentnamespace,
|
|
397
408
|
int prettyFlags, int wrapColumn, int startIndent);
|
398
409
|
static void get_values_def(List *values_lists, deparse_context *context);
|
399
410
|
static void get_with_clause(Query *query, deparse_context *context);
|
400
|
-
static void get_select_query_def(Query *query, deparse_context *context
|
401
|
-
|
402
|
-
static void
|
403
|
-
bool colNamesVisible);
|
404
|
-
static void get_update_query_def(Query *query, deparse_context *context,
|
405
|
-
bool colNamesVisible);
|
411
|
+
static void get_select_query_def(Query *query, deparse_context *context);
|
412
|
+
static void get_insert_query_def(Query *query, deparse_context *context);
|
413
|
+
static void get_update_query_def(Query *query, deparse_context *context);
|
406
414
|
static void get_update_query_targetlist_def(Query *query, List *targetList,
|
407
415
|
deparse_context *context,
|
408
416
|
RangeTblEntry *rte);
|
409
|
-
static void get_delete_query_def(Query *query, deparse_context *context
|
410
|
-
|
417
|
+
static void get_delete_query_def(Query *query, deparse_context *context);
|
418
|
+
static void get_merge_query_def(Query *query, deparse_context *context);
|
411
419
|
static void get_utility_query_def(Query *query, deparse_context *context);
|
412
|
-
static void get_basic_select_query(Query *query, deparse_context *context
|
413
|
-
|
414
|
-
static void get_target_list(List *targetList, deparse_context *context,
|
415
|
-
TupleDesc resultDesc, bool colNamesVisible);
|
420
|
+
static void get_basic_select_query(Query *query, deparse_context *context);
|
421
|
+
static void get_target_list(List *targetList, deparse_context *context);
|
416
422
|
static void get_setop_query(Node *setOp, Query *query,
|
417
|
-
deparse_context *context
|
418
|
-
TupleDesc resultDesc, bool colNamesVisible);
|
423
|
+
deparse_context *context);
|
419
424
|
static Node *get_rule_sortgroupclause(Index ref, List *tlist,
|
420
425
|
bool force_colno,
|
421
426
|
deparse_context *context);
|
@@ -434,6 +439,10 @@ static void resolve_special_varno(Node *node, deparse_context *context,
|
|
434
439
|
rsv_callback callback, void *callback_arg);
|
435
440
|
static Node *find_param_referent(Param *param, deparse_context *context,
|
436
441
|
deparse_namespace **dpns_p, ListCell **ancestor_cell_p);
|
442
|
+
static SubPlan *find_param_generator(Param *param, deparse_context *context,
|
443
|
+
int *column_p);
|
444
|
+
static SubPlan *find_param_generator_initplan(Param *param, Plan *plan,
|
445
|
+
int *column_p);
|
437
446
|
static void get_parameter(Param *param, deparse_context *context);
|
438
447
|
static const char *get_simple_binary_op_name(OpExpr *expr);
|
439
448
|
static bool isSimpleNode(Node *node, Node *parentNode, int prettyFlags);
|
@@ -454,15 +463,33 @@ static void get_func_expr(FuncExpr *expr, deparse_context *context,
|
|
454
463
|
bool showimplicit);
|
455
464
|
static void get_agg_expr(Aggref *aggref, deparse_context *context,
|
456
465
|
Aggref *original_aggref);
|
466
|
+
static void get_agg_expr_helper(Aggref *aggref, deparse_context *context,
|
467
|
+
Aggref *original_aggref, const char *funcname,
|
468
|
+
const char *options, bool is_json_objectagg);
|
457
469
|
static void get_agg_combine_expr(Node *node, deparse_context *context,
|
458
470
|
void *callback_arg);
|
459
471
|
static void get_windowfunc_expr(WindowFunc *wfunc, deparse_context *context);
|
472
|
+
static void get_windowfunc_expr_helper(WindowFunc *wfunc, deparse_context *context,
|
473
|
+
const char *funcname, const char *options,
|
474
|
+
bool is_json_objectagg);
|
475
|
+
static bool get_func_sql_syntax(FuncExpr *expr, deparse_context *context);
|
460
476
|
static void get_coercion_expr(Node *arg, deparse_context *context,
|
461
477
|
Oid resulttype, int32 resulttypmod,
|
462
478
|
Node *parentNode);
|
463
479
|
static void get_const_expr(Const *constval, deparse_context *context,
|
464
480
|
int showtype);
|
465
481
|
static void get_const_collation(Const *constval, deparse_context *context);
|
482
|
+
static void get_json_format(JsonFormat *format, StringInfo buf);
|
483
|
+
static void get_json_returning(JsonReturning *returning, StringInfo buf,
|
484
|
+
bool json_format_by_default);
|
485
|
+
static void get_json_constructor(JsonConstructorExpr *ctor,
|
486
|
+
deparse_context *context, bool showimplicit);
|
487
|
+
static void get_json_constructor_options(JsonConstructorExpr *ctor,
|
488
|
+
StringInfo buf);
|
489
|
+
static void get_json_agg_constructor(JsonConstructorExpr *ctor,
|
490
|
+
deparse_context *context,
|
491
|
+
const char *funcname,
|
492
|
+
bool is_json_objectagg);
|
466
493
|
static void simple_quote_literal(StringInfo buf, const char *val);
|
467
494
|
static void get_sublink_expr(SubLink *sublink, deparse_context *context);
|
468
495
|
static void get_tablefunc(TableFunc *tf, deparse_context *context,
|
@@ -471,6 +498,8 @@ static void get_from_clause(Query *query, const char *prefix,
|
|
471
498
|
deparse_context *context);
|
472
499
|
static void get_from_clause_item(Node *jtnode, Query *query,
|
473
500
|
deparse_context *context);
|
501
|
+
static void get_rte_alias(RangeTblEntry *rte, int varno, bool use_as,
|
502
|
+
deparse_context *context);
|
474
503
|
static void get_column_alias_list(deparse_columns *colinfo,
|
475
504
|
deparse_context *context);
|
476
505
|
static void get_from_clause_coldeflist(RangeTblFunction *rtfunc,
|
@@ -488,13 +517,22 @@ static char *generate_qualified_relation_name(Oid relid);
|
|
488
517
|
static char *generate_function_name(Oid funcid, int nargs,
|
489
518
|
List *argnames, Oid *argtypes,
|
490
519
|
bool has_variadic, bool *use_variadic_p,
|
491
|
-
|
520
|
+
bool inGroupBy);
|
492
521
|
static char *generate_operator_name(Oid operid, Oid arg1, Oid arg2);
|
493
522
|
static void add_cast_to(StringInfo buf, Oid typid);
|
494
523
|
static char *generate_qualified_type_name(Oid typid);
|
495
524
|
static text *string_to_text(char *str);
|
496
525
|
static char *flatten_reloptions(Oid relid);
|
497
526
|
static void get_reloptions(StringInfo buf, Datum reloptions);
|
527
|
+
static void get_json_path_spec(Node *path_spec, deparse_context *context,
|
528
|
+
bool showimplicit);
|
529
|
+
static void get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan,
|
530
|
+
deparse_context *context,
|
531
|
+
bool showimplicit);
|
532
|
+
static void get_json_table_nested_columns(TableFunc *tf, JsonTablePlan *plan,
|
533
|
+
deparse_context *context,
|
534
|
+
bool showimplicit,
|
535
|
+
bool needcomma);
|
498
536
|
|
499
537
|
#define only_marker(rte) ((rte)->inh ? "" : "ONLY ")
|
500
538
|
|
@@ -572,6 +610,9 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
572
610
|
/* Internal version that just reports the key-column definitions */
|
573
611
|
|
574
612
|
|
613
|
+
/* Internal version, extensible with flags to control its behavior */
|
614
|
+
|
615
|
+
|
575
616
|
/*
|
576
617
|
* Internal workhorse to decompile an index definition.
|
577
618
|
*
|
@@ -580,23 +621,52 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
580
621
|
*/
|
581
622
|
|
582
623
|
|
624
|
+
/* ----------
|
625
|
+
* pg_get_querydef
|
626
|
+
*
|
627
|
+
* Public entry point to deparse one query parsetree.
|
628
|
+
* The pretty flags are determined by GET_PRETTY_FLAGS(pretty).
|
629
|
+
*
|
630
|
+
* The result is a palloc'd C string.
|
631
|
+
* ----------
|
632
|
+
*/
|
633
|
+
|
634
|
+
|
583
635
|
/*
|
584
636
|
* pg_get_statisticsobjdef
|
585
637
|
* Get the definition of an extended statistics object
|
586
638
|
*/
|
587
639
|
|
588
640
|
|
641
|
+
/*
|
642
|
+
* Internal version for use by ALTER TABLE.
|
643
|
+
* Includes a tablespace clause in the result.
|
644
|
+
* Returns a palloc'd C string; no pretty-printing.
|
645
|
+
*/
|
646
|
+
|
647
|
+
|
648
|
+
/*
|
649
|
+
* pg_get_statisticsobjdef_columns
|
650
|
+
* Get columns and expressions for an extended statistics object
|
651
|
+
*/
|
652
|
+
|
653
|
+
|
589
654
|
/*
|
590
655
|
* Internal workhorse to decompile an extended statistics object.
|
591
656
|
*/
|
592
657
|
|
593
658
|
|
659
|
+
/*
|
660
|
+
* Generate text array of expressions for statistics object.
|
661
|
+
*/
|
662
|
+
|
663
|
+
|
594
664
|
/*
|
595
665
|
* pg_get_partkeydef
|
596
666
|
*
|
597
667
|
* Returns the partition key specification, ie, the following:
|
598
668
|
*
|
599
|
-
*
|
669
|
+
* { RANGE | LIST | HASH } (column opt_collation opt_opclass [, ...])
|
600
670
|
*/
|
601
671
|
|
602
672
|
|
@@ -663,6 +733,17 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
663
733
|
* the one specified by the second parameter. This is sufficient for
|
664
734
|
* partial indexes, column default expressions, etc. We also support
|
665
735
|
* Var-free expressions, for which the OID can be InvalidOid.
|
736
|
+
*
|
737
|
+
* If the OID is nonzero but not actually valid, don't throw an error,
|
738
|
+
* just return NULL. This is a bit questionable, but it's what we've
|
739
|
+
* done historically, and it can help avoid unwanted failures when
|
740
|
+
* examining catalog entries for just-deleted relations.
|
741
|
+
*
|
742
|
+
* We expect this function to work, or throw a reasonably clean error,
|
743
|
+
* for any node tree that can appear in a catalog pg_node_tree column.
|
744
|
+
* Query trees, such as those appearing in pg_rewrite.ev_action, are
|
745
|
+
* not supported. Nor are expressions in more than one relation, which
|
746
|
+
* can appear in places like pg_rewrite.ev_qual.
|
666
747
|
* ----------
|
667
748
|
*/
|
668
749
|
|
@@ -697,8 +778,8 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
697
778
|
*
|
698
779
|
* Note: if you change the output format of this function, be careful not
|
699
780
|
* to break psql's rules (in \ef and \sf) for identifying the start of the
|
700
|
-
* function body. To wit: the function body starts on a line that begins
|
701
|
-
*
|
781
|
+
* function body. To wit: the function body starts on a line that begins with
|
782
|
+
* "AS ", "BEGIN ", or "RETURN ", and no preceding line will look like that.
|
702
783
|
*/
|
703
784
|
|
704
785
|
|
@@ -756,6 +837,10 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
756
837
|
|
757
838
|
|
758
839
|
|
840
|
+
|
841
|
+
|
842
|
+
|
843
|
+
|
759
844
|
/*
|
760
845
|
* deparse_expression - General utility for deparsing expressions
|
761
846
|
*
|
@@ -975,13 +1060,20 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
975
1060
|
* of a given Plan node
|
976
1061
|
*
|
977
1062
|
* This sets the plan, outer_plan, inner_plan, outer_tlist, inner_tlist,
|
978
|
-
* and index_tlist fields. Caller
|
1063
|
+
* and index_tlist fields. Caller must already have adjusted the ancestors
|
979
1064
|
* list if necessary. Note that the rtable, subplans, and ctes fields do
|
980
1065
|
* not need to change when shifting attention to different plan nodes in a
|
981
1066
|
* single plan tree.
|
982
1067
|
*/
|
983
1068
|
|
984
1069
|
|
1070
|
+
/*
|
1071
|
+
* Locate the ancestor plan node that is the RecursiveUnion generating
|
1072
|
+
* the WorkTableScan's work table. We can match on wtParam, since that
|
1073
|
+
* should be unique within the plan tree.
|
1074
|
+
*/
|
1075
|
+
|
1076
|
+
|
985
1077
|
/*
|
986
1078
|
* push_child_plan: temporarily transfer deparsing attention to a child plan
|
987
1079
|
*
|
@@ -1089,9 +1181,7 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1089
1181
|
/* ----------
|
1090
1182
|
* get_target_list - Parse back a SELECT target list
|
1091
1183
|
*
|
1092
|
-
* This is also used for RETURNING lists in INSERT/UPDATE/DELETE.
|
1093
|
-
*
|
1094
|
-
* resultDesc and colNamesVisible are as for get_query_def()
|
1184
|
+
* This is also used for RETURNING lists in INSERT/UPDATE/DELETE/MERGE.
|
1095
1185
|
* ----------
|
1096
1186
|
*/
|
1097
1187
|
|
@@ -1156,6 +1246,13 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1156
1246
|
|
1157
1247
|
|
1158
1248
|
|
1249
|
+
/* ----------
|
1250
|
+
* get_merge_query_def - Parse back a MERGE parsetree
|
1251
|
+
* ----------
|
1252
|
+
*/
|
1253
|
+
|
1254
|
+
|
1255
|
+
|
1159
1256
|
/* ----------
|
1160
1257
|
* get_utility_query_def - Parse back a UTILITY parsetree
|
1161
1258
|
* ----------
|
@@ -1228,6 +1325,20 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1228
1325
|
*/
|
1229
1326
|
|
1230
1327
|
|
1328
|
+
/*
|
1329
|
+
* Try to find a subplan/initplan that emits the value for a PARAM_EXEC Param.
|
1330
|
+
*
|
1331
|
+
* If successful, return the generating subplan/initplan and set *column_p
|
1332
|
+
* to the subplan's 0-based output column number.
|
1333
|
+
* Otherwise, return NULL.
|
1334
|
+
*/
|
1335
|
+
|
1336
|
+
|
1337
|
+
/*
|
1338
|
+
* Subroutine for find_param_generator: search one Plan node's initplans
|
1339
|
+
*/
|
1340
|
+
|
1341
|
+
|
1231
1342
|
/*
|
1232
1343
|
* Display a Param appropriately.
|
1233
1344
|
*/
|
@@ -1281,6 +1392,15 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1281
1392
|
|
1282
1393
|
|
1283
1394
|
|
1395
|
+
|
1396
|
+
/*
|
1397
|
+
* get_json_expr_options
|
1398
|
+
*
|
1399
|
+
* Parse back common options for JSON_QUERY, JSON_VALUE, JSON_EXISTS and
|
1400
|
+
* JSON_TABLE columns.
|
1401
|
+
*/
|
1402
|
+
|
1403
|
+
|
1284
1404
|
/* ----------
|
1285
1405
|
* get_rule_expr - Parse back an expression
|
1286
1406
|
*
|
@@ -1355,6 +1475,12 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1355
1475
|
*/
|
1356
1476
|
|
1357
1477
|
|
1478
|
+
/*
|
1479
|
+
* get_agg_expr_helper - subroutine for get_agg_expr and
|
1480
|
+
* get_json_agg_constructor
|
1481
|
+
*/
|
1482
|
+
|
1483
|
+
|
1358
1484
|
/*
|
1359
1485
|
* This is a helper function for get_agg_expr(). It's used when we deparse
|
1360
1486
|
* a combining Aggref; resolve_special_varno locates the corresponding partial
|
@@ -1367,6 +1493,21 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1367
1493
|
*/
|
1368
1494
|
|
1369
1495
|
|
1496
|
+
|
1497
|
+
/*
|
1498
|
+
* get_windowfunc_expr_helper - subroutine for get_windowfunc_expr and
|
1499
|
+
* get_json_agg_constructor
|
1500
|
+
*/
|
1501
|
+
|
1502
|
+
|
1503
|
+
/*
|
1504
|
+
* get_func_sql_syntax - Parse back a SQL-syntax function call
|
1505
|
+
*
|
1506
|
+
* Returns true if we successfully deparsed, false if we did not
|
1507
|
+
* recognize the function.
|
1508
|
+
*/
|
1509
|
+
|
1510
|
+
|
1370
1511
|
/* ----------
|
1371
1512
|
* get_coercion_expr
|
1372
1513
|
*
|
@@ -1397,6 +1538,36 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1397
1538
|
*/
|
1398
1539
|
|
1399
1540
|
|
1541
|
+
/*
|
1542
|
+
* get_json_path_spec - Parse back a JSON path specification
|
1543
|
+
*/
|
1544
|
+
|
1545
|
+
|
1546
|
+
/*
|
1547
|
+
* get_json_format - Parse back a JsonFormat node
|
1548
|
+
*/
|
1549
|
+
|
1550
|
+
|
1551
|
+
/*
|
1552
|
+
* get_json_returning - Parse back a JsonReturning structure
|
1553
|
+
*/
|
1554
|
+
|
1555
|
+
|
1556
|
+
/*
|
1557
|
+
* get_json_constructor - Parse back a JsonConstructorExpr node
|
1558
|
+
*/
|
1559
|
+
|
1560
|
+
|
1561
|
+
/*
|
1562
|
+
* Append options, if any, to the JSON constructor being deparsed
|
1563
|
+
*/
|
1564
|
+
|
1565
|
+
|
1566
|
+
/*
|
1567
|
+
* get_json_agg_constructor - Parse back an aggregate JsonConstructorExpr node
|
1568
|
+
*/
|
1569
|
+
|
1570
|
+
|
1400
1571
|
/*
|
1401
1572
|
* simple_quote_literal - Format a string as a SQL literal, append to buf
|
1402
1573
|
*/
|
@@ -1410,6 +1581,28 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1410
1581
|
|
1411
1582
|
|
1412
1583
|
|
1584
|
+
/* ----------
|
1585
|
+
* get_xmltable - Parse back a XMLTABLE function
|
1586
|
+
* ----------
|
1587
|
+
*/
|
1588
|
+
|
1589
|
+
|
1590
|
+
/*
|
1591
|
+
* get_json_table_nested_columns - Parse back nested JSON_TABLE columns
|
1592
|
+
*/
|
1593
|
+
|
1594
|
+
|
1595
|
+
/*
|
1596
|
+
* get_json_table_columns - Parse back JSON_TABLE columns
|
1597
|
+
*/
|
1598
|
+
|
1599
|
+
|
1600
|
+
/* ----------
|
1601
|
+
* get_json_table - Parse back a JSON_TABLE function
|
1602
|
+
* ----------
|
1603
|
+
*/
|
1604
|
+
|
1605
|
+
|
1413
1606
|
/* ----------
|
1414
1607
|
* get_tablefunc - Parse back a table function
|
1415
1608
|
* ----------
|
@@ -1428,6 +1621,13 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1428
1621
|
|
1429
1622
|
|
1430
1623
|
|
1624
|
+
/*
|
1625
|
+
* get_rte_alias - print the relation's alias, if needed
|
1626
|
+
*
|
1627
|
+
* If printed, the alias is preceded by a space, or by " AS " if use_as is true.
|
1628
|
+
*/
|
1629
|
+
|
1630
|
+
|
1431
1631
|
/*
|
1432
1632
|
* get_column_alias_list - print column alias list for an RTE
|
1433
1633
|
*
|
@@ -1467,7 +1667,7 @@ static void get_reloptions(StringInfo buf, Datum reloptions);
|
|
1467
1667
|
|
1468
1668
|
/*
|
1469
1669
|
* generate_opclass_name
|
1470
|
-
* Compute the name to display for
|
1670
|
+
* Compute the name to display for an opclass specified by OID
|
1471
1671
|
*
|
1472
1672
|
* The result includes all necessary quoting and schema-prefixing.
|
1473
1673
|
*/
|
@@ -1578,7 +1778,18 @@ quote_identifier(const char *ident)
|
|
1578
1778
|
* Return a name of the form qualifier.ident, or just ident if qualifier
|
1579
1779
|
* is NULL, quoting each component if necessary. The result is palloc'd.
|
1580
1780
|
*/
|
1781
|
+
char *
|
1782
|
+
quote_qualified_identifier(const char *qualifier,
|
1783
|
+
const char *ident)
|
1784
|
+
{
|
1785
|
+
StringInfoData buf;
|
1581
1786
|
|
1787
|
+
initStringInfo(&buf);
|
1788
|
+
if (qualifier)
|
1789
|
+
appendStringInfo(&buf, "%s.", quote_identifier(qualifier));
|
1790
|
+
appendStringInfoString(&buf, quote_identifier(ident));
|
1791
|
+
return buf.data;
|
1792
|
+
}
|
1582
1793
|
|
1583
1794
|
/*
|
1584
1795
|
* get_relation_name
|
@@ -1622,6 +1833,8 @@ quote_identifier(const char *ident)
|
|
1622
1833
|
* the output. For non-FuncExpr cases, has_variadic should be false and
|
1623
1834
|
* use_variadic_p can be NULL.
|
1624
1835
|
*
|
1836
|
+
* inGroupBy must be true if we're deparsing a GROUP BY clause.
|
1837
|
+
*
|
1625
1838
|
* The result includes all necessary quoting and schema-prefixing.
|
1626
1839
|
*/
|
1627
1840
|
|
@@ -7,18 +7,15 @@
|
|
7
7
|
/*-------------------------------------------------------------------------
|
8
8
|
*
|
9
9
|
* assert.c
|
10
|
-
* Assert code.
|
10
|
+
* Assert support code.
|
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
|
*
|
16
16
|
* IDENTIFICATION
|
17
17
|
* src/backend/utils/error/assert.c
|
18
18
|
*
|
19
|
-
* NOTE
|
20
|
-
* This should eventually work with elog()
|
21
|
-
*
|
22
19
|
*-------------------------------------------------------------------------
|
23
20
|
*/
|
24
21
|
#include "postgres.h"
|
@@ -30,27 +27,29 @@
|
|
30
27
|
|
31
28
|
/*
|
32
29
|
* ExceptionalCondition - Handles the failure of an Assert()
|
30
|
+
*
|
31
|
+
* We intentionally do not go through elog() here, on the grounds of
|
32
|
+
* wanting to minimize the amount of infrastructure that has to be
|
33
|
+
* working to report an assertion failure.
|
33
34
|
*/
|
34
35
|
void
|
35
36
|
ExceptionalCondition(const char *conditionName,
|
36
|
-
const char *errorType,
|
37
37
|
const char *fileName,
|
38
38
|
int lineNumber)
|
39
39
|
{
|
40
|
+
/* Report the failure on stderr (or local equivalent) */
|
40
41
|
if (!PointerIsValid(conditionName)
|
41
|
-
|| !PointerIsValid(fileName)
|
42
|
-
|
43
|
-
|
42
|
+
|| !PointerIsValid(fileName))
|
43
|
+
write_stderr("TRAP: ExceptionalCondition: bad arguments in PID %d\n",
|
44
|
+
(int) getpid());
|
44
45
|
else
|
45
|
-
|
46
|
-
|
47
|
-
errorType, conditionName,
|
48
|
-
fileName, lineNumber);
|
49
|
-
}
|
46
|
+
write_stderr("TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n",
|
47
|
+
conditionName, fileName, lineNumber, (int) getpid());
|
50
48
|
|
51
49
|
/* Usually this shouldn't be needed, but make sure the msg went out */
|
52
50
|
fflush(stderr);
|
53
51
|
|
52
|
+
/* If we have support for it, dump a simple backtrace */
|
54
53
|
#ifdef HAVE_BACKTRACE_SYMBOLS
|
55
54
|
{
|
56
55
|
void *buf[100];
|
@@ -61,12 +60,12 @@ ExceptionalCondition(const char *conditionName,
|
|
61
60
|
}
|
62
61
|
#endif
|
63
62
|
|
64
|
-
#ifdef SLEEP_ON_ASSERT
|
65
|
-
|
66
63
|
/*
|
67
|
-
*
|
68
|
-
*
|
64
|
+
* If configured to do so, sleep indefinitely to allow user to attach a
|
65
|
+
* debugger. It would be nice to use pg_usleep() here, but that can sleep
|
66
|
+
* at most 2G usec or ~33 minutes, which seems too short.
|
69
67
|
*/
|
68
|
+
#ifdef SLEEP_ON_ASSERT
|
70
69
|
sleep(1000000);
|
71
70
|
#endif
|
72
71
|
|