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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pgtime.h
|
|
4
4
|
* PostgreSQL internal timezone library
|
|
5
5
|
*
|
|
6
|
-
* Portions Copyright (c) 1996-
|
|
6
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
7
7
|
*
|
|
8
8
|
* IDENTIFICATION
|
|
9
9
|
* src/include/pgtime.h
|
|
@@ -22,14 +22,23 @@
|
|
|
22
22
|
|
|
23
23
|
typedef int64 pg_time_t;
|
|
24
24
|
|
|
25
|
+
/*
|
|
26
|
+
* Data structure representing a broken-down timestamp.
|
|
27
|
+
*
|
|
28
|
+
* CAUTION: the IANA timezone library (src/timezone/) follows the POSIX
|
|
29
|
+
* convention that tm_mon counts from 0 and tm_year is relative to 1900.
|
|
30
|
+
* However, Postgres' datetime functions generally treat tm_mon as counting
|
|
31
|
+
* from 1 and tm_year as relative to 1 BC. Be sure to make the appropriate
|
|
32
|
+
* adjustments when moving from one code domain to the other.
|
|
33
|
+
*/
|
|
25
34
|
struct pg_tm
|
|
26
35
|
{
|
|
27
36
|
int tm_sec;
|
|
28
37
|
int tm_min;
|
|
29
38
|
int tm_hour;
|
|
30
39
|
int tm_mday;
|
|
31
|
-
int tm_mon; /*
|
|
32
|
-
int tm_year; /*
|
|
40
|
+
int tm_mon; /* see above */
|
|
41
|
+
int tm_year; /* see above */
|
|
33
42
|
int tm_wday;
|
|
34
43
|
int tm_yday;
|
|
35
44
|
int tm_isdst;
|
|
@@ -37,6 +46,7 @@ struct pg_tm
|
|
|
37
46
|
const char *tm_zone;
|
|
38
47
|
};
|
|
39
48
|
|
|
49
|
+
/* These structs are opaque outside the timezone library */
|
|
40
50
|
typedef struct pg_tz pg_tz;
|
|
41
51
|
typedef struct pg_tzenum pg_tzenum;
|
|
42
52
|
|
|
@@ -71,7 +81,7 @@ extern size_t pg_strftime(char *s, size_t max, const char *format,
|
|
|
71
81
|
/* these functions and variables are in pgtz.c */
|
|
72
82
|
|
|
73
83
|
extern PGDLLIMPORT pg_tz *session_timezone;
|
|
74
|
-
extern pg_tz *log_timezone;
|
|
84
|
+
extern PGDLLIMPORT pg_tz *log_timezone;
|
|
75
85
|
|
|
76
86
|
extern void pg_timezone_initialize(void);
|
|
77
87
|
extern pg_tz *pg_tzset(const char *tzname);
|
|
@@ -120,29 +120,29 @@
|
|
|
120
120
|
K_LAST = 336,
|
|
121
121
|
K_LOG = 337,
|
|
122
122
|
K_LOOP = 338,
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
123
|
+
K_MERGE = 339,
|
|
124
|
+
K_MESSAGE = 340,
|
|
125
|
+
K_MESSAGE_TEXT = 341,
|
|
126
|
+
K_MOVE = 342,
|
|
127
|
+
K_NEXT = 343,
|
|
128
|
+
K_NO = 344,
|
|
129
|
+
K_NOT = 345,
|
|
130
|
+
K_NOTICE = 346,
|
|
131
|
+
K_NULL = 347,
|
|
132
|
+
K_OPEN = 348,
|
|
133
|
+
K_OPTION = 349,
|
|
134
|
+
K_OR = 350,
|
|
135
|
+
K_PERFORM = 351,
|
|
136
|
+
K_PG_CONTEXT = 352,
|
|
137
|
+
K_PG_DATATYPE_NAME = 353,
|
|
138
|
+
K_PG_EXCEPTION_CONTEXT = 354,
|
|
139
|
+
K_PG_EXCEPTION_DETAIL = 355,
|
|
140
|
+
K_PG_EXCEPTION_HINT = 356,
|
|
141
|
+
K_PRINT_STRICT_PARAMS = 357,
|
|
142
|
+
K_PRIOR = 358,
|
|
143
|
+
K_QUERY = 359,
|
|
144
|
+
K_RAISE = 360,
|
|
145
|
+
K_RELATIVE = 361,
|
|
146
146
|
K_RETURN = 362,
|
|
147
147
|
K_RETURNED_SQLSTATE = 363,
|
|
148
148
|
K_REVERSE = 364,
|
|
@@ -152,23 +152,22 @@
|
|
|
152
152
|
K_SCHEMA = 368,
|
|
153
153
|
K_SCHEMA_NAME = 369,
|
|
154
154
|
K_SCROLL = 370,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
K_WHILE = 387
|
|
155
|
+
K_SLICE = 371,
|
|
156
|
+
K_SQLSTATE = 372,
|
|
157
|
+
K_STACKED = 373,
|
|
158
|
+
K_STRICT = 374,
|
|
159
|
+
K_TABLE = 375,
|
|
160
|
+
K_TABLE_NAME = 376,
|
|
161
|
+
K_THEN = 377,
|
|
162
|
+
K_TO = 378,
|
|
163
|
+
K_TYPE = 379,
|
|
164
|
+
K_USE_COLUMN = 380,
|
|
165
|
+
K_USE_VARIABLE = 381,
|
|
166
|
+
K_USING = 382,
|
|
167
|
+
K_VARIABLE_CONFLICT = 383,
|
|
168
|
+
K_WARNING = 384,
|
|
169
|
+
K_WHEN = 385,
|
|
170
|
+
K_WHILE = 386
|
|
172
171
|
};
|
|
173
172
|
#endif
|
|
174
173
|
/* Tokens. */
|
|
@@ -253,29 +252,29 @@
|
|
|
253
252
|
#define K_LAST 336
|
|
254
253
|
#define K_LOG 337
|
|
255
254
|
#define K_LOOP 338
|
|
256
|
-
#define
|
|
257
|
-
#define
|
|
258
|
-
#define
|
|
259
|
-
#define
|
|
260
|
-
#define
|
|
261
|
-
#define
|
|
262
|
-
#define
|
|
263
|
-
#define
|
|
264
|
-
#define
|
|
265
|
-
#define
|
|
266
|
-
#define
|
|
267
|
-
#define
|
|
268
|
-
#define
|
|
269
|
-
#define
|
|
270
|
-
#define
|
|
271
|
-
#define
|
|
272
|
-
#define
|
|
273
|
-
#define
|
|
274
|
-
#define
|
|
275
|
-
#define
|
|
276
|
-
#define
|
|
277
|
-
#define
|
|
278
|
-
#define
|
|
255
|
+
#define K_MERGE 339
|
|
256
|
+
#define K_MESSAGE 340
|
|
257
|
+
#define K_MESSAGE_TEXT 341
|
|
258
|
+
#define K_MOVE 342
|
|
259
|
+
#define K_NEXT 343
|
|
260
|
+
#define K_NO 344
|
|
261
|
+
#define K_NOT 345
|
|
262
|
+
#define K_NOTICE 346
|
|
263
|
+
#define K_NULL 347
|
|
264
|
+
#define K_OPEN 348
|
|
265
|
+
#define K_OPTION 349
|
|
266
|
+
#define K_OR 350
|
|
267
|
+
#define K_PERFORM 351
|
|
268
|
+
#define K_PG_CONTEXT 352
|
|
269
|
+
#define K_PG_DATATYPE_NAME 353
|
|
270
|
+
#define K_PG_EXCEPTION_CONTEXT 354
|
|
271
|
+
#define K_PG_EXCEPTION_DETAIL 355
|
|
272
|
+
#define K_PG_EXCEPTION_HINT 356
|
|
273
|
+
#define K_PRINT_STRICT_PARAMS 357
|
|
274
|
+
#define K_PRIOR 358
|
|
275
|
+
#define K_QUERY 359
|
|
276
|
+
#define K_RAISE 360
|
|
277
|
+
#define K_RELATIVE 361
|
|
279
278
|
#define K_RETURN 362
|
|
280
279
|
#define K_RETURNED_SQLSTATE 363
|
|
281
280
|
#define K_REVERSE 364
|
|
@@ -285,23 +284,22 @@
|
|
|
285
284
|
#define K_SCHEMA 368
|
|
286
285
|
#define K_SCHEMA_NAME 369
|
|
287
286
|
#define K_SCROLL 370
|
|
288
|
-
#define
|
|
289
|
-
#define
|
|
290
|
-
#define
|
|
291
|
-
#define
|
|
292
|
-
#define
|
|
293
|
-
#define
|
|
294
|
-
#define
|
|
295
|
-
#define
|
|
296
|
-
#define
|
|
297
|
-
#define
|
|
298
|
-
#define
|
|
299
|
-
#define
|
|
300
|
-
#define
|
|
301
|
-
#define
|
|
302
|
-
#define
|
|
303
|
-
#define
|
|
304
|
-
#define K_WHILE 387
|
|
287
|
+
#define K_SLICE 371
|
|
288
|
+
#define K_SQLSTATE 372
|
|
289
|
+
#define K_STACKED 373
|
|
290
|
+
#define K_STRICT 374
|
|
291
|
+
#define K_TABLE 375
|
|
292
|
+
#define K_TABLE_NAME 376
|
|
293
|
+
#define K_THEN 377
|
|
294
|
+
#define K_TO 378
|
|
295
|
+
#define K_TYPE 379
|
|
296
|
+
#define K_USE_COLUMN 380
|
|
297
|
+
#define K_USE_VARIABLE 381
|
|
298
|
+
#define K_USING 382
|
|
299
|
+
#define K_VARIABLE_CONFLICT 383
|
|
300
|
+
#define K_WARNING 384
|
|
301
|
+
#define K_WHEN 385
|
|
302
|
+
#define K_WHILE 386
|
|
305
303
|
|
|
306
304
|
|
|
307
305
|
|
|
@@ -310,57 +308,57 @@
|
|
|
310
308
|
typedef union YYSTYPE
|
|
311
309
|
#line 120 "pl_gram.y"
|
|
312
310
|
{
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
311
|
+
core_YYSTYPE core_yystype;
|
|
312
|
+
/* these fields must match core_YYSTYPE: */
|
|
313
|
+
int ival;
|
|
314
|
+
char *str;
|
|
315
|
+
const char *keyword;
|
|
318
316
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
317
|
+
PLword word;
|
|
318
|
+
PLcword cword;
|
|
319
|
+
PLwdatum wdatum;
|
|
320
|
+
bool boolean;
|
|
321
|
+
Oid oid;
|
|
322
|
+
struct
|
|
323
|
+
{
|
|
324
|
+
char *name;
|
|
325
|
+
int lineno;
|
|
326
|
+
} varname;
|
|
327
|
+
struct
|
|
328
|
+
{
|
|
329
|
+
char *name;
|
|
330
|
+
int lineno;
|
|
331
|
+
PLpgSQL_datum *scalar;
|
|
332
|
+
PLpgSQL_datum *row;
|
|
333
|
+
} forvariable;
|
|
334
|
+
struct
|
|
335
|
+
{
|
|
336
|
+
char *label;
|
|
337
|
+
int n_initvars;
|
|
338
|
+
int *initvarnos;
|
|
339
|
+
} declhdr;
|
|
340
|
+
struct
|
|
341
|
+
{
|
|
342
|
+
List *stmts;
|
|
343
|
+
char *end_label;
|
|
344
|
+
int end_label_location;
|
|
345
|
+
} loop_body;
|
|
346
|
+
List *list;
|
|
347
|
+
PLpgSQL_type *dtype;
|
|
348
|
+
PLpgSQL_datum *datum;
|
|
349
|
+
PLpgSQL_var *var;
|
|
350
|
+
PLpgSQL_expr *expr;
|
|
351
|
+
PLpgSQL_stmt *stmt;
|
|
352
|
+
PLpgSQL_condition *condition;
|
|
353
|
+
PLpgSQL_exception *exception;
|
|
354
|
+
PLpgSQL_exception_block *exception_block;
|
|
355
|
+
PLpgSQL_nsitem *nsitem;
|
|
356
|
+
PLpgSQL_diag_item *diagitem;
|
|
357
|
+
PLpgSQL_stmt_fetch *fetch;
|
|
358
|
+
PLpgSQL_case_when *casewhen;
|
|
361
359
|
}
|
|
362
360
|
/* Line 1529 of yacc.c. */
|
|
363
|
-
#line
|
|
361
|
+
#line 362 "pl_gram.h"
|
|
364
362
|
YYSTYPE;
|
|
365
363
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
|
366
364
|
# define YYSTYPE_IS_DECLARED 1
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* by the PG_KEYWORD macro, which is not defined in this file; it can
|
|
8
8
|
* be defined by the caller for special purposes.
|
|
9
9
|
*
|
|
10
|
-
* Portions Copyright (c) 1996-
|
|
10
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
11
11
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
12
12
|
*
|
|
13
13
|
* src/pl/plpgsql/src/pl_reserved_kwlist.h
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pl_reserved_kwlist_d.h
|
|
4
4
|
* List of keywords represented as a ScanKeywordList.
|
|
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
|
* NOTES
|
|
@@ -80,13 +80,13 @@ static int
|
|
|
80
80
|
ReservedPLKeywords_hash_func(const void *key, size_t keylen)
|
|
81
81
|
{
|
|
82
82
|
static const int8 h[49] = {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
83
|
+
127, 7, 127, 127, -2, 127, 13, 127,
|
|
84
|
+
127, 5, 0, 23, 0, 2, 127, 0,
|
|
85
|
+
17, 0, 127, 19, 5, 127, 6, 2,
|
|
86
|
+
-3, 17, 0, 6, 127, 8, 18, 127,
|
|
87
|
+
-6, 3, -5, 0, 127, 0, 0, 11,
|
|
88
|
+
15, 127, 127, 127, 13, 127, 0, 17,
|
|
89
|
+
127
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
const unsigned char *k = (const unsigned char *) key;
|
|
@@ -97,8 +97,8 @@ ReservedPLKeywords_hash_func(const void *key, size_t keylen)
|
|
|
97
97
|
{
|
|
98
98
|
unsigned char c = *k++ | 0x20;
|
|
99
99
|
|
|
100
|
-
a = a *
|
|
101
|
-
b = b *
|
|
100
|
+
a = a * 257 + c;
|
|
101
|
+
b = b * 8191 + c;
|
|
102
102
|
}
|
|
103
103
|
return h[a % 49] + h[b % 49];
|
|
104
104
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* by the PG_KEYWORD macro, which is not defined in this file; it can
|
|
8
8
|
* be defined by the caller for special purposes.
|
|
9
9
|
*
|
|
10
|
-
* Portions Copyright (c) 1996-
|
|
10
|
+
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
11
11
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
12
12
|
*
|
|
13
13
|
* src/pl/plpgsql/src/pl_unreserved_kwlist.h
|
|
@@ -70,6 +70,7 @@ PG_KEYWORD("insert", K_INSERT)
|
|
|
70
70
|
PG_KEYWORD("is", K_IS)
|
|
71
71
|
PG_KEYWORD("last", K_LAST)
|
|
72
72
|
PG_KEYWORD("log", K_LOG)
|
|
73
|
+
PG_KEYWORD("merge", K_MERGE)
|
|
73
74
|
PG_KEYWORD("message", K_MESSAGE)
|
|
74
75
|
PG_KEYWORD("message_text", K_MESSAGE_TEXT)
|
|
75
76
|
PG_KEYWORD("move", K_MOVE)
|
|
@@ -89,7 +90,6 @@ PG_KEYWORD("prior", K_PRIOR)
|
|
|
89
90
|
PG_KEYWORD("query", K_QUERY)
|
|
90
91
|
PG_KEYWORD("raise", K_RAISE)
|
|
91
92
|
PG_KEYWORD("relative", K_RELATIVE)
|
|
92
|
-
PG_KEYWORD("reset", K_RESET)
|
|
93
93
|
PG_KEYWORD("return", K_RETURN)
|
|
94
94
|
PG_KEYWORD("returned_sqlstate", K_RETURNED_SQLSTATE)
|
|
95
95
|
PG_KEYWORD("reverse", K_REVERSE)
|
|
@@ -99,7 +99,6 @@ PG_KEYWORD("rowtype", K_ROWTYPE)
|
|
|
99
99
|
PG_KEYWORD("schema", K_SCHEMA)
|
|
100
100
|
PG_KEYWORD("schema_name", K_SCHEMA_NAME)
|
|
101
101
|
PG_KEYWORD("scroll", K_SCROLL)
|
|
102
|
-
PG_KEYWORD("set", K_SET)
|
|
103
102
|
PG_KEYWORD("slice", K_SLICE)
|
|
104
103
|
PG_KEYWORD("sqlstate", K_SQLSTATE)
|
|
105
104
|
PG_KEYWORD("stacked", K_STACKED)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* pl_unreserved_kwlist_d.h
|
|
4
4
|
* List of keywords represented as a ScanKeywordList.
|
|
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
|
* NOTES
|
|
@@ -65,6 +65,7 @@ static const char UnreservedPLKeywords_kw_string[] =
|
|
|
65
65
|
"is\0"
|
|
66
66
|
"last\0"
|
|
67
67
|
"log\0"
|
|
68
|
+
"merge\0"
|
|
68
69
|
"message\0"
|
|
69
70
|
"message_text\0"
|
|
70
71
|
"move\0"
|
|
@@ -84,7 +85,6 @@ static const char UnreservedPLKeywords_kw_string[] =
|
|
|
84
85
|
"query\0"
|
|
85
86
|
"raise\0"
|
|
86
87
|
"relative\0"
|
|
87
|
-
"reset\0"
|
|
88
88
|
"return\0"
|
|
89
89
|
"returned_sqlstate\0"
|
|
90
90
|
"reverse\0"
|
|
@@ -94,7 +94,6 @@ static const char UnreservedPLKeywords_kw_string[] =
|
|
|
94
94
|
"schema\0"
|
|
95
95
|
"schema_name\0"
|
|
96
96
|
"scroll\0"
|
|
97
|
-
"set\0"
|
|
98
97
|
"slice\0"
|
|
99
98
|
"sqlstate\0"
|
|
100
99
|
"stacked\0"
|
|
@@ -151,25 +150,25 @@ static const uint16 UnreservedPLKeywords_kw_offsets[] = {
|
|
|
151
150
|
295,
|
|
152
151
|
300,
|
|
153
152
|
304,
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
153
|
+
310,
|
|
154
|
+
318,
|
|
155
|
+
331,
|
|
156
|
+
336,
|
|
157
|
+
341,
|
|
158
|
+
344,
|
|
159
|
+
351,
|
|
160
|
+
356,
|
|
161
|
+
363,
|
|
162
|
+
371,
|
|
163
|
+
382,
|
|
164
|
+
399,
|
|
165
|
+
420,
|
|
166
|
+
440,
|
|
167
|
+
458,
|
|
169
168
|
478,
|
|
170
169
|
484,
|
|
171
170
|
490,
|
|
172
|
-
|
|
171
|
+
496,
|
|
173
172
|
505,
|
|
174
173
|
512,
|
|
175
174
|
530,
|
|
@@ -180,59 +179,58 @@ static const uint16 UnreservedPLKeywords_kw_offsets[] = {
|
|
|
180
179
|
572,
|
|
181
180
|
584,
|
|
182
181
|
591,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
682,
|
|
182
|
+
597,
|
|
183
|
+
606,
|
|
184
|
+
614,
|
|
185
|
+
620,
|
|
186
|
+
631,
|
|
187
|
+
636,
|
|
188
|
+
647,
|
|
189
|
+
660,
|
|
190
|
+
678,
|
|
193
191
|
};
|
|
194
192
|
|
|
195
|
-
#define UNRESERVEDPLKEYWORDS_NUM_KEYWORDS
|
|
193
|
+
#define UNRESERVEDPLKEYWORDS_NUM_KEYWORDS 82
|
|
196
194
|
|
|
197
195
|
static int
|
|
198
196
|
UnreservedPLKeywords_hash_func(const void *key, size_t keylen)
|
|
199
197
|
{
|
|
200
|
-
static const int16 h[
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
198
|
+
static const int16 h[165] = {
|
|
199
|
+
58, 0, 26, 32767, 0, 0, 9, 32767,
|
|
200
|
+
0, 32767, 37, 74, 32767, -7, 32767, 39,
|
|
201
|
+
58, -5, 32767, 31, 32767, 32767, 75, -23,
|
|
202
|
+
32767, 0, 32767, 32767, 32767, -14, 32767, 81,
|
|
203
|
+
32767, 32767, 32767, -36, -9, 32767, 32767, 32767,
|
|
204
|
+
40, 32767, 54, 10, 11, 43, 32767, 0,
|
|
205
|
+
52, 105, -22, 15, 32767, -33, 49, -65,
|
|
206
|
+
48, 32767, 32767, 32767, 25, 49, -47, 37,
|
|
207
|
+
21, 32767, 32767, -15, 70, 32767, 32767, 64,
|
|
208
|
+
-10, 126, 32767, 51, 0, 36, 32767, -55,
|
|
209
|
+
-22, 32767, 32767, 32767, 32767, 32767, -26, -35,
|
|
210
|
+
32767, 61, 32767, 32767, 32767, -23, 98, 48,
|
|
211
|
+
23, 19, 32767, 7, 35, 5, -18, 71,
|
|
212
|
+
28, 5, 32767, 32767, 32767, 74, 32767, 82,
|
|
213
|
+
32767, 0, 32767, 32767, 66, 0, 0, 50,
|
|
214
|
+
32767, 32767, 5, 2, 0, 32767, 55, 32767,
|
|
215
|
+
32767, 45, 79, 32767, 32767, 73, 22, 0,
|
|
216
|
+
103, 32767, -20, 72, 32767, 0, 29, 32767,
|
|
217
|
+
0, 32767, 32767, 0, 50, 28, 32767, -40,
|
|
218
|
+
32767, 32767, 34, 56, 32767, 32767, 32767, 17,
|
|
219
|
+
-36, 32767, 67, 32767, 0
|
|
222
220
|
};
|
|
223
221
|
|
|
224
222
|
const unsigned char *k = (const unsigned char *) key;
|
|
225
223
|
uint32 a = 0;
|
|
226
|
-
uint32 b =
|
|
224
|
+
uint32 b = 0;
|
|
227
225
|
|
|
228
226
|
while (keylen--)
|
|
229
227
|
{
|
|
230
228
|
unsigned char c = *k++ | 0x20;
|
|
231
229
|
|
|
232
|
-
a = a *
|
|
233
|
-
b = b *
|
|
230
|
+
a = a * 257 + c;
|
|
231
|
+
b = b * 8191 + c;
|
|
234
232
|
}
|
|
235
|
-
return h[a %
|
|
233
|
+
return h[a % 165] + h[b % 165];
|
|
236
234
|
}
|
|
237
235
|
|
|
238
236
|
static const ScanKeywordList UnreservedPLKeywords = {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* autogenerated from src/backend/utils/errcodes.txt, do not edit */
|
|
2
2
|
/* there is deliberately not an #ifndef PLERRCODES_H here */
|
|
3
|
+
|
|
3
4
|
{
|
|
4
5
|
"sql_statement_not_yet_complete", ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE
|
|
5
6
|
},
|
|
@@ -348,6 +349,10 @@
|
|
|
348
349
|
"sql_json_scalar_required", ERRCODE_SQL_JSON_SCALAR_REQUIRED
|
|
349
350
|
},
|
|
350
351
|
|
|
352
|
+
{
|
|
353
|
+
"sql_json_item_cannot_be_cast_to_target_type", ERRCODE_SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE
|
|
354
|
+
},
|
|
355
|
+
|
|
351
356
|
{
|
|
352
357
|
"integrity_constraint_violation", ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION
|
|
353
358
|
},
|
|
@@ -820,6 +825,10 @@
|
|
|
820
825
|
"database_dropped", ERRCODE_DATABASE_DROPPED
|
|
821
826
|
},
|
|
822
827
|
|
|
828
|
+
{
|
|
829
|
+
"idle_session_timeout", ERRCODE_IDLE_SESSION_TIMEOUT
|
|
830
|
+
},
|
|
831
|
+
|
|
823
832
|
{
|
|
824
833
|
"system_error", ERRCODE_SYSTEM_ERROR
|
|
825
834
|
},
|
|
@@ -987,4 +996,3 @@
|
|
|
987
996
|
{
|
|
988
997
|
"index_corrupted", ERRCODE_INDEX_CORRUPTED
|
|
989
998
|
},
|
|
990
|
-
|