pg_query 5.1.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 +30 -0
- data/README.md +1 -1
- data/Rakefile +4 -4
- 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 +20 -6
- data/ext/pg_query/include/pg_query.h +4 -3
- data/ext/pg_query/include/pg_query_enum_defs.c +424 -154
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +68 -4
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +2952 -1845
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +51 -3
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +210 -23
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +17 -1
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +271 -52
- data/ext/pg_query/include/postgres/access/amapi.h +14 -3
- data/ext/pg_query/include/postgres/access/attmap.h +1 -1
- data/ext/pg_query/include/postgres/access/attnum.h +1 -1
- 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 +2 -3
- data/ext/pg_query/include/postgres/access/commit_ts.h +2 -3
- data/ext/pg_query/include/postgres/access/detoast.h +1 -1
- data/ext/pg_query/include/postgres/access/genam.h +17 -4
- data/ext/pg_query/include/postgres/access/gin.h +1 -1
- data/ext/pg_query/include/postgres/access/htup.h +1 -1
- data/ext/pg_query/include/postgres/access/htup_details.h +11 -11
- data/ext/pg_query/include/postgres/access/itup.h +3 -3
- data/ext/pg_query/include/postgres/access/parallel.h +1 -2
- data/ext/pg_query/include/postgres/access/printtup.h +1 -1
- data/ext/pg_query/include/postgres/access/relation.h +1 -1
- data/ext/pg_query/include/postgres/access/relscan.h +1 -1
- data/ext/pg_query/include/postgres/access/rmgrlist.h +1 -1
- data/ext/pg_query/include/postgres/access/sdir.h +1 -1
- data/ext/pg_query/include/postgres/access/skey.h +1 -1
- data/ext/pg_query/include/postgres/access/slru.h +218 -0
- data/ext/pg_query/include/postgres/access/stratnum.h +1 -1
- data/ext/pg_query/include/postgres/access/sysattr.h +1 -1
- data/ext/pg_query/include/postgres/access/table.h +1 -1
- data/ext/pg_query/include/postgres/access/tableam.h +35 -25
- data/ext/pg_query/include/postgres/access/tidstore.h +50 -0
- data/ext/pg_query/include/postgres/access/toast_compression.h +2 -2
- data/ext/pg_query/include/postgres/access/transam.h +50 -7
- data/ext/pg_query/include/postgres/access/tsmapi.h +1 -1
- data/ext/pg_query/include/postgres/access/tupconvert.h +1 -1
- data/ext/pg_query/include/postgres/access/tupdesc.h +5 -5
- data/ext/pg_query/include/postgres/access/tupmacs.h +1 -1
- data/ext/pg_query/include/postgres/access/twophase.h +2 -2
- data/ext/pg_query/include/postgres/access/xact.h +5 -5
- data/ext/pg_query/include/postgres/access/xlog.h +20 -12
- data/ext/pg_query/include/postgres/access/xlog_internal.h +4 -3
- data/ext/pg_query/include/postgres/access/xlogbackup.h +3 -1
- data/ext/pg_query/include/postgres/access/xlogdefs.h +5 -5
- data/ext/pg_query/include/postgres/access/xlogprefetcher.h +2 -2
- data/ext/pg_query/include/postgres/access/xlogreader.h +2 -2
- data/ext/pg_query/include/postgres/access/xlogrecord.h +3 -3
- data/ext/pg_query/include/postgres/access/xlogrecovery.h +4 -4
- data/ext/pg_query/include/postgres/archive/archive_module.h +9 -1
- data/ext/pg_query/include/postgres/c.h +32 -37
- data/ext/pg_query/include/postgres/catalog/catalog.h +3 -1
- data/ext/pg_query/include/postgres/catalog/catversion.h +2 -2
- data/ext/pg_query/include/postgres/catalog/dependency.h +17 -59
- data/ext/pg_query/include/postgres/catalog/genbki.h +12 -6
- data/ext/pg_query/include/postgres/catalog/index.h +22 -18
- data/ext/pg_query/include/postgres/catalog/indexing.h +1 -1
- data/ext/pg_query/include/postgres/catalog/namespace.h +18 -19
- data/ext/pg_query/include/postgres/catalog/objectaccess.h +2 -2
- data/ext/pg_query/include/postgres/catalog/objectaddress.h +5 -1
- data/ext/pg_query/include/postgres/catalog/pg_aggregate.h +4 -2
- data/ext/pg_query/include/postgres/catalog/pg_aggregate_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_am.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_am_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_attribute.h +31 -14
- data/ext/pg_query/include/postgres/catalog/pg_attribute_d.h +3 -3
- data/ext/pg_query/include/postgres/catalog/pg_authid.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_authid_d.h +2 -1
- data/ext/pg_query/include/postgres/catalog/pg_class.h +10 -5
- data/ext/pg_query/include/postgres/catalog/pg_class_d.h +4 -2
- data/ext/pg_query/include/postgres/catalog/pg_collation.h +11 -5
- data/ext/pg_query/include/postgres/catalog/pg_collation_d.h +5 -2
- data/ext/pg_query/include/postgres/catalog/pg_constraint.h +15 -10
- data/ext/pg_query/include/postgres/catalog/pg_constraint_d.h +2 -1
- data/ext/pg_query/include/postgres/catalog/pg_control.h +5 -3
- data/ext/pg_query/include/postgres/catalog/pg_conversion.h +8 -4
- data/ext/pg_query/include/postgres/catalog/pg_conversion_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_database.h +9 -4
- data/ext/pg_query/include/postgres/catalog/pg_database_d.h +13 -12
- data/ext/pg_query/include/postgres/catalog/pg_depend.h +3 -3
- data/ext/pg_query/include/postgres/catalog/pg_depend_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_event_trigger_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_index.h +5 -3
- data/ext/pg_query/include/postgres/catalog/pg_index_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_language.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_language_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_namespace.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_namespace_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_opclass.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_opclass_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_operator.h +20 -3
- data/ext/pg_query/include/postgres/catalog/pg_operator_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_opfamily.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_opfamily_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table.h +4 -2
- data/ext/pg_query/include/postgres/catalog/pg_partitioned_table_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_proc.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_proc_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_publication.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_publication_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_replication_origin_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_statistic.h +10 -4
- data/ext/pg_query/include/postgres/catalog/pg_statistic_d.h +7 -3
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext.h +10 -7
- data/ext/pg_query/include/postgres/catalog/pg_statistic_ext_d.h +3 -3
- data/ext/pg_query/include/postgres/catalog/pg_transform.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_transform_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_trigger.h +4 -4
- data/ext/pg_query/include/postgres/catalog/pg_trigger_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_config.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_config_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_dict_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_parser_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_ts_template.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_ts_template_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/pg_type.h +6 -3
- data/ext/pg_query/include/postgres/catalog/pg_type_d.h +1 -1
- data/ext/pg_query/include/postgres/catalog/storage.h +1 -1
- data/ext/pg_query/include/postgres/catalog/syscache_ids.h +104 -0
- data/ext/pg_query/include/postgres/commands/async.h +2 -6
- data/ext/pg_query/include/postgres/commands/dbcommands.h +1 -1
- data/ext/pg_query/include/postgres/commands/defrem.h +6 -6
- data/ext/pg_query/include/postgres/commands/event_trigger.h +11 -2
- data/ext/pg_query/include/postgres/commands/explain.h +19 -3
- data/ext/pg_query/include/postgres/commands/prepare.h +1 -1
- data/ext/pg_query/include/postgres/commands/tablespace.h +1 -1
- data/ext/pg_query/include/postgres/commands/trigger.h +1 -1
- data/ext/pg_query/include/postgres/commands/vacuum.h +28 -26
- data/ext/pg_query/include/postgres/common/cryptohash.h +2 -2
- data/ext/pg_query/include/postgres/common/file_perm.h +1 -1
- data/ext/pg_query/include/postgres/common/file_utils.h +65 -0
- data/ext/pg_query/include/postgres/common/hashfn.h +16 -1
- data/ext/pg_query/include/postgres/common/hashfn_unstable.h +407 -0
- data/ext/pg_query/include/postgres/common/int.h +79 -4
- data/ext/pg_query/include/postgres/common/keywords.h +1 -1
- data/ext/pg_query/include/postgres/common/kwlookup.h +1 -1
- data/ext/pg_query/include/postgres/common/pg_prng.h +2 -1
- data/ext/pg_query/include/postgres/common/relpath.h +4 -4
- data/ext/pg_query/include/postgres/common/scram-common.h +1 -1
- data/ext/pg_query/include/postgres/common/sha2.h +1 -1
- data/ext/pg_query/include/postgres/common/string.h +1 -1
- data/ext/pg_query/include/postgres/common/unicode_east_asian_fw_table.h +2 -3
- data/ext/pg_query/include/postgres/copyfuncs.funcs.c +278 -30
- data/ext/pg_query/include/postgres/copyfuncs.switch.c +55 -4
- data/ext/pg_query/include/postgres/datatype/timestamp.h +29 -3
- data/ext/pg_query/include/postgres/equalfuncs.funcs.c +239 -26
- data/ext/pg_query/include/postgres/equalfuncs.switch.c +55 -4
- data/ext/pg_query/include/postgres/executor/execdesc.h +2 -2
- data/ext/pg_query/include/postgres/executor/executor.h +6 -5
- data/ext/pg_query/include/postgres/executor/functions.h +2 -1
- data/ext/pg_query/include/postgres/executor/instrument.h +5 -3
- data/ext/pg_query/include/postgres/executor/spi.h +2 -8
- data/ext/pg_query/include/postgres/executor/tablefunc.h +1 -1
- data/ext/pg_query/include/postgres/executor/tuptable.h +31 -2
- data/ext/pg_query/include/postgres/fmgr.h +2 -2
- data/ext/pg_query/include/postgres/foreign/fdwapi.h +1 -1
- data/ext/pg_query/include/postgres/funcapi.h +2 -2
- data/ext/pg_query/include/postgres/gram.h +871 -830
- data/ext/pg_query/include/postgres/gramparse.h +1 -1
- data/ext/pg_query/include/postgres/jit/jit.h +4 -3
- data/ext/pg_query/include/postgres/kwlist_d.h +511 -466
- data/ext/pg_query/include/postgres/lib/dshash.h +25 -10
- data/ext/pg_query/include/postgres/lib/ilist.h +1 -1
- data/ext/pg_query/include/postgres/lib/pairingheap.h +1 -1
- data/ext/pg_query/include/postgres/lib/simplehash.h +40 -18
- data/ext/pg_query/include/postgres/lib/sort_template.h +14 -1
- data/ext/pg_query/include/postgres/lib/stringinfo.h +93 -11
- data/ext/pg_query/include/postgres/libpq/auth.h +1 -1
- data/ext/pg_query/include/postgres/libpq/crypt.h +2 -2
- data/ext/pg_query/include/postgres/libpq/hba.h +4 -4
- data/ext/pg_query/include/postgres/libpq/libpq-be.h +35 -28
- data/ext/pg_query/include/postgres/libpq/libpq.h +6 -7
- data/ext/pg_query/include/postgres/libpq/pqcomm.h +26 -20
- data/ext/pg_query/include/postgres/libpq/pqformat.h +2 -3
- data/ext/pg_query/include/postgres/libpq/pqsignal.h +1 -1
- data/ext/pg_query/include/postgres/libpq/protocol.h +89 -0
- data/ext/pg_query/include/postgres/libpq/sasl.h +1 -1
- data/ext/pg_query/include/postgres/libpq/scram.h +1 -1
- data/ext/pg_query/include/postgres/mb/pg_wchar.h +103 -82
- data/ext/pg_query/include/postgres/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/postgres/miscadmin.h +72 -52
- data/ext/pg_query/include/postgres/nodes/bitmapset.h +17 -3
- data/ext/pg_query/include/postgres/nodes/execnodes.h +112 -25
- data/ext/pg_query/include/postgres/nodes/extensible.h +1 -1
- data/ext/pg_query/include/postgres/nodes/lockoptions.h +4 -4
- data/ext/pg_query/include/postgres/nodes/makefuncs.h +8 -2
- data/ext/pg_query/include/postgres/nodes/memnodes.h +43 -4
- data/ext/pg_query/include/postgres/nodes/miscnodes.h +1 -1
- data/ext/pg_query/include/postgres/nodes/nodeFuncs.h +1 -1
- data/ext/pg_query/include/postgres/nodes/nodes.h +30 -41
- data/ext/pg_query/include/postgres/nodes/nodetags.h +464 -444
- data/ext/pg_query/include/postgres/nodes/params.h +1 -1
- data/ext/pg_query/include/postgres/nodes/parsenodes.h +358 -175
- data/ext/pg_query/include/postgres/nodes/pathnodes.h +64 -10
- data/ext/pg_query/include/postgres/nodes/pg_list.h +62 -11
- data/ext/pg_query/include/postgres/nodes/plannodes.h +11 -10
- data/ext/pg_query/include/postgres/nodes/primnodes.h +352 -54
- data/ext/pg_query/include/postgres/nodes/print.h +1 -1
- data/ext/pg_query/include/postgres/nodes/queryjumble.h +2 -2
- data/ext/pg_query/include/postgres/nodes/replnodes.h +23 -2
- data/ext/pg_query/include/postgres/nodes/supportnodes.h +1 -1
- data/ext/pg_query/include/postgres/nodes/tidbitmap.h +1 -1
- data/ext/pg_query/include/postgres/nodes/value.h +1 -1
- data/ext/pg_query/include/postgres/optimizer/cost.h +5 -4
- data/ext/pg_query/include/postgres/optimizer/geqo.h +1 -1
- data/ext/pg_query/include/postgres/optimizer/geqo_gene.h +1 -1
- data/ext/pg_query/include/postgres/optimizer/optimizer.h +5 -2
- data/ext/pg_query/include/postgres/optimizer/paths.h +13 -8
- data/ext/pg_query/include/postgres/optimizer/planmain.h +7 -1
- data/ext/pg_query/include/postgres/parser/analyze.h +3 -1
- data/ext/pg_query/include/postgres/parser/kwlist.h +22 -2
- data/ext/pg_query/include/postgres/parser/parse_agg.h +1 -1
- data/ext/pg_query/include/postgres/parser/parse_coerce.h +5 -2
- data/ext/pg_query/include/postgres/parser/parse_expr.h +1 -1
- data/ext/pg_query/include/postgres/parser/parse_func.h +2 -2
- data/ext/pg_query/include/postgres/parser/parse_node.h +3 -2
- data/ext/pg_query/include/postgres/parser/parse_oper.h +4 -1
- data/ext/pg_query/include/postgres/parser/parse_relation.h +1 -1
- data/ext/pg_query/include/postgres/parser/parse_type.h +2 -2
- data/ext/pg_query/include/postgres/parser/parser.h +3 -3
- data/ext/pg_query/include/postgres/parser/parsetree.h +1 -1
- data/ext/pg_query/include/postgres/parser/scanner.h +1 -1
- data/ext/pg_query/include/postgres/parser/scansup.h +1 -1
- data/ext/pg_query/include/postgres/partitioning/partdefs.h +1 -1
- data/ext/pg_query/include/postgres/pg_config.h +53 -45
- data/ext/pg_query/include/postgres/pg_config_manual.h +21 -8
- data/ext/pg_query/include/postgres/pg_getopt.h +1 -1
- data/ext/pg_query/include/postgres/pg_trace.h +1 -1
- data/ext/pg_query/include/postgres/pgstat.h +13 -11
- data/ext/pg_query/include/postgres/pgtime.h +1 -1
- data/ext/pg_query/include/postgres/pl_reserved_kwlist.h +1 -1
- data/ext/pg_query/include/postgres/pl_reserved_kwlist_d.h +1 -1
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist.h +1 -1
- data/ext/pg_query/include/postgres/pl_unreserved_kwlist_d.h +1 -1
- data/ext/pg_query/include/postgres/plerrcodes.h +4 -4
- data/ext/pg_query/include/postgres/plpgsql.h +15 -13
- data/ext/pg_query/include/postgres/port/atomics/arch-arm.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/arch-hppa.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/arch-ppc.h +3 -1
- data/ext/pg_query/include/postgres/port/atomics/arch-x86.h +3 -1
- data/ext/pg_query/include/postgres/port/atomics/fallback.h +1 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-gcc.h +38 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-msvc.h +19 -1
- data/ext/pg_query/include/postgres/port/atomics/generic-sunpro.h +16 -1
- data/ext/pg_query/include/postgres/port/atomics/generic.h +38 -2
- data/ext/pg_query/include/postgres/port/atomics.h +93 -6
- data/ext/pg_query/include/postgres/port/pg_bitutils.h +91 -9
- data/ext/pg_query/include/postgres/port/pg_bswap.h +1 -1
- data/ext/pg_query/include/postgres/port/pg_crc32c.h +10 -1
- data/ext/pg_query/include/postgres/port/pg_iovec.h +117 -0
- data/ext/pg_query/include/postgres/port/simd.h +48 -1
- data/ext/pg_query/include/postgres/port/win32/sys/socket.h +8 -0
- data/ext/pg_query/include/postgres/port/win32_port.h +1 -13
- data/ext/pg_query/include/postgres/port.h +39 -4
- data/ext/pg_query/include/postgres/portability/instr_time.h +1 -1
- data/ext/pg_query/include/postgres/postgres.h +1 -1
- data/ext/pg_query/include/postgres/postmaster/autovacuum.h +5 -16
- data/ext/pg_query/include/postgres/postmaster/bgworker.h +8 -6
- data/ext/pg_query/include/postgres/postmaster/bgworker_internals.h +3 -7
- data/ext/pg_query/include/postgres/postmaster/bgwriter.h +3 -3
- data/ext/pg_query/include/postgres/postmaster/interrupt.h +1 -1
- data/ext/pg_query/include/postgres/postmaster/pgarch.h +2 -2
- data/ext/pg_query/include/postgres/postmaster/postmaster.h +25 -5
- data/ext/pg_query/include/postgres/postmaster/startup.h +2 -2
- data/ext/pg_query/include/postgres/postmaster/syslogger.h +2 -4
- data/ext/pg_query/include/postgres/postmaster/walsummarizer.h +35 -0
- data/ext/pg_query/include/postgres/postmaster/walwriter.h +2 -2
- data/ext/pg_query/include/postgres/regex/regex.h +92 -9
- data/ext/pg_query/include/postgres/replication/logicallauncher.h +1 -1
- data/ext/pg_query/include/postgres/replication/logicalproto.h +2 -2
- data/ext/pg_query/include/postgres/replication/logicalworker.h +2 -1
- data/ext/pg_query/include/postgres/replication/origin.h +1 -1
- data/ext/pg_query/include/postgres/replication/reorderbuffer.h +27 -46
- data/ext/pg_query/include/postgres/replication/slot.h +45 -5
- data/ext/pg_query/include/postgres/replication/slotsync.h +38 -0
- data/ext/pg_query/include/postgres/replication/syncrep.h +1 -1
- data/ext/pg_query/include/postgres/replication/walreceiver.h +37 -11
- data/ext/pg_query/include/postgres/replication/walsender.h +5 -3
- data/ext/pg_query/include/postgres/rewrite/prs2lock.h +1 -1
- data/ext/pg_query/include/postgres/rewrite/rewriteHandler.h +7 -1
- data/ext/pg_query/include/postgres/rewrite/rewriteManip.h +2 -2
- data/ext/pg_query/include/postgres/rewrite/rewriteSupport.h +1 -1
- data/ext/pg_query/include/postgres/storage/block.h +1 -1
- data/ext/pg_query/include/postgres/storage/buf.h +1 -1
- data/ext/pg_query/include/postgres/storage/bufmgr.h +59 -41
- data/ext/pg_query/include/postgres/storage/bufpage.h +1 -1
- data/ext/pg_query/include/postgres/storage/condition_variable.h +1 -1
- data/ext/pg_query/include/postgres/storage/dsm.h +1 -1
- data/ext/pg_query/include/postgres/storage/dsm_impl.h +2 -2
- data/ext/pg_query/include/postgres/storage/fd.h +30 -13
- data/ext/pg_query/include/postgres/storage/fileset.h +1 -1
- data/ext/pg_query/include/postgres/storage/ipc.h +4 -1
- data/ext/pg_query/include/postgres/storage/item.h +1 -1
- data/ext/pg_query/include/postgres/storage/itemid.h +1 -1
- data/ext/pg_query/include/postgres/storage/itemptr.h +1 -1
- data/ext/pg_query/include/postgres/storage/large_object.h +1 -1
- data/ext/pg_query/include/postgres/storage/latch.h +4 -2
- data/ext/pg_query/include/postgres/storage/lmgr.h +8 -2
- data/ext/pg_query/include/postgres/storage/lock.h +19 -19
- data/ext/pg_query/include/postgres/storage/lockdefs.h +3 -1
- data/ext/pg_query/include/postgres/storage/lwlock.h +17 -9
- data/ext/pg_query/include/postgres/storage/lwlocknames.h +7 -10
- data/ext/pg_query/include/postgres/storage/off.h +1 -1
- data/ext/pg_query/include/postgres/storage/pg_sema.h +1 -1
- data/ext/pg_query/include/postgres/storage/pg_shmem.h +5 -4
- data/ext/pg_query/include/postgres/storage/pmsignal.h +2 -2
- data/ext/pg_query/include/postgres/storage/predicate.h +1 -5
- data/ext/pg_query/include/postgres/storage/proc.h +48 -26
- data/ext/pg_query/include/postgres/storage/procarray.h +5 -1
- data/ext/pg_query/include/postgres/storage/proclist_types.h +11 -9
- data/ext/pg_query/include/postgres/storage/procnumber.h +43 -0
- data/ext/pg_query/include/postgres/storage/procsignal.h +8 -6
- data/ext/pg_query/include/postgres/storage/read_stream.h +65 -0
- data/ext/pg_query/include/postgres/storage/relfilelocator.h +16 -15
- data/ext/pg_query/include/postgres/storage/s_lock.h +7 -27
- data/ext/pg_query/include/postgres/storage/sharedfileset.h +1 -1
- data/ext/pg_query/include/postgres/storage/shm_mq.h +2 -2
- data/ext/pg_query/include/postgres/storage/shm_toc.h +1 -1
- data/ext/pg_query/include/postgres/storage/shmem.h +1 -1
- data/ext/pg_query/include/postgres/storage/sinval.h +3 -3
- data/ext/pg_query/include/postgres/storage/smgr.h +46 -29
- data/ext/pg_query/include/postgres/storage/spin.h +1 -1
- data/ext/pg_query/include/postgres/storage/standby.h +13 -3
- data/ext/pg_query/include/postgres/storage/standbydefs.h +2 -2
- data/ext/pg_query/include/postgres/storage/sync.h +4 -4
- data/ext/pg_query/include/postgres/tcop/cmdtag.h +1 -2
- data/ext/pg_query/include/postgres/tcop/cmdtaglist.h +3 -2
- data/ext/pg_query/include/postgres/tcop/deparse_utility.h +2 -2
- data/ext/pg_query/include/postgres/tcop/dest.h +3 -2
- data/ext/pg_query/include/postgres/tcop/fastpath.h +1 -1
- data/ext/pg_query/include/postgres/tcop/pquery.h +1 -1
- data/ext/pg_query/include/postgres/tcop/tcopprot.h +9 -5
- data/ext/pg_query/include/postgres/tcop/utility.h +2 -2
- data/ext/pg_query/include/postgres/tsearch/ts_cache.h +1 -1
- data/ext/pg_query/include/postgres/utils/acl.h +19 -7
- data/ext/pg_query/include/postgres/utils/aclchk_internal.h +1 -1
- data/ext/pg_query/include/postgres/utils/array.h +1 -2
- data/ext/pg_query/include/postgres/utils/ascii.h +84 -0
- data/ext/pg_query/include/postgres/utils/backend_progress.h +3 -2
- data/ext/pg_query/include/postgres/utils/backend_status.h +8 -10
- data/ext/pg_query/include/postgres/utils/builtins.h +4 -1
- data/ext/pg_query/include/postgres/utils/bytea.h +2 -2
- data/ext/pg_query/include/postgres/utils/catcache.h +6 -6
- data/ext/pg_query/include/postgres/utils/date.h +1 -1
- data/ext/pg_query/include/postgres/utils/datetime.h +4 -1
- data/ext/pg_query/include/postgres/utils/datum.h +1 -1
- data/ext/pg_query/include/postgres/utils/dsa.h +44 -5
- data/ext/pg_query/include/postgres/utils/elog.h +3 -8
- data/ext/pg_query/include/postgres/utils/errcodes.h +1 -3
- data/ext/pg_query/include/postgres/utils/expandeddatum.h +1 -1
- data/ext/pg_query/include/postgres/utils/expandedrecord.h +1 -1
- data/ext/pg_query/include/postgres/utils/float.h +1 -1
- data/ext/pg_query/include/postgres/utils/fmgroids.h +49 -16
- data/ext/pg_query/include/postgres/utils/fmgrprotos.h +47 -14
- data/ext/pg_query/include/postgres/utils/fmgrtab.h +1 -1
- data/ext/pg_query/include/postgres/utils/guc.h +20 -6
- data/ext/pg_query/include/postgres/utils/guc_hooks.h +23 -2
- data/ext/pg_query/include/postgres/utils/guc_tables.h +6 -5
- data/ext/pg_query/include/postgres/utils/hsearch.h +2 -2
- data/ext/pg_query/include/postgres/utils/injection_point.h +44 -0
- data/ext/pg_query/include/postgres/utils/inval.h +1 -1
- data/ext/pg_query/include/postgres/utils/logtape.h +5 -5
- data/ext/pg_query/include/postgres/utils/lsyscache.h +6 -3
- data/ext/pg_query/include/postgres/utils/memdebug.h +1 -1
- data/ext/pg_query/include/postgres/utils/memutils.h +12 -5
- data/ext/pg_query/include/postgres/utils/memutils_internal.h +53 -13
- data/ext/pg_query/include/postgres/utils/memutils_memorychunk.h +25 -9
- data/ext/pg_query/include/postgres/utils/numeric.h +6 -1
- data/ext/pg_query/include/postgres/utils/palloc.h +1 -15
- data/ext/pg_query/include/postgres/utils/partcache.h +1 -1
- data/ext/pg_query/include/postgres/utils/pg_locale.h +8 -7
- data/ext/pg_query/include/postgres/utils/pgstat_internal.h +30 -17
- data/ext/pg_query/include/postgres/utils/plancache.h +5 -3
- data/ext/pg_query/include/postgres/utils/portal.h +10 -10
- data/ext/pg_query/include/postgres/utils/queryenvironment.h +2 -2
- data/ext/pg_query/include/postgres/utils/regproc.h +1 -1
- data/ext/pg_query/include/postgres/utils/rel.h +14 -15
- data/ext/pg_query/include/postgres/utils/relcache.h +2 -5
- data/ext/pg_query/include/postgres/utils/reltrigger.h +1 -1
- data/ext/pg_query/include/postgres/utils/resowner.h +90 -9
- data/ext/pg_query/include/postgres/utils/ruleutils.h +1 -1
- data/ext/pg_query/include/postgres/utils/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/postgres/utils/snapmgr.h +1 -52
- data/ext/pg_query/include/postgres/utils/snapshot.h +2 -2
- data/ext/pg_query/include/postgres/utils/sortsupport.h +1 -1
- data/ext/pg_query/include/postgres/utils/syscache.h +7 -98
- data/ext/pg_query/include/postgres/utils/timeout.h +3 -2
- data/ext/pg_query/include/postgres/utils/timestamp.h +1 -1
- data/ext/pg_query/include/postgres/utils/tuplesort.h +36 -9
- data/ext/pg_query/include/postgres/utils/tuplestore.h +2 -5
- data/ext/pg_query/include/postgres/utils/typcache.h +2 -1
- data/ext/pg_query/include/postgres/utils/varlena.h +1 -1
- data/ext/pg_query/include/postgres/utils/wait_event.h +28 -214
- data/ext/pg_query/include/postgres/utils/wait_event_types.h +218 -0
- data/ext/pg_query/include/postgres/utils/xml.h +4 -4
- data/ext/pg_query/include/postgres/varatt.h +1 -1
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1546 -792
- data/ext/pg_query/include/protobuf/pg_query.pb.h +58365 -46595
- data/ext/pg_query/pg_query.pb-c.c +6598 -3739
- data/ext/pg_query/pg_query_normalize.c +42 -1
- data/ext/pg_query/pg_query_outfuncs_json.c +3 -1
- data/ext/pg_query/pg_query_parse_plpgsql.c +12 -13
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +2 -2
- data/ext/pg_query/pg_query_scan.c +1 -1
- data/ext/pg_query/postgres_deparse.c +601 -172
- data/ext/pg_query/src_backend_catalog_namespace.c +241 -66
- data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -3
- data/ext/pg_query/src_backend_commands_define.c +2 -3
- data/ext/pg_query/src_backend_nodes_bitmapset.c +137 -94
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +1 -1
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +1 -1
- data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
- data/ext/pg_query/src_backend_nodes_list.c +3 -7
- data/ext/pg_query/src_backend_nodes_makefuncs.c +59 -20
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +109 -2
- data/ext/pg_query/src_backend_nodes_value.c +1 -1
- data/ext/pg_query/src_backend_parser_gram.c +34491 -32136
- data/ext/pg_query/src_backend_parser_parser.c +8 -8
- data/ext/pg_query/src_backend_parser_scan.c +5637 -3028
- data/ext/pg_query/src_backend_parser_scansup.c +2 -1
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
- data/ext/pg_query/src_backend_tcop_postgres.c +34 -10
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +2 -2
- data/ext/pg_query/src_backend_utils_adt_datum.c +8 -6
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
- data/ext/pg_query/src_backend_utils_adt_numutils.c +4 -5
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +101 -28
- data/ext/pg_query/src_backend_utils_error_assert.c +1 -1
- data/ext/pg_query/src_backend_utils_error_elog.c +47 -42
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +4 -2
- data/ext/pg_query/src_backend_utils_init_globals.c +15 -3
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +11 -18
- data/ext/pg_query/src_backend_utils_misc_guc_tables.c +16 -6
- data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +8 -5
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +308 -238
- data/ext/pg_query/src_backend_utils_mmgr_bump.c +728 -0
- data/ext/pg_query/src_backend_utils_mmgr_generation.c +273 -197
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +270 -215
- data/ext/pg_query/src_backend_utils_mmgr_slab.c +154 -96
- data/ext/pg_query/src_common_encnames.c +43 -44
- data/ext/pg_query/src_common_hashfn.c +1 -1
- data/ext/pg_query/src_common_keywords.c +1 -1
- data/ext/pg_query/src_common_kwlist_d.h +511 -466
- 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 +18 -1
- data/ext/pg_query/src_common_wchar.c +92 -109
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +99 -5
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +242 -143
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +19 -1
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +1 -1
- data/ext/pg_query/src_port_pg_bitutils.c +173 -28
- data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
- data/ext/pg_query/src_port_snprintf.c +15 -18
- data/ext/pg_query/src_port_strerror.c +1 -3
- data/ext/pg_query/src_port_strlcpy.c +1 -1
- data/lib/pg_query/fingerprint.rb +3 -5
- data/lib/pg_query/param_refs.rb +2 -2
- data/lib/pg_query/parse.rb +5 -7
- data/lib/pg_query/parse_error.rb +1 -0
- data/lib/pg_query/pg_query_pb.rb +27 -25
- data/lib/pg_query/scan.rb +1 -0
- data/lib/pg_query/treewalker.rb +38 -15
- data/lib/pg_query/truncate.rb +18 -20
- data/lib/pg_query/version.rb +1 -1
- metadata +31 -82
- data/ext/pg_query/include/postgres/storage/backendid.h +0 -37
- data/ext/pg_query/include/postgres/storage/sinvaladt.h +0 -45
- data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
- data/ext/pg_query/src_backend_nodes_nodes.c +0 -38
- /data/ext/pg_query/{pg_query_ruby.sym → ext_symbols.sym} +0 -0
@@ -3,7 +3,7 @@
|
|
3
3
|
* copyfuncs.funcs.c
|
4
4
|
* Generated node infrastructure code
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* NOTES
|
@@ -70,6 +70,7 @@ _copyTableFunc(const TableFunc *from)
|
|
70
70
|
{
|
71
71
|
TableFunc *newnode = makeNode(TableFunc);
|
72
72
|
|
73
|
+
COPY_SCALAR_FIELD(functype);
|
73
74
|
COPY_NODE_FIELD(ns_uris);
|
74
75
|
COPY_NODE_FIELD(ns_names);
|
75
76
|
COPY_NODE_FIELD(docexpr);
|
@@ -80,7 +81,10 @@ _copyTableFunc(const TableFunc *from)
|
|
80
81
|
COPY_NODE_FIELD(colcollations);
|
81
82
|
COPY_NODE_FIELD(colexprs);
|
82
83
|
COPY_NODE_FIELD(coldefexprs);
|
84
|
+
COPY_NODE_FIELD(colvalexprs);
|
85
|
+
COPY_NODE_FIELD(passingvalexprs);
|
83
86
|
COPY_BITMAPSET_FIELD(notnulls);
|
87
|
+
COPY_NODE_FIELD(plan);
|
84
88
|
COPY_SCALAR_FIELD(ordinalitycol);
|
85
89
|
COPY_LOCATION_FIELD(location);
|
86
90
|
|
@@ -192,6 +196,7 @@ _copyWindowFunc(const WindowFunc *from)
|
|
192
196
|
COPY_SCALAR_FIELD(inputcollid);
|
193
197
|
COPY_NODE_FIELD(args);
|
194
198
|
COPY_NODE_FIELD(aggfilter);
|
199
|
+
COPY_NODE_FIELD(runCondition);
|
195
200
|
COPY_SCALAR_FIELD(winref);
|
196
201
|
COPY_SCALAR_FIELD(winstar);
|
197
202
|
COPY_SCALAR_FIELD(winagg);
|
@@ -200,6 +205,31 @@ _copyWindowFunc(const WindowFunc *from)
|
|
200
205
|
return newnode;
|
201
206
|
}
|
202
207
|
|
208
|
+
static WindowFuncRunCondition *
|
209
|
+
_copyWindowFuncRunCondition(const WindowFuncRunCondition *from)
|
210
|
+
{
|
211
|
+
WindowFuncRunCondition *newnode = makeNode(WindowFuncRunCondition);
|
212
|
+
|
213
|
+
COPY_SCALAR_FIELD(opno);
|
214
|
+
COPY_SCALAR_FIELD(inputcollid);
|
215
|
+
COPY_SCALAR_FIELD(wfunc_left);
|
216
|
+
COPY_NODE_FIELD(arg);
|
217
|
+
|
218
|
+
return newnode;
|
219
|
+
}
|
220
|
+
|
221
|
+
static MergeSupportFunc *
|
222
|
+
_copyMergeSupportFunc(const MergeSupportFunc *from)
|
223
|
+
{
|
224
|
+
MergeSupportFunc *newnode = makeNode(MergeSupportFunc);
|
225
|
+
|
226
|
+
COPY_SCALAR_FIELD(msftype);
|
227
|
+
COPY_SCALAR_FIELD(msfcollid);
|
228
|
+
COPY_LOCATION_FIELD(location);
|
229
|
+
|
230
|
+
return newnode;
|
231
|
+
}
|
232
|
+
|
203
233
|
static SubscriptingRef *
|
204
234
|
_copySubscriptingRef(const SubscriptingRef *from)
|
205
235
|
{
|
@@ -686,6 +716,80 @@ _copyJsonIsPredicate(const JsonIsPredicate *from)
|
|
686
716
|
return newnode;
|
687
717
|
}
|
688
718
|
|
719
|
+
static JsonBehavior *
|
720
|
+
_copyJsonBehavior(const JsonBehavior *from)
|
721
|
+
{
|
722
|
+
JsonBehavior *newnode = makeNode(JsonBehavior);
|
723
|
+
|
724
|
+
COPY_SCALAR_FIELD(btype);
|
725
|
+
COPY_NODE_FIELD(expr);
|
726
|
+
COPY_SCALAR_FIELD(coerce);
|
727
|
+
COPY_LOCATION_FIELD(location);
|
728
|
+
|
729
|
+
return newnode;
|
730
|
+
}
|
731
|
+
|
732
|
+
static JsonExpr *
|
733
|
+
_copyJsonExpr(const JsonExpr *from)
|
734
|
+
{
|
735
|
+
JsonExpr *newnode = makeNode(JsonExpr);
|
736
|
+
|
737
|
+
COPY_SCALAR_FIELD(op);
|
738
|
+
COPY_STRING_FIELD(column_name);
|
739
|
+
COPY_NODE_FIELD(formatted_expr);
|
740
|
+
COPY_NODE_FIELD(format);
|
741
|
+
COPY_NODE_FIELD(path_spec);
|
742
|
+
COPY_NODE_FIELD(returning);
|
743
|
+
COPY_NODE_FIELD(passing_names);
|
744
|
+
COPY_NODE_FIELD(passing_values);
|
745
|
+
COPY_NODE_FIELD(on_empty);
|
746
|
+
COPY_NODE_FIELD(on_error);
|
747
|
+
COPY_SCALAR_FIELD(use_io_coercion);
|
748
|
+
COPY_SCALAR_FIELD(use_json_coercion);
|
749
|
+
COPY_SCALAR_FIELD(wrapper);
|
750
|
+
COPY_SCALAR_FIELD(omit_quotes);
|
751
|
+
COPY_SCALAR_FIELD(collation);
|
752
|
+
COPY_LOCATION_FIELD(location);
|
753
|
+
|
754
|
+
return newnode;
|
755
|
+
}
|
756
|
+
|
757
|
+
static JsonTablePath *
|
758
|
+
_copyJsonTablePath(const JsonTablePath *from)
|
759
|
+
{
|
760
|
+
JsonTablePath *newnode = makeNode(JsonTablePath);
|
761
|
+
|
762
|
+
COPY_NODE_FIELD(value);
|
763
|
+
COPY_STRING_FIELD(name);
|
764
|
+
|
765
|
+
return newnode;
|
766
|
+
}
|
767
|
+
|
768
|
+
static JsonTablePathScan *
|
769
|
+
_copyJsonTablePathScan(const JsonTablePathScan *from)
|
770
|
+
{
|
771
|
+
JsonTablePathScan *newnode = makeNode(JsonTablePathScan);
|
772
|
+
|
773
|
+
COPY_NODE_FIELD(path);
|
774
|
+
COPY_SCALAR_FIELD(errorOnError);
|
775
|
+
COPY_NODE_FIELD(child);
|
776
|
+
COPY_SCALAR_FIELD(colMin);
|
777
|
+
COPY_SCALAR_FIELD(colMax);
|
778
|
+
|
779
|
+
return newnode;
|
780
|
+
}
|
781
|
+
|
782
|
+
static JsonTableSiblingJoin *
|
783
|
+
_copyJsonTableSiblingJoin(const JsonTableSiblingJoin *from)
|
784
|
+
{
|
785
|
+
JsonTableSiblingJoin *newnode = makeNode(JsonTableSiblingJoin);
|
786
|
+
|
787
|
+
COPY_NODE_FIELD(lplan);
|
788
|
+
COPY_NODE_FIELD(rplan);
|
789
|
+
|
790
|
+
return newnode;
|
791
|
+
}
|
792
|
+
|
689
793
|
static NullTest *
|
690
794
|
_copyNullTest(const NullTest *from)
|
691
795
|
{
|
@@ -711,6 +815,21 @@ _copyBooleanTest(const BooleanTest *from)
|
|
711
815
|
return newnode;
|
712
816
|
}
|
713
817
|
|
818
|
+
static MergeAction *
|
819
|
+
_copyMergeAction(const MergeAction *from)
|
820
|
+
{
|
821
|
+
MergeAction *newnode = makeNode(MergeAction);
|
822
|
+
|
823
|
+
COPY_SCALAR_FIELD(matchKind);
|
824
|
+
COPY_SCALAR_FIELD(commandType);
|
825
|
+
COPY_SCALAR_FIELD(override);
|
826
|
+
COPY_NODE_FIELD(qual);
|
827
|
+
COPY_NODE_FIELD(targetList);
|
828
|
+
COPY_NODE_FIELD(updateColnos);
|
829
|
+
|
830
|
+
return newnode;
|
831
|
+
}
|
832
|
+
|
714
833
|
static CoerceToDomain *
|
715
834
|
_copyCoerceToDomain(const CoerceToDomain *from)
|
716
835
|
{
|
@@ -885,7 +1004,8 @@ _copyQuery(const Query *from)
|
|
885
1004
|
COPY_NODE_FIELD(rteperminfos);
|
886
1005
|
COPY_NODE_FIELD(jointree);
|
887
1006
|
COPY_NODE_FIELD(mergeActionList);
|
888
|
-
COPY_SCALAR_FIELD(
|
1007
|
+
COPY_SCALAR_FIELD(mergeTargetRelation);
|
1008
|
+
COPY_NODE_FIELD(mergeJoinCondition);
|
889
1009
|
COPY_NODE_FIELD(targetList);
|
890
1010
|
COPY_SCALAR_FIELD(override);
|
891
1011
|
COPY_NODE_FIELD(onConflict);
|
@@ -905,7 +1025,7 @@ _copyQuery(const Query *from)
|
|
905
1025
|
COPY_NODE_FIELD(constraintDeps);
|
906
1026
|
COPY_NODE_FIELD(withCheckOptions);
|
907
1027
|
COPY_LOCATION_FIELD(stmt_location);
|
908
|
-
|
1028
|
+
COPY_LOCATION_FIELD(stmt_len);
|
909
1029
|
|
910
1030
|
return newnode;
|
911
1031
|
}
|
@@ -1343,6 +1463,15 @@ _copyPartitionRangeDatum(const PartitionRangeDatum *from)
|
|
1343
1463
|
return newnode;
|
1344
1464
|
}
|
1345
1465
|
|
1466
|
+
static SinglePartitionSpec *
|
1467
|
+
_copySinglePartitionSpec(const SinglePartitionSpec *from)
|
1468
|
+
{
|
1469
|
+
SinglePartitionSpec *newnode = makeNode(SinglePartitionSpec);
|
1470
|
+
|
1471
|
+
|
1472
|
+
return newnode;
|
1473
|
+
}
|
1474
|
+
|
1346
1475
|
static PartitionCmd *
|
1347
1476
|
_copyPartitionCmd(const PartitionCmd *from)
|
1348
1477
|
{
|
@@ -1360,12 +1489,15 @@ _copyRangeTblEntry(const RangeTblEntry *from)
|
|
1360
1489
|
{
|
1361
1490
|
RangeTblEntry *newnode = makeNode(RangeTblEntry);
|
1362
1491
|
|
1492
|
+
COPY_NODE_FIELD(alias);
|
1493
|
+
COPY_NODE_FIELD(eref);
|
1363
1494
|
COPY_SCALAR_FIELD(rtekind);
|
1364
1495
|
COPY_SCALAR_FIELD(relid);
|
1496
|
+
COPY_SCALAR_FIELD(inh);
|
1365
1497
|
COPY_SCALAR_FIELD(relkind);
|
1366
1498
|
COPY_SCALAR_FIELD(rellockmode);
|
1367
|
-
COPY_NODE_FIELD(tablesample);
|
1368
1499
|
COPY_SCALAR_FIELD(perminfoindex);
|
1500
|
+
COPY_NODE_FIELD(tablesample);
|
1369
1501
|
COPY_NODE_FIELD(subquery);
|
1370
1502
|
COPY_SCALAR_FIELD(security_barrier);
|
1371
1503
|
COPY_SCALAR_FIELD(jointype);
|
@@ -1386,10 +1518,7 @@ _copyRangeTblEntry(const RangeTblEntry *from)
|
|
1386
1518
|
COPY_NODE_FIELD(colcollations);
|
1387
1519
|
COPY_STRING_FIELD(enrname);
|
1388
1520
|
COPY_SCALAR_FIELD(enrtuples);
|
1389
|
-
COPY_NODE_FIELD(alias);
|
1390
|
-
COPY_NODE_FIELD(eref);
|
1391
1521
|
COPY_SCALAR_FIELD(lateral);
|
1392
|
-
COPY_SCALAR_FIELD(inh);
|
1393
1522
|
COPY_SCALAR_FIELD(inFromCl);
|
1394
1523
|
COPY_NODE_FIELD(securityQuals);
|
1395
1524
|
|
@@ -1492,7 +1621,6 @@ _copyWindowClause(const WindowClause *from)
|
|
1492
1621
|
COPY_SCALAR_FIELD(frameOptions);
|
1493
1622
|
COPY_NODE_FIELD(startOffset);
|
1494
1623
|
COPY_NODE_FIELD(endOffset);
|
1495
|
-
COPY_NODE_FIELD(runCondition);
|
1496
1624
|
COPY_SCALAR_FIELD(startInRangeFunc);
|
1497
1625
|
COPY_SCALAR_FIELD(endInRangeFunc);
|
1498
1626
|
COPY_SCALAR_FIELD(inRangeColl);
|
@@ -1615,7 +1743,7 @@ _copyMergeWhenClause(const MergeWhenClause *from)
|
|
1615
1743
|
{
|
1616
1744
|
MergeWhenClause *newnode = makeNode(MergeWhenClause);
|
1617
1745
|
|
1618
|
-
COPY_SCALAR_FIELD(
|
1746
|
+
COPY_SCALAR_FIELD(matchKind);
|
1619
1747
|
COPY_SCALAR_FIELD(commandType);
|
1620
1748
|
COPY_SCALAR_FIELD(override);
|
1621
1749
|
COPY_NODE_FIELD(condition);
|
@@ -1625,21 +1753,6 @@ _copyMergeWhenClause(const MergeWhenClause *from)
|
|
1625
1753
|
return newnode;
|
1626
1754
|
}
|
1627
1755
|
|
1628
|
-
static MergeAction *
|
1629
|
-
_copyMergeAction(const MergeAction *from)
|
1630
|
-
{
|
1631
|
-
MergeAction *newnode = makeNode(MergeAction);
|
1632
|
-
|
1633
|
-
COPY_SCALAR_FIELD(matched);
|
1634
|
-
COPY_SCALAR_FIELD(commandType);
|
1635
|
-
COPY_SCALAR_FIELD(override);
|
1636
|
-
COPY_NODE_FIELD(qual);
|
1637
|
-
COPY_NODE_FIELD(targetList);
|
1638
|
-
COPY_NODE_FIELD(updateColnos);
|
1639
|
-
|
1640
|
-
return newnode;
|
1641
|
-
}
|
1642
|
-
|
1643
1756
|
static TriggerTransition *
|
1644
1757
|
_copyTriggerTransition(const TriggerTransition *from)
|
1645
1758
|
{
|
@@ -1663,6 +1776,87 @@ _copyJsonOutput(const JsonOutput *from)
|
|
1663
1776
|
return newnode;
|
1664
1777
|
}
|
1665
1778
|
|
1779
|
+
static JsonArgument *
|
1780
|
+
_copyJsonArgument(const JsonArgument *from)
|
1781
|
+
{
|
1782
|
+
JsonArgument *newnode = makeNode(JsonArgument);
|
1783
|
+
|
1784
|
+
COPY_NODE_FIELD(val);
|
1785
|
+
COPY_STRING_FIELD(name);
|
1786
|
+
|
1787
|
+
return newnode;
|
1788
|
+
}
|
1789
|
+
|
1790
|
+
static JsonFuncExpr *
|
1791
|
+
_copyJsonFuncExpr(const JsonFuncExpr *from)
|
1792
|
+
{
|
1793
|
+
JsonFuncExpr *newnode = makeNode(JsonFuncExpr);
|
1794
|
+
|
1795
|
+
COPY_SCALAR_FIELD(op);
|
1796
|
+
COPY_STRING_FIELD(column_name);
|
1797
|
+
COPY_NODE_FIELD(context_item);
|
1798
|
+
COPY_NODE_FIELD(pathspec);
|
1799
|
+
COPY_NODE_FIELD(passing);
|
1800
|
+
COPY_NODE_FIELD(output);
|
1801
|
+
COPY_NODE_FIELD(on_empty);
|
1802
|
+
COPY_NODE_FIELD(on_error);
|
1803
|
+
COPY_SCALAR_FIELD(wrapper);
|
1804
|
+
COPY_SCALAR_FIELD(quotes);
|
1805
|
+
COPY_LOCATION_FIELD(location);
|
1806
|
+
|
1807
|
+
return newnode;
|
1808
|
+
}
|
1809
|
+
|
1810
|
+
static JsonTablePathSpec *
|
1811
|
+
_copyJsonTablePathSpec(const JsonTablePathSpec *from)
|
1812
|
+
{
|
1813
|
+
JsonTablePathSpec *newnode = makeNode(JsonTablePathSpec);
|
1814
|
+
|
1815
|
+
COPY_NODE_FIELD(string);
|
1816
|
+
COPY_STRING_FIELD(name);
|
1817
|
+
COPY_LOCATION_FIELD(name_location);
|
1818
|
+
COPY_LOCATION_FIELD(location);
|
1819
|
+
|
1820
|
+
return newnode;
|
1821
|
+
}
|
1822
|
+
|
1823
|
+
static JsonTable *
|
1824
|
+
_copyJsonTable(const JsonTable *from)
|
1825
|
+
{
|
1826
|
+
JsonTable *newnode = makeNode(JsonTable);
|
1827
|
+
|
1828
|
+
COPY_NODE_FIELD(context_item);
|
1829
|
+
COPY_NODE_FIELD(pathspec);
|
1830
|
+
COPY_NODE_FIELD(passing);
|
1831
|
+
COPY_NODE_FIELD(columns);
|
1832
|
+
COPY_NODE_FIELD(on_error);
|
1833
|
+
COPY_NODE_FIELD(alias);
|
1834
|
+
COPY_SCALAR_FIELD(lateral);
|
1835
|
+
COPY_LOCATION_FIELD(location);
|
1836
|
+
|
1837
|
+
return newnode;
|
1838
|
+
}
|
1839
|
+
|
1840
|
+
static JsonTableColumn *
|
1841
|
+
_copyJsonTableColumn(const JsonTableColumn *from)
|
1842
|
+
{
|
1843
|
+
JsonTableColumn *newnode = makeNode(JsonTableColumn);
|
1844
|
+
|
1845
|
+
COPY_SCALAR_FIELD(coltype);
|
1846
|
+
COPY_STRING_FIELD(name);
|
1847
|
+
COPY_NODE_FIELD(typeName);
|
1848
|
+
COPY_NODE_FIELD(pathspec);
|
1849
|
+
COPY_NODE_FIELD(format);
|
1850
|
+
COPY_SCALAR_FIELD(wrapper);
|
1851
|
+
COPY_SCALAR_FIELD(quotes);
|
1852
|
+
COPY_NODE_FIELD(columns);
|
1853
|
+
COPY_NODE_FIELD(on_empty);
|
1854
|
+
COPY_NODE_FIELD(on_error);
|
1855
|
+
COPY_LOCATION_FIELD(location);
|
1856
|
+
|
1857
|
+
return newnode;
|
1858
|
+
}
|
1859
|
+
|
1666
1860
|
static JsonKeyValue *
|
1667
1861
|
_copyJsonKeyValue(const JsonKeyValue *from)
|
1668
1862
|
{
|
@@ -1674,6 +1868,43 @@ _copyJsonKeyValue(const JsonKeyValue *from)
|
|
1674
1868
|
return newnode;
|
1675
1869
|
}
|
1676
1870
|
|
1871
|
+
static JsonParseExpr *
|
1872
|
+
_copyJsonParseExpr(const JsonParseExpr *from)
|
1873
|
+
{
|
1874
|
+
JsonParseExpr *newnode = makeNode(JsonParseExpr);
|
1875
|
+
|
1876
|
+
COPY_NODE_FIELD(expr);
|
1877
|
+
COPY_NODE_FIELD(output);
|
1878
|
+
COPY_SCALAR_FIELD(unique_keys);
|
1879
|
+
COPY_LOCATION_FIELD(location);
|
1880
|
+
|
1881
|
+
return newnode;
|
1882
|
+
}
|
1883
|
+
|
1884
|
+
static JsonScalarExpr *
|
1885
|
+
_copyJsonScalarExpr(const JsonScalarExpr *from)
|
1886
|
+
{
|
1887
|
+
JsonScalarExpr *newnode = makeNode(JsonScalarExpr);
|
1888
|
+
|
1889
|
+
COPY_NODE_FIELD(expr);
|
1890
|
+
COPY_NODE_FIELD(output);
|
1891
|
+
COPY_LOCATION_FIELD(location);
|
1892
|
+
|
1893
|
+
return newnode;
|
1894
|
+
}
|
1895
|
+
|
1896
|
+
static JsonSerializeExpr *
|
1897
|
+
_copyJsonSerializeExpr(const JsonSerializeExpr *from)
|
1898
|
+
{
|
1899
|
+
JsonSerializeExpr *newnode = makeNode(JsonSerializeExpr);
|
1900
|
+
|
1901
|
+
COPY_NODE_FIELD(expr);
|
1902
|
+
COPY_NODE_FIELD(output);
|
1903
|
+
COPY_LOCATION_FIELD(location);
|
1904
|
+
|
1905
|
+
return newnode;
|
1906
|
+
}
|
1907
|
+
|
1677
1908
|
static JsonObjectConstructor *
|
1678
1909
|
_copyJsonObjectConstructor(const JsonObjectConstructor *from)
|
1679
1910
|
{
|
@@ -1761,7 +1992,7 @@ _copyRawStmt(const RawStmt *from)
|
|
1761
1992
|
|
1762
1993
|
COPY_NODE_FIELD(stmt);
|
1763
1994
|
COPY_LOCATION_FIELD(stmt_location);
|
1764
|
-
|
1995
|
+
COPY_LOCATION_FIELD(stmt_len);
|
1765
1996
|
|
1766
1997
|
return newnode;
|
1767
1998
|
}
|
@@ -1820,6 +2051,7 @@ _copyMergeStmt(const MergeStmt *from)
|
|
1820
2051
|
COPY_NODE_FIELD(sourceRelation);
|
1821
2052
|
COPY_NODE_FIELD(joinCondition);
|
1822
2053
|
COPY_NODE_FIELD(mergeWhenClauses);
|
2054
|
+
COPY_NODE_FIELD(returningList);
|
1823
2055
|
COPY_NODE_FIELD(withClause);
|
1824
2056
|
|
1825
2057
|
return newnode;
|
@@ -2112,11 +2344,13 @@ _copyConstraint(const Constraint *from)
|
|
2112
2344
|
COPY_STRING_FIELD(conname);
|
2113
2345
|
COPY_SCALAR_FIELD(deferrable);
|
2114
2346
|
COPY_SCALAR_FIELD(initdeferred);
|
2115
|
-
|
2347
|
+
COPY_SCALAR_FIELD(skip_validation);
|
2348
|
+
COPY_SCALAR_FIELD(initially_valid);
|
2116
2349
|
COPY_SCALAR_FIELD(is_no_inherit);
|
2117
2350
|
COPY_NODE_FIELD(raw_expr);
|
2118
2351
|
COPY_STRING_FIELD(cooked_expr);
|
2119
2352
|
COPY_SCALAR_FIELD(generated_when);
|
2353
|
+
COPY_SCALAR_FIELD(inhcount);
|
2120
2354
|
COPY_SCALAR_FIELD(nulls_not_distinct);
|
2121
2355
|
COPY_NODE_FIELD(keys);
|
2122
2356
|
COPY_NODE_FIELD(including);
|
@@ -2136,8 +2370,7 @@ _copyConstraint(const Constraint *from)
|
|
2136
2370
|
COPY_NODE_FIELD(fk_del_set_cols);
|
2137
2371
|
COPY_NODE_FIELD(old_conpfeqop);
|
2138
2372
|
COPY_SCALAR_FIELD(old_pktable_oid);
|
2139
|
-
|
2140
|
-
COPY_SCALAR_FIELD(initially_valid);
|
2373
|
+
COPY_LOCATION_FIELD(location);
|
2141
2374
|
|
2142
2375
|
return newnode;
|
2143
2376
|
}
|
@@ -2769,7 +3002,7 @@ _copyAlterStatsStmt(const AlterStatsStmt *from)
|
|
2769
3002
|
AlterStatsStmt *newnode = makeNode(AlterStatsStmt);
|
2770
3003
|
|
2771
3004
|
COPY_NODE_FIELD(defnames);
|
2772
|
-
|
3005
|
+
COPY_NODE_FIELD(stxstattarget);
|
2773
3006
|
COPY_SCALAR_FIELD(missing_ok);
|
2774
3007
|
|
2775
3008
|
return newnode;
|
@@ -2975,6 +3208,7 @@ _copyTransactionStmt(const TransactionStmt *from)
|
|
2975
3208
|
COPY_STRING_FIELD(savepoint_name);
|
2976
3209
|
COPY_STRING_FIELD(gid);
|
2977
3210
|
COPY_SCALAR_FIELD(chain);
|
3211
|
+
COPY_LOCATION_FIELD(location);
|
2978
3212
|
|
2979
3213
|
return newnode;
|
2980
3214
|
}
|
@@ -3316,6 +3550,8 @@ _copyDeallocateStmt(const DeallocateStmt *from)
|
|
3316
3550
|
DeallocateStmt *newnode = makeNode(DeallocateStmt);
|
3317
3551
|
|
3318
3552
|
COPY_STRING_FIELD(name);
|
3553
|
+
COPY_SCALAR_FIELD(isall);
|
3554
|
+
COPY_LOCATION_FIELD(location);
|
3319
3555
|
|
3320
3556
|
return newnode;
|
3321
3557
|
}
|
@@ -3473,6 +3709,17 @@ _copyPathKey(const PathKey *from)
|
|
3473
3709
|
return newnode;
|
3474
3710
|
}
|
3475
3711
|
|
3712
|
+
static GroupByOrdering *
|
3713
|
+
_copyGroupByOrdering(const GroupByOrdering *from)
|
3714
|
+
{
|
3715
|
+
GroupByOrdering *newnode = makeNode(GroupByOrdering);
|
3716
|
+
|
3717
|
+
COPY_NODE_FIELD(pathkeys);
|
3718
|
+
COPY_NODE_FIELD(clauses);
|
3719
|
+
|
3720
|
+
return newnode;
|
3721
|
+
}
|
3722
|
+
|
3476
3723
|
static RestrictInfo *
|
3477
3724
|
_copyRestrictInfo(const RestrictInfo *from)
|
3478
3725
|
{
|
@@ -3615,7 +3862,7 @@ _copyPlannedStmt(const PlannedStmt *from)
|
|
3615
3862
|
COPY_NODE_FIELD(paramExecTypes);
|
3616
3863
|
COPY_NODE_FIELD(utilityStmt);
|
3617
3864
|
COPY_LOCATION_FIELD(stmt_location);
|
3618
|
-
|
3865
|
+
COPY_LOCATION_FIELD(stmt_len);
|
3619
3866
|
|
3620
3867
|
return newnode;
|
3621
3868
|
}
|
@@ -3710,6 +3957,7 @@ _copyModifyTable(const ModifyTable *from)
|
|
3710
3957
|
COPY_SCALAR_FIELD(exclRelRTI);
|
3711
3958
|
COPY_NODE_FIELD(exclRelTlist);
|
3712
3959
|
COPY_NODE_FIELD(mergeActionLists);
|
3960
|
+
COPY_NODE_FIELD(mergeJoinConditions);
|
3713
3961
|
|
3714
3962
|
return newnode;
|
3715
3963
|
}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* copyfuncs.switch.c
|
4
4
|
* Generated node infrastructure code
|
5
5
|
*
|
6
|
-
* Portions Copyright (c) 1996-
|
6
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
8
8
|
*
|
9
9
|
* NOTES
|
@@ -45,6 +45,12 @@
|
|
45
45
|
case T_WindowFunc:
|
46
46
|
retval = _copyWindowFunc(from);
|
47
47
|
break;
|
48
|
+
case T_WindowFuncRunCondition:
|
49
|
+
retval = _copyWindowFuncRunCondition(from);
|
50
|
+
break;
|
51
|
+
case T_MergeSupportFunc:
|
52
|
+
retval = _copyMergeSupportFunc(from);
|
53
|
+
break;
|
48
54
|
case T_SubscriptingRef:
|
49
55
|
retval = _copySubscriptingRef(from);
|
50
56
|
break;
|
@@ -144,12 +150,30 @@
|
|
144
150
|
case T_JsonIsPredicate:
|
145
151
|
retval = _copyJsonIsPredicate(from);
|
146
152
|
break;
|
153
|
+
case T_JsonBehavior:
|
154
|
+
retval = _copyJsonBehavior(from);
|
155
|
+
break;
|
156
|
+
case T_JsonExpr:
|
157
|
+
retval = _copyJsonExpr(from);
|
158
|
+
break;
|
159
|
+
case T_JsonTablePath:
|
160
|
+
retval = _copyJsonTablePath(from);
|
161
|
+
break;
|
162
|
+
case T_JsonTablePathScan:
|
163
|
+
retval = _copyJsonTablePathScan(from);
|
164
|
+
break;
|
165
|
+
case T_JsonTableSiblingJoin:
|
166
|
+
retval = _copyJsonTableSiblingJoin(from);
|
167
|
+
break;
|
147
168
|
case T_NullTest:
|
148
169
|
retval = _copyNullTest(from);
|
149
170
|
break;
|
150
171
|
case T_BooleanTest:
|
151
172
|
retval = _copyBooleanTest(from);
|
152
173
|
break;
|
174
|
+
case T_MergeAction:
|
175
|
+
retval = _copyMergeAction(from);
|
176
|
+
break;
|
153
177
|
case T_CoerceToDomain:
|
154
178
|
retval = _copyCoerceToDomain(from);
|
155
179
|
break;
|
@@ -282,6 +306,9 @@
|
|
282
306
|
case T_PartitionRangeDatum:
|
283
307
|
retval = _copyPartitionRangeDatum(from);
|
284
308
|
break;
|
309
|
+
case T_SinglePartitionSpec:
|
310
|
+
retval = _copySinglePartitionSpec(from);
|
311
|
+
break;
|
285
312
|
case T_PartitionCmd:
|
286
313
|
retval = _copyPartitionCmd(from);
|
287
314
|
break;
|
@@ -333,18 +360,39 @@
|
|
333
360
|
case T_MergeWhenClause:
|
334
361
|
retval = _copyMergeWhenClause(from);
|
335
362
|
break;
|
336
|
-
case T_MergeAction:
|
337
|
-
retval = _copyMergeAction(from);
|
338
|
-
break;
|
339
363
|
case T_TriggerTransition:
|
340
364
|
retval = _copyTriggerTransition(from);
|
341
365
|
break;
|
342
366
|
case T_JsonOutput:
|
343
367
|
retval = _copyJsonOutput(from);
|
344
368
|
break;
|
369
|
+
case T_JsonArgument:
|
370
|
+
retval = _copyJsonArgument(from);
|
371
|
+
break;
|
372
|
+
case T_JsonFuncExpr:
|
373
|
+
retval = _copyJsonFuncExpr(from);
|
374
|
+
break;
|
375
|
+
case T_JsonTablePathSpec:
|
376
|
+
retval = _copyJsonTablePathSpec(from);
|
377
|
+
break;
|
378
|
+
case T_JsonTable:
|
379
|
+
retval = _copyJsonTable(from);
|
380
|
+
break;
|
381
|
+
case T_JsonTableColumn:
|
382
|
+
retval = _copyJsonTableColumn(from);
|
383
|
+
break;
|
345
384
|
case T_JsonKeyValue:
|
346
385
|
retval = _copyJsonKeyValue(from);
|
347
386
|
break;
|
387
|
+
case T_JsonParseExpr:
|
388
|
+
retval = _copyJsonParseExpr(from);
|
389
|
+
break;
|
390
|
+
case T_JsonScalarExpr:
|
391
|
+
retval = _copyJsonScalarExpr(from);
|
392
|
+
break;
|
393
|
+
case T_JsonSerializeExpr:
|
394
|
+
retval = _copyJsonSerializeExpr(from);
|
395
|
+
break;
|
348
396
|
case T_JsonObjectConstructor:
|
349
397
|
retval = _copyJsonObjectConstructor(from);
|
350
398
|
break;
|
@@ -747,6 +795,9 @@
|
|
747
795
|
case T_PathKey:
|
748
796
|
retval = _copyPathKey(from);
|
749
797
|
break;
|
798
|
+
case T_GroupByOrdering:
|
799
|
+
retval = _copyGroupByOrdering(from);
|
800
|
+
break;
|
750
801
|
case T_RestrictInfo:
|
751
802
|
retval = _copyRestrictInfo(from);
|
752
803
|
break;
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*
|
6
6
|
* Note: this file must be includable in both frontend and backend contexts.
|
7
7
|
*
|
8
|
-
* Portions Copyright (c) 1996-
|
8
|
+
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
9
9
|
* Portions Copyright (c) 1994, Regents of the University of California
|
10
10
|
*
|
11
11
|
* src/include/datatype/timestamp.h
|
@@ -114,6 +114,7 @@ struct pg_itm_in
|
|
114
114
|
* 30 days.
|
115
115
|
*/
|
116
116
|
#define DAYS_PER_MONTH 30 /* assumes exactly 30 days per month */
|
117
|
+
#define DAYS_PER_WEEK 7
|
117
118
|
#define HOURS_PER_DAY 24 /* assume no daylight savings time changes */
|
118
119
|
|
119
120
|
/*
|
@@ -135,7 +136,7 @@ struct pg_itm_in
|
|
135
136
|
/*
|
136
137
|
* We allow numeric timezone offsets up to 15:59:59 either way from Greenwich.
|
137
138
|
* Currently, the record holders for wackiest offsets in actual use are zones
|
138
|
-
* Asia/Manila, at -15:56:
|
139
|
+
* Asia/Manila, at -15:56:08 until 1844, and America/Metlakatla, at +15:13:42
|
139
140
|
* until 1867. If we were to reject such values we would fail to dump and
|
140
141
|
* restore old timestamptz values with these zone settings.
|
141
142
|
*/
|
@@ -150,7 +151,7 @@ struct pg_itm_in
|
|
150
151
|
#define TIMESTAMP_INFINITY PG_INT64_MAX
|
151
152
|
|
152
153
|
/*
|
153
|
-
* Historically these
|
154
|
+
* Historically these aliases for infinity have been used.
|
154
155
|
*/
|
155
156
|
#define DT_NOBEGIN TIMESTAMP_MINUS_INFINITY
|
156
157
|
#define DT_NOEND TIMESTAMP_INFINITY
|
@@ -167,6 +168,31 @@ struct pg_itm_in
|
|
167
168
|
|
168
169
|
#define TIMESTAMP_NOT_FINITE(j) (TIMESTAMP_IS_NOBEGIN(j) || TIMESTAMP_IS_NOEND(j))
|
169
170
|
|
171
|
+
/*
|
172
|
+
* Infinite intervals are represented by setting all fields to the minimum or
|
173
|
+
* maximum integer values.
|
174
|
+
*/
|
175
|
+
#define INTERVAL_NOBEGIN(i) \
|
176
|
+
do { \
|
177
|
+
(i)->time = PG_INT64_MIN; \
|
178
|
+
(i)->day = PG_INT32_MIN; \
|
179
|
+
(i)->month = PG_INT32_MIN; \
|
180
|
+
} while (0)
|
181
|
+
|
182
|
+
#define INTERVAL_IS_NOBEGIN(i) \
|
183
|
+
((i)->month == PG_INT32_MIN && (i)->day == PG_INT32_MIN && (i)->time == PG_INT64_MIN)
|
184
|
+
|
185
|
+
#define INTERVAL_NOEND(i) \
|
186
|
+
do { \
|
187
|
+
(i)->time = PG_INT64_MAX; \
|
188
|
+
(i)->day = PG_INT32_MAX; \
|
189
|
+
(i)->month = PG_INT32_MAX; \
|
190
|
+
} while (0)
|
191
|
+
|
192
|
+
#define INTERVAL_IS_NOEND(i) \
|
193
|
+
((i)->month == PG_INT32_MAX && (i)->day == PG_INT32_MAX && (i)->time == PG_INT64_MAX)
|
194
|
+
|
195
|
+
#define INTERVAL_NOT_FINITE(i) (INTERVAL_IS_NOBEGIN(i) || INTERVAL_IS_NOEND(i))
|
170
196
|
|
171
197
|
/*
|
172
198
|
* Julian date support.
|