pg_query 2.1.0 → 4.2.1
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 +104 -0
- data/README.md +59 -31
- data/Rakefile +2 -2
- data/ext/pg_query/extconf.rb +8 -2
- data/ext/pg_query/include/access/amapi.h +45 -1
- data/ext/pg_query/include/access/attmap.h +1 -1
- data/ext/pg_query/include/access/attnum.h +2 -2
- data/ext/pg_query/include/access/clog.h +4 -2
- data/ext/pg_query/include/access/commit_ts.h +6 -9
- data/ext/pg_query/include/access/detoast.h +1 -11
- data/ext/pg_query/include/access/genam.h +15 -12
- data/ext/pg_query/include/access/gin.h +2 -2
- data/ext/pg_query/include/access/htup.h +1 -1
- data/ext/pg_query/include/access/htup_details.h +75 -87
- data/ext/pg_query/include/access/itup.h +7 -1
- data/ext/pg_query/include/access/parallel.h +2 -2
- data/ext/pg_query/include/access/printtup.h +1 -1
- data/ext/pg_query/include/access/relation.h +1 -1
- data/ext/pg_query/include/access/relscan.h +17 -2
- data/ext/pg_query/include/access/rmgr.h +30 -3
- data/ext/pg_query/include/access/rmgrlist.h +23 -23
- data/ext/pg_query/include/access/sdir.h +1 -1
- data/ext/pg_query/include/access/skey.h +1 -1
- data/ext/pg_query/include/access/stratnum.h +4 -2
- data/ext/pg_query/include/access/sysattr.h +1 -1
- data/ext/pg_query/include/access/table.h +2 -1
- data/ext/pg_query/include/access/tableam.h +272 -20
- data/ext/pg_query/include/access/toast_compression.h +73 -0
- data/ext/pg_query/include/access/transam.h +123 -13
- data/ext/pg_query/include/access/tupconvert.h +1 -1
- data/ext/pg_query/include/access/tupdesc.h +1 -1
- data/ext/pg_query/include/access/tupmacs.h +3 -3
- data/ext/pg_query/include/access/twophase.h +5 -1
- data/ext/pg_query/include/access/xact.h +79 -19
- data/ext/pg_query/include/access/xlog.h +60 -155
- data/ext/pg_query/include/access/xlog_internal.h +50 -14
- data/ext/pg_query/include/access/xlogdefs.h +8 -16
- data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
- data/ext/pg_query/include/access/xlogreader.h +148 -32
- data/ext/pg_query/include/access/xlogrecord.h +18 -9
- data/ext/pg_query/include/access/xlogrecovery.h +157 -0
- data/ext/pg_query/include/c.h +101 -44
- data/ext/pg_query/include/catalog/catalog.h +3 -1
- data/ext/pg_query/include/catalog/catversion.h +2 -2
- data/ext/pg_query/include/catalog/dependency.h +10 -16
- data/ext/pg_query/include/catalog/genbki.h +83 -5
- data/ext/pg_query/include/catalog/index.h +18 -3
- data/ext/pg_query/include/catalog/indexing.h +12 -324
- data/ext/pg_query/include/catalog/namespace.h +4 -2
- data/ext/pg_query/include/catalog/objectaccess.h +70 -2
- data/ext/pg_query/include/catalog/objectaddress.h +11 -6
- data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_am.h +4 -1
- data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
- data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
- data/ext/pg_query/include/catalog/pg_authid.h +7 -2
- data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
- data/ext/pg_query/include/catalog/pg_class.h +45 -15
- data/ext/pg_query/include/catalog/pg_class_d.h +31 -2
- data/ext/pg_query/include/catalog/pg_collation.h +33 -8
- data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
- data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
- data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
- data/ext/pg_query/include/catalog/pg_control.h +5 -5
- data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
- data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_depend.h +11 -7
- data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_index.h +17 -7
- data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
- data/ext/pg_query/include/catalog/pg_language.h +10 -5
- data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
- data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
- data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_operator.h +21 -16
- data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
- data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
- data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_proc.h +20 -11
- data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
- data/ext/pg_query/include/catalog/pg_publication.h +50 -4
- data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
- data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
- data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
- data/ext/pg_query/include/catalog/pg_transform.h +8 -5
- data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
- data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
- data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
- data/ext/pg_query/include/catalog/pg_type.h +56 -24
- data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
- data/ext/pg_query/include/catalog/storage.h +5 -3
- data/ext/pg_query/include/commands/async.h +4 -5
- data/ext/pg_query/include/commands/dbcommands.h +2 -1
- data/ext/pg_query/include/commands/defrem.h +11 -24
- data/ext/pg_query/include/commands/event_trigger.h +2 -2
- data/ext/pg_query/include/commands/explain.h +1 -1
- data/ext/pg_query/include/commands/prepare.h +1 -1
- data/ext/pg_query/include/commands/tablespace.h +3 -1
- data/ext/pg_query/include/commands/trigger.h +27 -17
- data/ext/pg_query/include/commands/user.h +2 -2
- data/ext/pg_query/include/commands/vacuum.h +88 -41
- data/ext/pg_query/include/commands/variable.h +1 -1
- data/ext/pg_query/include/common/file_perm.h +4 -4
- data/ext/pg_query/include/common/hashfn.h +1 -1
- data/ext/pg_query/include/common/ip.h +1 -7
- data/ext/pg_query/include/common/keywords.h +2 -6
- data/ext/pg_query/include/common/kwlookup.h +1 -1
- data/ext/pg_query/include/common/pg_prng.h +60 -0
- data/ext/pg_query/include/common/relpath.h +2 -2
- data/ext/pg_query/include/common/string.h +24 -1
- data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
- data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
- data/ext/pg_query/include/datatype/timestamp.h +40 -1
- data/ext/pg_query/include/executor/execdesc.h +1 -1
- data/ext/pg_query/include/executor/executor.h +65 -22
- data/ext/pg_query/include/executor/functions.h +17 -3
- data/ext/pg_query/include/executor/instrument.h +33 -16
- data/ext/pg_query/include/executor/spi.h +41 -3
- data/ext/pg_query/include/executor/tablefunc.h +1 -1
- data/ext/pg_query/include/executor/tuptable.h +1 -1
- data/ext/pg_query/include/fmgr.h +13 -7
- data/ext/pg_query/include/funcapi.h +16 -4
- data/ext/pg_query/include/getaddrinfo.h +1 -1
- data/ext/pg_query/include/jit/jit.h +11 -11
- data/ext/pg_query/include/kwlist_d.h +517 -494
- data/ext/pg_query/include/lib/dshash.h +112 -0
- data/ext/pg_query/include/lib/ilist.h +20 -1
- data/ext/pg_query/include/lib/pairingheap.h +1 -1
- data/ext/pg_query/include/lib/simplehash.h +150 -25
- data/ext/pg_query/include/lib/sort_template.h +432 -0
- data/ext/pg_query/include/lib/stringinfo.h +1 -1
- data/ext/pg_query/include/libpq/auth.h +6 -4
- data/ext/pg_query/include/libpq/crypt.h +5 -4
- data/ext/pg_query/include/libpq/hba.h +43 -4
- data/ext/pg_query/include/libpq/libpq-be.h +23 -6
- data/ext/pg_query/include/libpq/libpq.h +31 -20
- data/ext/pg_query/include/libpq/pqcomm.h +17 -31
- data/ext/pg_query/include/libpq/pqformat.h +1 -1
- data/ext/pg_query/include/libpq/pqsignal.h +4 -4
- data/ext/pg_query/include/mb/pg_wchar.h +106 -23
- data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
- data/ext/pg_query/include/miscadmin.h +71 -52
- data/ext/pg_query/include/nodes/bitmapset.h +1 -1
- data/ext/pg_query/include/nodes/execnodes.h +272 -80
- data/ext/pg_query/include/nodes/extensible.h +4 -2
- data/ext/pg_query/include/nodes/lockoptions.h +1 -1
- data/ext/pg_query/include/nodes/makefuncs.h +7 -6
- data/ext/pg_query/include/nodes/memnodes.h +5 -3
- data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
- data/ext/pg_query/include/nodes/nodes.h +30 -11
- data/ext/pg_query/include/nodes/params.h +1 -1
- data/ext/pg_query/include/nodes/parsenodes.h +327 -94
- data/ext/pg_query/include/nodes/pathnodes.h +245 -67
- data/ext/pg_query/include/nodes/pg_list.h +75 -68
- data/ext/pg_query/include/nodes/plannodes.h +128 -30
- data/ext/pg_query/include/nodes/primnodes.h +99 -47
- data/ext/pg_query/include/nodes/print.h +1 -1
- data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
- data/ext/pg_query/include/nodes/value.h +58 -39
- data/ext/pg_query/include/optimizer/cost.h +9 -2
- data/ext/pg_query/include/optimizer/geqo.h +9 -7
- data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
- data/ext/pg_query/include/optimizer/optimizer.h +25 -22
- data/ext/pg_query/include/optimizer/paths.h +6 -6
- data/ext/pg_query/include/optimizer/planmain.h +15 -14
- data/ext/pg_query/include/parser/analyze.h +19 -5
- data/ext/pg_query/include/parser/gram.h +947 -913
- data/ext/pg_query/include/parser/gramparse.h +1 -1
- data/ext/pg_query/include/parser/kwlist.h +463 -453
- data/ext/pg_query/include/parser/parse_agg.h +2 -7
- data/ext/pg_query/include/parser/parse_coerce.h +4 -1
- data/ext/pg_query/include/parser/parse_expr.h +2 -3
- data/ext/pg_query/include/parser/parse_func.h +2 -1
- data/ext/pg_query/include/parser/parse_node.h +21 -9
- data/ext/pg_query/include/parser/parse_oper.h +1 -3
- data/ext/pg_query/include/parser/parse_relation.h +5 -4
- data/ext/pg_query/include/parser/parse_type.h +1 -1
- data/ext/pg_query/include/parser/parser.h +31 -4
- data/ext/pg_query/include/parser/parsetree.h +1 -1
- data/ext/pg_query/include/parser/scanner.h +1 -1
- data/ext/pg_query/include/parser/scansup.h +2 -5
- data/ext/pg_query/include/partitioning/partdefs.h +1 -1
- data/ext/pg_query/include/pg_config.h +94 -46
- data/ext/pg_query/include/pg_config_manual.h +74 -21
- data/ext/pg_query/include/pg_getopt.h +6 -6
- data/ext/pg_query/include/pg_query.h +5 -4
- data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +1220 -422
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +152 -26
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +174 -30
- data/ext/pg_query/include/pg_trace.h +1 -1
- data/ext/pg_query/include/pgstat.h +449 -1237
- data/ext/pg_query/include/pgtime.h +14 -4
- data/ext/pg_query/include/pl_gram.h +126 -128
- data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
- data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/include/plerrcodes.h +9 -1
- data/ext/pg_query/include/plpgsql.h +52 -54
- data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
- data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
- data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
- data/ext/pg_query/include/port/atomics/fallback.h +1 -1
- data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
- data/ext/pg_query/include/port/atomics/generic.h +1 -1
- data/ext/pg_query/include/port/atomics.h +1 -1
- data/ext/pg_query/include/port/pg_bitutils.h +88 -12
- data/ext/pg_query/include/port/pg_bswap.h +1 -1
- data/ext/pg_query/include/port/pg_crc32c.h +1 -1
- data/ext/pg_query/include/port.h +72 -43
- data/ext/pg_query/include/portability/instr_time.h +1 -1
- data/ext/pg_query/include/postgres.h +60 -16
- data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
- data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
- data/ext/pg_query/include/postmaster/bgworker.h +2 -1
- data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
- data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
- data/ext/pg_query/include/postmaster/fork_process.h +1 -1
- data/ext/pg_query/include/postmaster/interrupt.h +1 -1
- data/ext/pg_query/include/postmaster/pgarch.h +42 -8
- data/ext/pg_query/include/postmaster/postmaster.h +18 -17
- data/ext/pg_query/include/postmaster/startup.h +39 -0
- data/ext/pg_query/include/postmaster/syslogger.h +15 -10
- data/ext/pg_query/include/postmaster/walwriter.h +3 -3
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1422 -916
- data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
- data/ext/pg_query/include/regex/regex.h +18 -16
- data/ext/pg_query/include/replication/logicallauncher.h +3 -5
- data/ext/pg_query/include/replication/logicalproto.h +161 -17
- data/ext/pg_query/include/replication/logicalworker.h +1 -1
- data/ext/pg_query/include/replication/origin.h +7 -7
- data/ext/pg_query/include/replication/reorderbuffer.h +262 -44
- data/ext/pg_query/include/replication/slot.h +23 -12
- data/ext/pg_query/include/replication/syncrep.h +5 -5
- data/ext/pg_query/include/replication/walreceiver.h +145 -13
- data/ext/pg_query/include/replication/walsender.h +8 -8
- data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
- data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
- data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
- data/ext/pg_query/include/storage/backendid.h +3 -3
- data/ext/pg_query/include/storage/block.h +4 -10
- data/ext/pg_query/include/storage/buf.h +1 -1
- data/ext/pg_query/include/storage/bufmgr.h +19 -14
- data/ext/pg_query/include/storage/bufpage.h +6 -8
- data/ext/pg_query/include/storage/condition_variable.h +13 -2
- data/ext/pg_query/include/storage/dsm.h +4 -1
- data/ext/pg_query/include/storage/dsm_impl.h +3 -2
- data/ext/pg_query/include/storage/fd.h +33 -3
- data/ext/pg_query/include/storage/fileset.h +40 -0
- data/ext/pg_query/include/storage/ipc.h +4 -1
- data/ext/pg_query/include/storage/item.h +1 -1
- data/ext/pg_query/include/storage/itemid.h +1 -1
- data/ext/pg_query/include/storage/itemptr.h +3 -1
- data/ext/pg_query/include/storage/large_object.h +2 -2
- data/ext/pg_query/include/storage/latch.h +9 -13
- data/ext/pg_query/include/storage/lmgr.h +2 -1
- data/ext/pg_query/include/storage/lock.h +17 -13
- data/ext/pg_query/include/storage/lockdefs.h +2 -2
- data/ext/pg_query/include/storage/lwlock.h +6 -32
- data/ext/pg_query/include/storage/lwlocknames.h +0 -1
- data/ext/pg_query/include/storage/off.h +1 -1
- data/ext/pg_query/include/storage/pg_sema.h +1 -1
- data/ext/pg_query/include/storage/pg_shmem.h +9 -7
- data/ext/pg_query/include/storage/pmsignal.h +15 -4
- data/ext/pg_query/include/storage/predicate.h +4 -4
- data/ext/pg_query/include/storage/proc.h +183 -55
- data/ext/pg_query/include/storage/procarray.h +98 -0
- data/ext/pg_query/include/storage/proclist_types.h +1 -1
- data/ext/pg_query/include/storage/procsignal.h +3 -7
- data/ext/pg_query/include/storage/relfilenode.h +1 -1
- data/ext/pg_query/include/storage/s_lock.h +67 -4
- data/ext/pg_query/include/storage/sharedfileset.h +3 -11
- data/ext/pg_query/include/storage/shm_mq.h +5 -4
- data/ext/pg_query/include/storage/shm_toc.h +1 -1
- data/ext/pg_query/include/storage/shmem.h +1 -1
- data/ext/pg_query/include/storage/sinval.h +3 -3
- data/ext/pg_query/include/storage/sinvaladt.h +1 -1
- data/ext/pg_query/include/storage/smgr.h +10 -8
- data/ext/pg_query/include/storage/spin.h +2 -2
- data/ext/pg_query/include/storage/standby.h +13 -6
- data/ext/pg_query/include/storage/standbydefs.h +2 -2
- data/ext/pg_query/include/storage/sync.h +7 -3
- data/ext/pg_query/include/tcop/cmdtag.h +1 -1
- data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
- data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
- data/ext/pg_query/include/tcop/dest.h +1 -1
- data/ext/pg_query/include/tcop/fastpath.h +1 -2
- data/ext/pg_query/include/tcop/pquery.h +7 -1
- data/ext/pg_query/include/tcop/tcopprot.h +19 -11
- data/ext/pg_query/include/tcop/utility.h +7 -3
- data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
- data/ext/pg_query/include/utils/acl.h +24 -3
- data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
- data/ext/pg_query/include/utils/array.h +7 -2
- data/ext/pg_query/include/utils/backend_progress.h +44 -0
- data/ext/pg_query/include/utils/backend_status.h +321 -0
- data/ext/pg_query/include/utils/builtins.h +11 -11
- data/ext/pg_query/include/utils/bytea.h +3 -2
- data/ext/pg_query/include/utils/catcache.h +1 -1
- data/ext/pg_query/include/utils/date.h +1 -1
- data/ext/pg_query/include/utils/datetime.h +8 -7
- data/ext/pg_query/include/utils/datum.h +9 -1
- data/ext/pg_query/include/utils/dsa.h +1 -1
- data/ext/pg_query/include/utils/dynahash.h +4 -3
- data/ext/pg_query/include/utils/elog.h +52 -21
- data/ext/pg_query/include/utils/errcodes.h +2 -0
- data/ext/pg_query/include/utils/expandeddatum.h +1 -1
- data/ext/pg_query/include/utils/expandedrecord.h +1 -1
- data/ext/pg_query/include/utils/float.h +7 -7
- data/ext/pg_query/include/utils/fmgroids.h +1300 -696
- data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
- data/ext/pg_query/include/utils/fmgrtab.h +6 -5
- data/ext/pg_query/include/utils/guc.h +69 -43
- data/ext/pg_query/include/utils/guc_tables.h +23 -19
- data/ext/pg_query/include/utils/hsearch.h +15 -11
- data/ext/pg_query/include/utils/inval.h +5 -1
- data/ext/pg_query/include/utils/lsyscache.h +11 -1
- data/ext/pg_query/include/utils/memdebug.h +1 -1
- data/ext/pg_query/include/utils/memutils.h +8 -3
- data/ext/pg_query/include/utils/numeric.h +19 -5
- data/ext/pg_query/include/utils/palloc.h +25 -3
- data/ext/pg_query/include/utils/partcache.h +1 -1
- data/ext/pg_query/include/utils/pg_locale.h +17 -9
- data/ext/pg_query/include/utils/pg_lsn.h +1 -1
- data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
- data/ext/pg_query/include/utils/pidfile.h +1 -1
- data/ext/pg_query/include/utils/plancache.h +6 -5
- data/ext/pg_query/include/utils/portal.h +12 -1
- data/ext/pg_query/include/utils/ps_status.h +1 -1
- data/ext/pg_query/include/utils/queryenvironment.h +1 -1
- data/ext/pg_query/include/utils/queryjumble.h +88 -0
- data/ext/pg_query/include/utils/regproc.h +14 -3
- data/ext/pg_query/include/utils/rel.h +71 -20
- data/ext/pg_query/include/utils/relcache.h +9 -7
- data/ext/pg_query/include/utils/reltrigger.h +1 -1
- data/ext/pg_query/include/utils/resowner.h +1 -1
- data/ext/pg_query/include/utils/rls.h +2 -2
- data/ext/pg_query/include/utils/ruleutils.h +4 -1
- data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
- data/ext/pg_query/include/utils/snapmgr.h +35 -14
- data/ext/pg_query/include/utils/snapshot.h +14 -1
- data/ext/pg_query/include/utils/sortsupport.h +117 -2
- data/ext/pg_query/include/utils/syscache.h +6 -1
- data/ext/pg_query/include/utils/timeout.h +11 -4
- data/ext/pg_query/include/utils/timestamp.h +6 -5
- data/ext/pg_query/include/utils/tuplesort.h +25 -11
- data/ext/pg_query/include/utils/tuplestore.h +2 -2
- data/ext/pg_query/include/utils/typcache.h +24 -17
- data/ext/pg_query/include/utils/tzparser.h +1 -1
- data/ext/pg_query/include/utils/varlena.h +5 -3
- data/ext/pg_query/include/utils/wait_event.h +289 -0
- data/ext/pg_query/include/utils/xml.h +4 -4
- data/ext/pg_query/pg_query.pb-c.c +4318 -2307
- data/ext/pg_query/pg_query_deparse.c +1114 -381
- data/ext/pg_query/pg_query_fingerprint.c +46 -10
- data/ext/pg_query/pg_query_fingerprint.h +3 -1
- data/ext/pg_query/pg_query_json_plpgsql.c +55 -12
- data/ext/pg_query/pg_query_normalize.c +163 -20
- data/ext/pg_query/pg_query_outfuncs.h +1 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +65 -16
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
- data/ext/pg_query/pg_query_parse.c +1 -1
- data/ext/pg_query/pg_query_parse_plpgsql.c +79 -16
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
- data/ext/pg_query/pg_query_ruby.c +1 -1
- data/ext/pg_query/pg_query_scan.c +2 -1
- data/ext/pg_query/pg_query_split.c +3 -2
- data/ext/pg_query/src_backend_catalog_namespace.c +21 -9
- data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
- data/ext/pg_query/src_backend_commands_define.c +11 -1
- data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +424 -109
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +291 -46
- data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
- data/ext/pg_query/src_backend_nodes_list.c +86 -11
- data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
- data/ext/pg_query/src_backend_nodes_value.c +28 -19
- data/ext/pg_query/src_backend_parser_gram.c +33890 -31262
- data/ext/pg_query/src_backend_parser_parser.c +26 -7
- data/ext/pg_query/src_backend_parser_scan.c +644 -441
- data/ext/pg_query/src_backend_parser_scansup.c +4 -28
- data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
- data/ext/pg_query/src_backend_tcop_postgres.c +73 -24
- data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
- 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_ruleutils.c +109 -15
- data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
- data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
- data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
- data/ext/pg_query/src_backend_utils_misc_guc.c +207 -45
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
- data/ext/pg_query/src_common_encnames.c +1 -1
- 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 +517 -494
- data/ext/pg_query/src_common_kwlookup.c +1 -1
- data/ext/pg_query/src_common_pg_prng.c +152 -0
- data/ext/pg_query/src_common_psprintf.c +1 -1
- data/ext/pg_query/src_common_string.c +7 -1
- data/ext/pg_query/src_common_stringinfo.c +1 -1
- data/ext/pg_query/src_common_wchar.c +712 -109
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1235 -1261
- 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 +2 -2
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
- data/ext/pg_query/src_port_pg_bitutils.c +41 -52
- data/ext/pg_query/src_port_pgsleep.c +1 -1
- data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
- data/ext/pg_query/src_port_qsort.c +12 -224
- data/ext/pg_query/src_port_snprintf.c +46 -20
- data/ext/pg_query/src_port_strerror.c +9 -19
- data/ext/pg_query/src_port_strnlen.c +1 -1
- data/lib/pg_query/deparse.rb +7 -1
- data/lib/pg_query/filter_columns.rb +6 -4
- data/lib/pg_query/fingerprint.rb +18 -3
- data/lib/pg_query/node.rb +2 -2
- data/lib/pg_query/param_refs.rb +1 -1
- data/lib/pg_query/parse.rb +87 -51
- data/lib/pg_query/pg_query_pb.rb +1109 -942
- data/lib/pg_query/treewalker.rb +6 -0
- data/lib/pg_query/truncate.rb +54 -8
- data/lib/pg_query/version.rb +1 -1
- metadata +29 -18
- data/ext/pg_query/include/access/xloginsert.h +0 -64
- data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
- data/ext/pg_query/include/parser/parse_clause.h +0 -54
- data/ext/pg_query/include/parser/parse_collate.h +0 -27
- data/ext/pg_query/include/parser/parse_target.h +0 -46
- data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
- data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
- data/ext/pg_query/src_port_erand48.c +0 -127
- data/ext/pg_query/src_port_random.c +0 -31
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* prototypes for the creator functions of various nodes
|
|
5
5
|
*
|
|
6
6
|
*
|
|
7
|
-
* Portions Copyright (c) 1996-
|
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
9
|
*
|
|
10
10
|
* src/include/nodes/makefuncs.h
|
|
@@ -24,18 +24,18 @@ extern A_Expr *makeA_Expr(A_Expr_Kind kind, List *name,
|
|
|
24
24
|
extern A_Expr *makeSimpleA_Expr(A_Expr_Kind kind, char *name,
|
|
25
25
|
Node *lexpr, Node *rexpr, int location);
|
|
26
26
|
|
|
27
|
-
extern Var *makeVar(
|
|
27
|
+
extern Var *makeVar(int varno,
|
|
28
28
|
AttrNumber varattno,
|
|
29
29
|
Oid vartype,
|
|
30
30
|
int32 vartypmod,
|
|
31
31
|
Oid varcollid,
|
|
32
32
|
Index varlevelsup);
|
|
33
33
|
|
|
34
|
-
extern Var *makeVarFromTargetEntry(
|
|
34
|
+
extern Var *makeVarFromTargetEntry(int varno,
|
|
35
35
|
TargetEntry *tle);
|
|
36
36
|
|
|
37
37
|
extern Var *makeWholeRowVar(RangeTblEntry *rte,
|
|
38
|
-
|
|
38
|
+
int varno,
|
|
39
39
|
Index varlevelsup,
|
|
40
40
|
bool allowScalar);
|
|
41
41
|
|
|
@@ -79,7 +79,8 @@ extern ColumnDef *makeColumnDef(const char *colname,
|
|
|
79
79
|
extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype, List *args,
|
|
80
80
|
Oid funccollid, Oid inputcollid, CoercionForm fformat);
|
|
81
81
|
|
|
82
|
-
extern FuncCall *makeFuncCall(List *name, List *args,
|
|
82
|
+
extern FuncCall *makeFuncCall(List *name, List *args,
|
|
83
|
+
CoercionForm funcformat, int location);
|
|
83
84
|
|
|
84
85
|
extern Expr *make_opclause(Oid opno, Oid opresulttype, bool opretset,
|
|
85
86
|
Expr *leftop, Expr *rightop,
|
|
@@ -95,7 +96,7 @@ extern List *make_ands_implicit(Expr *clause);
|
|
|
95
96
|
|
|
96
97
|
extern IndexInfo *makeIndexInfo(int numattrs, int numkeyattrs, Oid amoid,
|
|
97
98
|
List *expressions, List *predicates,
|
|
98
|
-
bool unique, bool isready, bool concurrent);
|
|
99
|
+
bool unique, bool nulls_not_distinct, bool isready, bool concurrent);
|
|
99
100
|
|
|
100
101
|
extern DefElem *makeDefElem(char *name, Node *arg, int location);
|
|
101
102
|
extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* POSTGRES memory context node definitions.
|
|
5
5
|
*
|
|
6
6
|
*
|
|
7
|
-
* Portions Copyright (c) 1996-
|
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
9
|
*
|
|
10
10
|
* src/include/nodes/memnodes.h
|
|
@@ -52,7 +52,8 @@ typedef struct MemoryContextCounters
|
|
|
52
52
|
*/
|
|
53
53
|
|
|
54
54
|
typedef void (*MemoryStatsPrintFunc) (MemoryContext context, void *passthru,
|
|
55
|
-
const char *stats_string
|
|
55
|
+
const char *stats_string,
|
|
56
|
+
bool print_to_stderr);
|
|
56
57
|
|
|
57
58
|
typedef struct MemoryContextMethods
|
|
58
59
|
{
|
|
@@ -66,7 +67,8 @@ typedef struct MemoryContextMethods
|
|
|
66
67
|
bool (*is_empty) (MemoryContext context);
|
|
67
68
|
void (*stats) (MemoryContext context,
|
|
68
69
|
MemoryStatsPrintFunc printfunc, void *passthru,
|
|
69
|
-
MemoryContextCounters *totals
|
|
70
|
+
MemoryContextCounters *totals,
|
|
71
|
+
bool print_to_stderr);
|
|
70
72
|
#ifdef MEMORY_CONTEXT_CHECKING
|
|
71
73
|
void (*check) (MemoryContext context);
|
|
72
74
|
#endif
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* nodeFuncs.h
|
|
4
4
|
* Various general-purpose manipulations of Node trees
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
7
7
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
8
|
*
|
|
9
9
|
* src/include/nodes/nodeFuncs.h
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Definitions for tagged nodes.
|
|
5
5
|
*
|
|
6
6
|
*
|
|
7
|
-
* Portions Copyright (c) 1996-
|
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
9
|
*
|
|
10
10
|
* src/include/nodes/nodes.h
|
|
@@ -35,6 +35,7 @@ typedef enum NodeTag
|
|
|
35
35
|
T_ProjectionInfo,
|
|
36
36
|
T_JunkFilter,
|
|
37
37
|
T_OnConflictSetState,
|
|
38
|
+
T_MergeActionState,
|
|
38
39
|
T_ResultRelInfo,
|
|
39
40
|
T_EState,
|
|
40
41
|
T_TupleTableSlot,
|
|
@@ -59,6 +60,7 @@ typedef enum NodeTag
|
|
|
59
60
|
T_BitmapIndexScan,
|
|
60
61
|
T_BitmapHeapScan,
|
|
61
62
|
T_TidScan,
|
|
63
|
+
T_TidRangeScan,
|
|
62
64
|
T_SubqueryScan,
|
|
63
65
|
T_FunctionScan,
|
|
64
66
|
T_ValuesScan,
|
|
@@ -73,6 +75,7 @@ typedef enum NodeTag
|
|
|
73
75
|
T_MergeJoin,
|
|
74
76
|
T_HashJoin,
|
|
75
77
|
T_Material,
|
|
78
|
+
T_Memoize,
|
|
76
79
|
T_Sort,
|
|
77
80
|
T_IncrementalSort,
|
|
78
81
|
T_Group,
|
|
@@ -116,6 +119,7 @@ typedef enum NodeTag
|
|
|
116
119
|
T_BitmapIndexScanState,
|
|
117
120
|
T_BitmapHeapScanState,
|
|
118
121
|
T_TidScanState,
|
|
122
|
+
T_TidRangeScanState,
|
|
119
123
|
T_SubqueryScanState,
|
|
120
124
|
T_FunctionScanState,
|
|
121
125
|
T_TableFuncScanState,
|
|
@@ -130,6 +134,7 @@ typedef enum NodeTag
|
|
|
130
134
|
T_MergeJoinState,
|
|
131
135
|
T_HashJoinState,
|
|
132
136
|
T_MaterialState,
|
|
137
|
+
T_MemoizeState,
|
|
133
138
|
T_SortState,
|
|
134
139
|
T_IncrementalSortState,
|
|
135
140
|
T_GroupState,
|
|
@@ -149,7 +154,6 @@ typedef enum NodeTag
|
|
|
149
154
|
T_Alias,
|
|
150
155
|
T_RangeVar,
|
|
151
156
|
T_TableFunc,
|
|
152
|
-
T_Expr,
|
|
153
157
|
T_Var,
|
|
154
158
|
T_Const,
|
|
155
159
|
T_Param,
|
|
@@ -206,14 +210,12 @@ typedef enum NodeTag
|
|
|
206
210
|
* Most Expr-based plan nodes do not have a corresponding expression state
|
|
207
211
|
* node, they're fully handled within execExpr* - but sometimes the state
|
|
208
212
|
* needs to be shared with other parts of the executor, as for example
|
|
209
|
-
* with
|
|
213
|
+
* with SubPlanState, which nodeSubplan.c has to modify.
|
|
210
214
|
*/
|
|
211
215
|
T_ExprState,
|
|
212
|
-
T_AggrefExprState,
|
|
213
216
|
T_WindowFuncExprState,
|
|
214
217
|
T_SetExprState,
|
|
215
218
|
T_SubPlanState,
|
|
216
|
-
T_AlternativeSubPlanState,
|
|
217
219
|
T_DomainConstraintState,
|
|
218
220
|
|
|
219
221
|
/*
|
|
@@ -231,6 +233,7 @@ typedef enum NodeTag
|
|
|
231
233
|
T_BitmapAndPath,
|
|
232
234
|
T_BitmapOrPath,
|
|
233
235
|
T_TidPath,
|
|
236
|
+
T_TidRangePath,
|
|
234
237
|
T_SubqueryScanPath,
|
|
235
238
|
T_ForeignPath,
|
|
236
239
|
T_CustomPath,
|
|
@@ -241,6 +244,7 @@ typedef enum NodeTag
|
|
|
241
244
|
T_MergeAppendPath,
|
|
242
245
|
T_GroupResultPath,
|
|
243
246
|
T_MaterialPath,
|
|
247
|
+
T_MemoizePath,
|
|
244
248
|
T_UniquePath,
|
|
245
249
|
T_GatherPath,
|
|
246
250
|
T_GatherMergePath,
|
|
@@ -263,23 +267,25 @@ typedef enum NodeTag
|
|
|
263
267
|
T_EquivalenceClass,
|
|
264
268
|
T_EquivalenceMember,
|
|
265
269
|
T_PathKey,
|
|
270
|
+
T_PathKeyInfo,
|
|
266
271
|
T_PathTarget,
|
|
267
272
|
T_RestrictInfo,
|
|
268
273
|
T_IndexClause,
|
|
269
274
|
T_PlaceHolderVar,
|
|
270
275
|
T_SpecialJoinInfo,
|
|
271
276
|
T_AppendRelInfo,
|
|
277
|
+
T_RowIdentityVarInfo,
|
|
272
278
|
T_PlaceHolderInfo,
|
|
273
279
|
T_MinMaxAggInfo,
|
|
274
280
|
T_PlannerParamItem,
|
|
275
281
|
T_RollupData,
|
|
276
282
|
T_GroupingSetData,
|
|
277
283
|
T_StatisticExtInfo,
|
|
284
|
+
T_MergeAction,
|
|
278
285
|
|
|
279
286
|
/*
|
|
280
287
|
* TAGS FOR MEMORY NODES (memnodes.h)
|
|
281
288
|
*/
|
|
282
|
-
T_MemoryContext,
|
|
283
289
|
T_AllocSetContext,
|
|
284
290
|
T_SlabContext,
|
|
285
291
|
T_GenerationContext,
|
|
@@ -287,12 +293,11 @@ typedef enum NodeTag
|
|
|
287
293
|
/*
|
|
288
294
|
* TAGS FOR VALUE NODES (value.h)
|
|
289
295
|
*/
|
|
290
|
-
T_Value,
|
|
291
296
|
T_Integer,
|
|
292
297
|
T_Float,
|
|
298
|
+
T_Boolean,
|
|
293
299
|
T_String,
|
|
294
300
|
T_BitString,
|
|
295
|
-
T_Null,
|
|
296
301
|
|
|
297
302
|
/*
|
|
298
303
|
* TAGS FOR LIST NODES (pg_list.h)
|
|
@@ -315,7 +320,10 @@ typedef enum NodeTag
|
|
|
315
320
|
T_InsertStmt,
|
|
316
321
|
T_DeleteStmt,
|
|
317
322
|
T_UpdateStmt,
|
|
323
|
+
T_MergeStmt,
|
|
318
324
|
T_SelectStmt,
|
|
325
|
+
T_ReturnStmt,
|
|
326
|
+
T_PLAssignStmt,
|
|
319
327
|
T_AlterTableStmt,
|
|
320
328
|
T_AlterTableCmd,
|
|
321
329
|
T_AlterDomainStmt,
|
|
@@ -366,6 +374,7 @@ typedef enum NodeTag
|
|
|
366
374
|
T_CheckPointStmt,
|
|
367
375
|
T_CreateSchemaStmt,
|
|
368
376
|
T_AlterDatabaseStmt,
|
|
377
|
+
T_AlterDatabaseRefreshCollStmt,
|
|
369
378
|
T_AlterDatabaseSetStmt,
|
|
370
379
|
T_AlterRoleSetStmt,
|
|
371
380
|
T_CreateConversionStmt,
|
|
@@ -452,6 +461,7 @@ typedef enum NodeTag
|
|
|
452
461
|
T_TypeName,
|
|
453
462
|
T_ColumnDef,
|
|
454
463
|
T_IndexElem,
|
|
464
|
+
T_StatsElem,
|
|
455
465
|
T_Constraint,
|
|
456
466
|
T_DefElem,
|
|
457
467
|
T_RangeTblEntry,
|
|
@@ -472,7 +482,10 @@ typedef enum NodeTag
|
|
|
472
482
|
T_WithClause,
|
|
473
483
|
T_InferClause,
|
|
474
484
|
T_OnConflictClause,
|
|
485
|
+
T_CTESearchClause,
|
|
486
|
+
T_CTECycleClause,
|
|
475
487
|
T_CommonTableExpr,
|
|
488
|
+
T_MergeWhenClause,
|
|
476
489
|
T_RoleSpec,
|
|
477
490
|
T_TriggerTransition,
|
|
478
491
|
T_PartitionElem,
|
|
@@ -481,6 +494,8 @@ typedef enum NodeTag
|
|
|
481
494
|
T_PartitionRangeDatum,
|
|
482
495
|
T_PartitionCmd,
|
|
483
496
|
T_VacuumRelation,
|
|
497
|
+
T_PublicationObjSpec,
|
|
498
|
+
T_PublicationTable,
|
|
484
499
|
|
|
485
500
|
/*
|
|
486
501
|
* TAGS FOR REPLICATION GRAMMAR PARSE NODES (replnodes.h)
|
|
@@ -489,9 +504,9 @@ typedef enum NodeTag
|
|
|
489
504
|
T_BaseBackupCmd,
|
|
490
505
|
T_CreateReplicationSlotCmd,
|
|
491
506
|
T_DropReplicationSlotCmd,
|
|
507
|
+
T_ReadReplicationSlotCmd,
|
|
492
508
|
T_StartReplicationCmd,
|
|
493
509
|
T_TimeLineHistoryCmd,
|
|
494
|
-
T_SQLCmd,
|
|
495
510
|
|
|
496
511
|
/*
|
|
497
512
|
* TAGS FOR RANDOM OTHER STUFF
|
|
@@ -517,7 +532,8 @@ typedef enum NodeTag
|
|
|
517
532
|
T_SupportRequestSelectivity, /* in nodes/supportnodes.h */
|
|
518
533
|
T_SupportRequestCost, /* in nodes/supportnodes.h */
|
|
519
534
|
T_SupportRequestRows, /* in nodes/supportnodes.h */
|
|
520
|
-
T_SupportRequestIndexCondition
|
|
535
|
+
T_SupportRequestIndexCondition, /* in nodes/supportnodes.h */
|
|
536
|
+
T_SupportRequestWFuncMonotonic /* in nodes/supportnodes.h */
|
|
521
537
|
} NodeTag;
|
|
522
538
|
|
|
523
539
|
/*
|
|
@@ -661,6 +677,8 @@ extern bool equal(const void *a, const void *b);
|
|
|
661
677
|
*/
|
|
662
678
|
typedef double Selectivity; /* fraction of tuples a qualifier will pass */
|
|
663
679
|
typedef double Cost; /* execution cost (in page-access units) */
|
|
680
|
+
typedef double Cardinality; /* (estimated) number of rows or other integer
|
|
681
|
+
* count */
|
|
664
682
|
|
|
665
683
|
|
|
666
684
|
/*
|
|
@@ -675,7 +693,8 @@ typedef enum CmdType
|
|
|
675
693
|
CMD_SELECT, /* select stmt */
|
|
676
694
|
CMD_UPDATE, /* update stmt */
|
|
677
695
|
CMD_INSERT, /* insert stmt */
|
|
678
|
-
CMD_DELETE,
|
|
696
|
+
CMD_DELETE, /* delete stmt */
|
|
697
|
+
CMD_MERGE, /* merge stmt */
|
|
679
698
|
CMD_UTILITY, /* cmds like create, destroy, copy, vacuum,
|
|
680
699
|
* etc. */
|
|
681
700
|
CMD_NOTHING /* dummy command for instead nothing rules
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Support for finding the values associated with Param nodes.
|
|
5
5
|
*
|
|
6
6
|
*
|
|
7
|
-
* Portions Copyright (c) 1996-
|
|
7
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
8
8
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
9
|
*
|
|
10
10
|
* src/include/nodes/params.h
|