gitlab-pg_query 1.3.1 → 2.0.4
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 +217 -99
- data/README.md +92 -69
- data/Rakefile +85 -5
- data/ext/pg_query/extconf.rb +3 -40
- data/ext/pg_query/guc-file.c +0 -0
- data/ext/pg_query/include/access/amapi.h +246 -0
- data/ext/pg_query/include/access/attmap.h +52 -0
- data/ext/pg_query/include/access/attnum.h +64 -0
- data/ext/pg_query/include/access/clog.h +61 -0
- data/ext/pg_query/include/access/commit_ts.h +77 -0
- data/ext/pg_query/include/access/detoast.h +92 -0
- data/ext/pg_query/include/access/genam.h +228 -0
- data/ext/pg_query/include/access/gin.h +78 -0
- data/ext/pg_query/include/access/htup.h +89 -0
- data/ext/pg_query/include/access/htup_details.h +819 -0
- data/ext/pg_query/include/access/itup.h +161 -0
- data/ext/pg_query/include/access/parallel.h +82 -0
- data/ext/pg_query/include/access/printtup.h +35 -0
- data/ext/pg_query/include/access/relation.h +28 -0
- data/ext/pg_query/include/access/relscan.h +176 -0
- data/ext/pg_query/include/access/rmgr.h +35 -0
- data/ext/pg_query/include/access/rmgrlist.h +49 -0
- data/ext/pg_query/include/access/sdir.h +58 -0
- data/ext/pg_query/include/access/skey.h +151 -0
- data/ext/pg_query/include/access/stratnum.h +83 -0
- data/ext/pg_query/include/access/sysattr.h +29 -0
- data/ext/pg_query/include/access/table.h +27 -0
- data/ext/pg_query/include/access/tableam.h +1825 -0
- data/ext/pg_query/include/access/transam.h +265 -0
- data/ext/pg_query/include/access/tupconvert.h +51 -0
- data/ext/pg_query/include/access/tupdesc.h +154 -0
- data/ext/pg_query/include/access/tupmacs.h +247 -0
- data/ext/pg_query/include/access/twophase.h +61 -0
- data/ext/pg_query/include/access/xact.h +463 -0
- data/ext/pg_query/include/access/xlog.h +398 -0
- data/ext/pg_query/include/access/xlog_internal.h +330 -0
- data/ext/pg_query/include/access/xlogdefs.h +109 -0
- data/ext/pg_query/include/access/xloginsert.h +64 -0
- data/ext/pg_query/include/access/xlogreader.h +327 -0
- data/ext/pg_query/include/access/xlogrecord.h +227 -0
- data/ext/pg_query/include/bootstrap/bootstrap.h +62 -0
- data/ext/pg_query/include/c.h +1322 -0
- data/ext/pg_query/include/catalog/catalog.h +42 -0
- data/ext/pg_query/include/catalog/catversion.h +58 -0
- data/ext/pg_query/include/catalog/dependency.h +275 -0
- data/ext/pg_query/include/catalog/genbki.h +64 -0
- data/ext/pg_query/include/catalog/index.h +199 -0
- data/ext/pg_query/include/catalog/indexing.h +366 -0
- data/ext/pg_query/include/catalog/namespace.h +188 -0
- data/ext/pg_query/include/catalog/objectaccess.h +197 -0
- data/ext/pg_query/include/catalog/objectaddress.h +84 -0
- data/ext/pg_query/include/catalog/pg_aggregate.h +176 -0
- data/ext/pg_query/include/catalog/pg_aggregate_d.h +77 -0
- data/ext/pg_query/include/catalog/pg_am.h +60 -0
- data/ext/pg_query/include/catalog/pg_am_d.h +45 -0
- data/ext/pg_query/include/catalog/pg_attribute.h +204 -0
- data/ext/pg_query/include/catalog/pg_attribute_d.h +59 -0
- data/ext/pg_query/include/catalog/pg_authid.h +58 -0
- data/ext/pg_query/include/catalog/pg_authid_d.h +49 -0
- data/ext/pg_query/include/catalog/pg_class.h +200 -0
- data/ext/pg_query/include/catalog/pg_class_d.h +103 -0
- data/ext/pg_query/include/catalog/pg_collation.h +73 -0
- data/ext/pg_query/include/catalog/pg_collation_d.h +45 -0
- data/ext/pg_query/include/catalog/pg_constraint.h +247 -0
- data/ext/pg_query/include/catalog/pg_constraint_d.h +67 -0
- data/ext/pg_query/include/catalog/pg_control.h +250 -0
- data/ext/pg_query/include/catalog/pg_conversion.h +72 -0
- data/ext/pg_query/include/catalog/pg_conversion_d.h +35 -0
- data/ext/pg_query/include/catalog/pg_depend.h +73 -0
- data/ext/pg_query/include/catalog/pg_depend_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_event_trigger.h +51 -0
- data/ext/pg_query/include/catalog/pg_event_trigger_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_index.h +80 -0
- data/ext/pg_query/include/catalog/pg_index_d.h +56 -0
- data/ext/pg_query/include/catalog/pg_language.h +67 -0
- data/ext/pg_query/include/catalog/pg_language_d.h +39 -0
- data/ext/pg_query/include/catalog/pg_namespace.h +59 -0
- data/ext/pg_query/include/catalog/pg_namespace_d.h +34 -0
- data/ext/pg_query/include/catalog/pg_opclass.h +85 -0
- data/ext/pg_query/include/catalog/pg_opclass_d.h +49 -0
- data/ext/pg_query/include/catalog/pg_operator.h +102 -0
- data/ext/pg_query/include/catalog/pg_operator_d.h +106 -0
- data/ext/pg_query/include/catalog/pg_opfamily.h +60 -0
- data/ext/pg_query/include/catalog/pg_opfamily_d.h +47 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table.h +63 -0
- data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +35 -0
- data/ext/pg_query/include/catalog/pg_proc.h +211 -0
- data/ext/pg_query/include/catalog/pg_proc_d.h +99 -0
- data/ext/pg_query/include/catalog/pg_publication.h +115 -0
- data/ext/pg_query/include/catalog/pg_publication_d.h +36 -0
- data/ext/pg_query/include/catalog/pg_replication_origin.h +57 -0
- data/ext/pg_query/include/catalog/pg_replication_origin_d.h +29 -0
- data/ext/pg_query/include/catalog/pg_statistic.h +275 -0
- data/ext/pg_query/include/catalog/pg_statistic_d.h +194 -0
- data/ext/pg_query/include/catalog/pg_statistic_ext.h +74 -0
- data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +40 -0
- data/ext/pg_query/include/catalog/pg_transform.h +45 -0
- data/ext/pg_query/include/catalog/pg_transform_d.h +32 -0
- data/ext/pg_query/include/catalog/pg_trigger.h +137 -0
- data/ext/pg_query/include/catalog/pg_trigger_d.h +106 -0
- data/ext/pg_query/include/catalog/pg_ts_config.h +50 -0
- data/ext/pg_query/include/catalog/pg_ts_config_d.h +32 -0
- data/ext/pg_query/include/catalog/pg_ts_dict.h +54 -0
- data/ext/pg_query/include/catalog/pg_ts_dict_d.h +33 -0
- data/ext/pg_query/include/catalog/pg_ts_parser.h +57 -0
- data/ext/pg_query/include/catalog/pg_ts_parser_d.h +35 -0
- data/ext/pg_query/include/catalog/pg_ts_template.h +48 -0
- data/ext/pg_query/include/catalog/pg_ts_template_d.h +32 -0
- data/ext/pg_query/include/catalog/pg_type.h +372 -0
- data/ext/pg_query/include/catalog/pg_type_d.h +285 -0
- data/ext/pg_query/include/catalog/storage.h +48 -0
- data/ext/pg_query/include/commands/async.h +54 -0
- data/ext/pg_query/include/commands/dbcommands.h +35 -0
- data/ext/pg_query/include/commands/defrem.h +173 -0
- data/ext/pg_query/include/commands/event_trigger.h +88 -0
- data/ext/pg_query/include/commands/explain.h +127 -0
- data/ext/pg_query/include/commands/prepare.h +61 -0
- data/ext/pg_query/include/commands/tablespace.h +67 -0
- data/ext/pg_query/include/commands/trigger.h +277 -0
- data/ext/pg_query/include/commands/user.h +37 -0
- data/ext/pg_query/include/commands/vacuum.h +293 -0
- data/ext/pg_query/include/commands/variable.h +38 -0
- data/ext/pg_query/include/common/file_perm.h +56 -0
- data/ext/pg_query/include/common/hashfn.h +104 -0
- data/ext/pg_query/include/common/ip.h +37 -0
- data/ext/pg_query/include/common/keywords.h +33 -0
- data/ext/pg_query/include/common/kwlookup.h +44 -0
- data/ext/pg_query/include/common/relpath.h +90 -0
- data/ext/pg_query/include/common/string.h +19 -0
- data/ext/pg_query/include/common/unicode_combining_table.h +196 -0
- data/ext/pg_query/include/datatype/timestamp.h +197 -0
- data/ext/pg_query/include/executor/execdesc.h +70 -0
- data/ext/pg_query/include/executor/executor.h +614 -0
- data/ext/pg_query/include/executor/functions.h +41 -0
- data/ext/pg_query/include/executor/instrument.h +101 -0
- data/ext/pg_query/include/executor/spi.h +175 -0
- data/ext/pg_query/include/executor/tablefunc.h +67 -0
- data/ext/pg_query/include/executor/tuptable.h +487 -0
- data/ext/pg_query/include/fmgr.h +775 -0
- data/ext/pg_query/include/funcapi.h +348 -0
- data/ext/pg_query/include/getaddrinfo.h +162 -0
- data/ext/pg_query/include/jit/jit.h +105 -0
- data/ext/pg_query/include/kwlist_d.h +1072 -0
- data/ext/pg_query/include/lib/ilist.h +727 -0
- data/ext/pg_query/include/lib/pairingheap.h +102 -0
- data/ext/pg_query/include/lib/simplehash.h +1059 -0
- data/ext/pg_query/include/lib/stringinfo.h +161 -0
- data/ext/pg_query/include/libpq/auth.h +29 -0
- data/ext/pg_query/include/libpq/crypt.h +46 -0
- data/ext/pg_query/include/libpq/hba.h +140 -0
- data/ext/pg_query/include/libpq/libpq-be.h +326 -0
- data/ext/pg_query/include/libpq/libpq.h +133 -0
- data/ext/pg_query/include/libpq/pqcomm.h +208 -0
- data/ext/pg_query/include/libpq/pqformat.h +210 -0
- data/ext/pg_query/include/libpq/pqsignal.h +42 -0
- data/ext/pg_query/include/mb/pg_wchar.h +672 -0
- data/ext/pg_query/include/mb/stringinfo_mb.h +24 -0
- data/ext/pg_query/include/miscadmin.h +476 -0
- data/ext/pg_query/include/nodes/bitmapset.h +122 -0
- data/ext/pg_query/include/nodes/execnodes.h +2520 -0
- data/ext/pg_query/include/nodes/extensible.h +160 -0
- data/ext/pg_query/include/nodes/lockoptions.h +61 -0
- data/ext/pg_query/include/nodes/makefuncs.h +108 -0
- data/ext/pg_query/include/nodes/memnodes.h +108 -0
- data/ext/pg_query/include/nodes/nodeFuncs.h +162 -0
- data/ext/pg_query/include/nodes/nodes.h +842 -0
- data/ext/pg_query/include/nodes/params.h +170 -0
- data/ext/pg_query/include/nodes/parsenodes.h +3579 -0
- data/ext/pg_query/include/nodes/pathnodes.h +2556 -0
- data/ext/pg_query/include/nodes/pg_list.h +605 -0
- data/ext/pg_query/include/nodes/plannodes.h +1251 -0
- data/ext/pg_query/include/nodes/primnodes.h +1541 -0
- data/ext/pg_query/include/nodes/print.h +34 -0
- data/ext/pg_query/include/nodes/tidbitmap.h +75 -0
- data/ext/pg_query/include/nodes/value.h +61 -0
- data/ext/pg_query/include/optimizer/cost.h +206 -0
- data/ext/pg_query/include/optimizer/geqo.h +88 -0
- data/ext/pg_query/include/optimizer/geqo_gene.h +45 -0
- data/ext/pg_query/include/optimizer/optimizer.h +199 -0
- data/ext/pg_query/include/optimizer/paths.h +249 -0
- data/ext/pg_query/include/optimizer/planmain.h +119 -0
- data/ext/pg_query/include/parser/analyze.h +49 -0
- data/ext/pg_query/include/parser/gram.h +1067 -0
- data/ext/pg_query/include/parser/gramparse.h +75 -0
- data/ext/pg_query/include/parser/kwlist.h +477 -0
- data/ext/pg_query/include/parser/parse_agg.h +68 -0
- data/ext/pg_query/include/parser/parse_clause.h +54 -0
- data/ext/pg_query/include/parser/parse_coerce.h +97 -0
- data/ext/pg_query/include/parser/parse_collate.h +27 -0
- data/ext/pg_query/include/parser/parse_expr.h +26 -0
- data/ext/pg_query/include/parser/parse_func.h +73 -0
- data/ext/pg_query/include/parser/parse_node.h +327 -0
- data/ext/pg_query/include/parser/parse_oper.h +67 -0
- data/ext/pg_query/include/parser/parse_relation.h +123 -0
- data/ext/pg_query/include/parser/parse_target.h +46 -0
- data/ext/pg_query/include/parser/parse_type.h +60 -0
- data/ext/pg_query/include/parser/parser.h +41 -0
- data/ext/pg_query/include/parser/parsetree.h +61 -0
- data/ext/pg_query/include/parser/scanner.h +152 -0
- data/ext/pg_query/include/parser/scansup.h +30 -0
- data/ext/pg_query/include/partitioning/partdefs.h +26 -0
- data/ext/pg_query/include/pg_config.h +989 -0
- data/ext/pg_query/include/pg_config_ext.h +8 -0
- data/ext/pg_query/include/pg_config_manual.h +350 -0
- data/ext/pg_query/include/pg_config_os.h +8 -0
- data/ext/pg_query/include/pg_getopt.h +56 -0
- data/ext/pg_query/include/pg_query.h +121 -0
- data/ext/pg_query/include/pg_query_enum_defs.c +2454 -0
- data/ext/pg_query/include/pg_query_fingerprint_conds.c +875 -0
- data/ext/pg_query/include/pg_query_fingerprint_defs.c +12413 -0
- data/ext/pg_query/include/pg_query_json_helper.c +61 -0
- data/ext/pg_query/include/pg_query_outfuncs_conds.c +686 -0
- data/ext/pg_query/include/pg_query_outfuncs_defs.c +2437 -0
- data/ext/pg_query/include/pg_query_readfuncs_conds.c +222 -0
- data/ext/pg_query/include/pg_query_readfuncs_defs.c +2878 -0
- data/ext/pg_query/include/pg_trace.h +17 -0
- data/ext/pg_query/include/pgstat.h +1487 -0
- data/ext/pg_query/include/pgtime.h +84 -0
- data/ext/pg_query/include/pl_gram.h +385 -0
- data/ext/pg_query/include/pl_reserved_kwlist.h +52 -0
- data/ext/pg_query/include/pl_reserved_kwlist_d.h +114 -0
- data/ext/pg_query/include/pl_unreserved_kwlist.h +112 -0
- data/ext/pg_query/include/pl_unreserved_kwlist_d.h +246 -0
- data/ext/pg_query/include/plerrcodes.h +990 -0
- data/ext/pg_query/include/plpgsql.h +1347 -0
- data/ext/pg_query/include/port.h +524 -0
- data/ext/pg_query/include/port/atomics.h +524 -0
- data/ext/pg_query/include/port/atomics/arch-arm.h +26 -0
- data/ext/pg_query/include/port/atomics/arch-ppc.h +254 -0
- data/ext/pg_query/include/port/atomics/arch-x86.h +252 -0
- data/ext/pg_query/include/port/atomics/fallback.h +170 -0
- data/ext/pg_query/include/port/atomics/generic-gcc.h +286 -0
- data/ext/pg_query/include/port/atomics/generic.h +401 -0
- data/ext/pg_query/include/port/pg_bitutils.h +226 -0
- data/ext/pg_query/include/port/pg_bswap.h +161 -0
- data/ext/pg_query/include/port/pg_crc32c.h +101 -0
- data/ext/pg_query/include/portability/instr_time.h +256 -0
- data/ext/pg_query/include/postgres.h +764 -0
- data/ext/pg_query/include/postgres_ext.h +74 -0
- data/ext/pg_query/include/postmaster/autovacuum.h +83 -0
- data/ext/pg_query/include/postmaster/bgworker.h +161 -0
- data/ext/pg_query/include/postmaster/bgworker_internals.h +64 -0
- data/ext/pg_query/include/postmaster/bgwriter.h +45 -0
- data/ext/pg_query/include/postmaster/fork_process.h +17 -0
- data/ext/pg_query/include/postmaster/interrupt.h +32 -0
- data/ext/pg_query/include/postmaster/pgarch.h +39 -0
- data/ext/pg_query/include/postmaster/postmaster.h +77 -0
- data/ext/pg_query/include/postmaster/syslogger.h +98 -0
- data/ext/pg_query/include/postmaster/walwriter.h +21 -0
- data/ext/pg_query/include/protobuf-c.h +1106 -0
- data/ext/pg_query/include/protobuf-c/protobuf-c.h +1106 -0
- data/ext/pg_query/include/protobuf/pg_query.pb-c.h +10846 -0
- data/ext/pg_query/include/protobuf/pg_query.pb.h +124718 -0
- data/ext/pg_query/include/regex/regex.h +184 -0
- data/ext/pg_query/include/replication/logicallauncher.h +31 -0
- data/ext/pg_query/include/replication/logicalproto.h +110 -0
- data/ext/pg_query/include/replication/logicalworker.h +19 -0
- data/ext/pg_query/include/replication/origin.h +73 -0
- data/ext/pg_query/include/replication/reorderbuffer.h +467 -0
- data/ext/pg_query/include/replication/slot.h +219 -0
- data/ext/pg_query/include/replication/syncrep.h +115 -0
- data/ext/pg_query/include/replication/walreceiver.h +340 -0
- data/ext/pg_query/include/replication/walsender.h +74 -0
- data/ext/pg_query/include/rewrite/prs2lock.h +46 -0
- data/ext/pg_query/include/rewrite/rewriteHandler.h +40 -0
- data/ext/pg_query/include/rewrite/rewriteManip.h +87 -0
- data/ext/pg_query/include/rewrite/rewriteSupport.h +26 -0
- data/ext/pg_query/include/storage/backendid.h +37 -0
- data/ext/pg_query/include/storage/block.h +121 -0
- data/ext/pg_query/include/storage/buf.h +46 -0
- data/ext/pg_query/include/storage/bufmgr.h +292 -0
- data/ext/pg_query/include/storage/bufpage.h +459 -0
- data/ext/pg_query/include/storage/condition_variable.h +62 -0
- data/ext/pg_query/include/storage/dsm.h +61 -0
- data/ext/pg_query/include/storage/dsm_impl.h +75 -0
- data/ext/pg_query/include/storage/fd.h +168 -0
- data/ext/pg_query/include/storage/ipc.h +81 -0
- data/ext/pg_query/include/storage/item.h +19 -0
- data/ext/pg_query/include/storage/itemid.h +184 -0
- data/ext/pg_query/include/storage/itemptr.h +206 -0
- data/ext/pg_query/include/storage/large_object.h +100 -0
- data/ext/pg_query/include/storage/latch.h +190 -0
- data/ext/pg_query/include/storage/lmgr.h +114 -0
- data/ext/pg_query/include/storage/lock.h +612 -0
- data/ext/pg_query/include/storage/lockdefs.h +59 -0
- data/ext/pg_query/include/storage/lwlock.h +232 -0
- data/ext/pg_query/include/storage/lwlocknames.h +51 -0
- data/ext/pg_query/include/storage/off.h +57 -0
- data/ext/pg_query/include/storage/pg_sema.h +61 -0
- data/ext/pg_query/include/storage/pg_shmem.h +90 -0
- data/ext/pg_query/include/storage/pmsignal.h +94 -0
- data/ext/pg_query/include/storage/predicate.h +87 -0
- data/ext/pg_query/include/storage/proc.h +333 -0
- data/ext/pg_query/include/storage/proclist_types.h +51 -0
- data/ext/pg_query/include/storage/procsignal.h +75 -0
- data/ext/pg_query/include/storage/relfilenode.h +99 -0
- data/ext/pg_query/include/storage/s_lock.h +1047 -0
- data/ext/pg_query/include/storage/sharedfileset.h +45 -0
- data/ext/pg_query/include/storage/shm_mq.h +85 -0
- data/ext/pg_query/include/storage/shm_toc.h +58 -0
- data/ext/pg_query/include/storage/shmem.h +81 -0
- data/ext/pg_query/include/storage/sinval.h +153 -0
- data/ext/pg_query/include/storage/sinvaladt.h +43 -0
- data/ext/pg_query/include/storage/smgr.h +109 -0
- data/ext/pg_query/include/storage/spin.h +77 -0
- data/ext/pg_query/include/storage/standby.h +91 -0
- data/ext/pg_query/include/storage/standbydefs.h +74 -0
- data/ext/pg_query/include/storage/sync.h +62 -0
- data/ext/pg_query/include/tcop/cmdtag.h +58 -0
- data/ext/pg_query/include/tcop/cmdtaglist.h +217 -0
- data/ext/pg_query/include/tcop/deparse_utility.h +108 -0
- data/ext/pg_query/include/tcop/dest.h +149 -0
- data/ext/pg_query/include/tcop/fastpath.h +21 -0
- data/ext/pg_query/include/tcop/pquery.h +45 -0
- data/ext/pg_query/include/tcop/tcopprot.h +89 -0
- data/ext/pg_query/include/tcop/utility.h +108 -0
- data/ext/pg_query/include/tsearch/ts_cache.h +98 -0
- data/ext/pg_query/include/utils/acl.h +312 -0
- data/ext/pg_query/include/utils/aclchk_internal.h +45 -0
- data/ext/pg_query/include/utils/array.h +458 -0
- data/ext/pg_query/include/utils/builtins.h +127 -0
- data/ext/pg_query/include/utils/bytea.h +27 -0
- data/ext/pg_query/include/utils/catcache.h +231 -0
- data/ext/pg_query/include/utils/date.h +90 -0
- data/ext/pg_query/include/utils/datetime.h +343 -0
- data/ext/pg_query/include/utils/datum.h +68 -0
- data/ext/pg_query/include/utils/dsa.h +123 -0
- data/ext/pg_query/include/utils/dynahash.h +19 -0
- data/ext/pg_query/include/utils/elog.h +439 -0
- data/ext/pg_query/include/utils/errcodes.h +352 -0
- data/ext/pg_query/include/utils/expandeddatum.h +159 -0
- data/ext/pg_query/include/utils/expandedrecord.h +231 -0
- data/ext/pg_query/include/utils/float.h +356 -0
- data/ext/pg_query/include/utils/fmgroids.h +2657 -0
- data/ext/pg_query/include/utils/fmgrprotos.h +2646 -0
- data/ext/pg_query/include/utils/fmgrtab.h +48 -0
- data/ext/pg_query/include/utils/guc.h +443 -0
- data/ext/pg_query/include/utils/guc_tables.h +272 -0
- data/ext/pg_query/include/utils/hsearch.h +149 -0
- data/ext/pg_query/include/utils/inval.h +64 -0
- data/ext/pg_query/include/utils/lsyscache.h +197 -0
- data/ext/pg_query/include/utils/memdebug.h +82 -0
- data/ext/pg_query/include/utils/memutils.h +225 -0
- data/ext/pg_query/include/utils/numeric.h +76 -0
- data/ext/pg_query/include/utils/palloc.h +136 -0
- data/ext/pg_query/include/utils/partcache.h +102 -0
- data/ext/pg_query/include/utils/pg_locale.h +119 -0
- data/ext/pg_query/include/utils/pg_lsn.h +29 -0
- data/ext/pg_query/include/utils/pidfile.h +56 -0
- data/ext/pg_query/include/utils/plancache.h +235 -0
- data/ext/pg_query/include/utils/portal.h +241 -0
- data/ext/pg_query/include/utils/probes.h +114 -0
- data/ext/pg_query/include/utils/ps_status.h +25 -0
- data/ext/pg_query/include/utils/queryenvironment.h +74 -0
- data/ext/pg_query/include/utils/regproc.h +28 -0
- data/ext/pg_query/include/utils/rel.h +644 -0
- data/ext/pg_query/include/utils/relcache.h +151 -0
- data/ext/pg_query/include/utils/reltrigger.h +81 -0
- data/ext/pg_query/include/utils/resowner.h +86 -0
- data/ext/pg_query/include/utils/rls.h +50 -0
- data/ext/pg_query/include/utils/ruleutils.h +44 -0
- data/ext/pg_query/include/utils/sharedtuplestore.h +61 -0
- data/ext/pg_query/include/utils/snapmgr.h +158 -0
- data/ext/pg_query/include/utils/snapshot.h +206 -0
- data/ext/pg_query/include/utils/sortsupport.h +276 -0
- data/ext/pg_query/include/utils/syscache.h +219 -0
- data/ext/pg_query/include/utils/timeout.h +88 -0
- data/ext/pg_query/include/utils/timestamp.h +116 -0
- data/ext/pg_query/include/utils/tuplesort.h +277 -0
- data/ext/pg_query/include/utils/tuplestore.h +91 -0
- data/ext/pg_query/include/utils/typcache.h +202 -0
- data/ext/pg_query/include/utils/tzparser.h +39 -0
- data/ext/pg_query/include/utils/varlena.h +39 -0
- data/ext/pg_query/include/utils/xml.h +84 -0
- data/ext/pg_query/include/xxhash.h +5445 -0
- data/ext/pg_query/include/xxhash/xxhash.h +5445 -0
- data/ext/pg_query/pg_query.c +104 -0
- data/ext/pg_query/pg_query.pb-c.c +37628 -0
- data/ext/pg_query/pg_query_deparse.c +9959 -0
- data/ext/pg_query/pg_query_fingerprint.c +295 -0
- data/ext/pg_query/pg_query_fingerprint.h +8 -0
- data/ext/pg_query/pg_query_internal.h +24 -0
- data/ext/pg_query/pg_query_json_plpgsql.c +738 -0
- data/ext/pg_query/pg_query_json_plpgsql.h +9 -0
- data/ext/pg_query/pg_query_normalize.c +439 -0
- data/ext/pg_query/pg_query_outfuncs.h +10 -0
- data/ext/pg_query/pg_query_outfuncs_json.c +297 -0
- data/ext/pg_query/pg_query_outfuncs_protobuf.c +237 -0
- data/ext/pg_query/pg_query_parse.c +148 -0
- data/ext/pg_query/pg_query_parse_plpgsql.c +460 -0
- data/ext/pg_query/pg_query_readfuncs.h +11 -0
- data/ext/pg_query/pg_query_readfuncs_protobuf.c +142 -0
- data/ext/pg_query/pg_query_ruby.c +108 -12
- data/ext/pg_query/pg_query_scan.c +173 -0
- data/ext/pg_query/pg_query_split.c +221 -0
- data/ext/pg_query/protobuf-c.c +3660 -0
- data/ext/pg_query/src_backend_catalog_namespace.c +1051 -0
- data/ext/pg_query/src_backend_catalog_pg_proc.c +142 -0
- data/ext/pg_query/src_backend_commands_define.c +117 -0
- data/ext/pg_query/src_backend_libpq_pqcomm.c +651 -0
- data/ext/pg_query/src_backend_nodes_bitmapset.c +513 -0
- data/ext/pg_query/src_backend_nodes_copyfuncs.c +6013 -0
- data/ext/pg_query/src_backend_nodes_equalfuncs.c +4003 -0
- data/ext/pg_query/src_backend_nodes_extensible.c +99 -0
- data/ext/pg_query/src_backend_nodes_list.c +922 -0
- data/ext/pg_query/src_backend_nodes_makefuncs.c +417 -0
- data/ext/pg_query/src_backend_nodes_nodeFuncs.c +1363 -0
- data/ext/pg_query/src_backend_nodes_value.c +84 -0
- data/ext/pg_query/src_backend_parser_gram.c +47456 -0
- data/ext/pg_query/src_backend_parser_parse_expr.c +313 -0
- data/ext/pg_query/src_backend_parser_parser.c +497 -0
- data/ext/pg_query/src_backend_parser_scan.c +7091 -0
- data/ext/pg_query/src_backend_parser_scansup.c +160 -0
- data/ext/pg_query/src_backend_postmaster_postmaster.c +2230 -0
- data/ext/pg_query/src_backend_storage_ipc_ipc.c +192 -0
- data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +370 -0
- data/ext/pg_query/src_backend_tcop_postgres.c +776 -0
- data/ext/pg_query/src_backend_utils_adt_datum.c +326 -0
- data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +98 -0
- data/ext/pg_query/src_backend_utils_adt_format_type.c +136 -0
- data/ext/pg_query/src_backend_utils_adt_ruleutils.c +1683 -0
- data/ext/pg_query/src_backend_utils_error_assert.c +74 -0
- data/ext/pg_query/src_backend_utils_error_elog.c +1748 -0
- data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +570 -0
- data/ext/pg_query/src_backend_utils_hash_dynahash.c +1086 -0
- data/ext/pg_query/src_backend_utils_init_globals.c +168 -0
- data/ext/pg_query/src_backend_utils_mb_mbutils.c +839 -0
- data/ext/pg_query/src_backend_utils_misc_guc.c +1831 -0
- data/ext/pg_query/src_backend_utils_mmgr_aset.c +1560 -0
- data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +1006 -0
- data/ext/pg_query/src_common_encnames.c +158 -0
- data/ext/pg_query/src_common_keywords.c +39 -0
- data/ext/pg_query/src_common_kwlist_d.h +1081 -0
- data/ext/pg_query/src_common_kwlookup.c +91 -0
- data/ext/pg_query/src_common_psprintf.c +158 -0
- data/ext/pg_query/src_common_string.c +86 -0
- data/ext/pg_query/src_common_stringinfo.c +336 -0
- data/ext/pg_query/src_common_wchar.c +1651 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1133 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +877 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +6533 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +107 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +123 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +671 -0
- data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +255 -0
- data/ext/pg_query/src_port_erand48.c +127 -0
- data/ext/pg_query/src_port_pg_bitutils.c +246 -0
- data/ext/pg_query/src_port_pgsleep.c +69 -0
- data/ext/pg_query/src_port_pgstrcasecmp.c +83 -0
- data/ext/pg_query/src_port_qsort.c +240 -0
- data/ext/pg_query/src_port_random.c +31 -0
- data/ext/pg_query/src_port_snprintf.c +1449 -0
- data/ext/pg_query/src_port_strerror.c +324 -0
- data/ext/pg_query/src_port_strnlen.c +39 -0
- data/ext/pg_query/xxhash.c +43 -0
- data/lib/pg_query.rb +7 -4
- data/lib/pg_query/constants.rb +21 -0
- data/lib/pg_query/deparse.rb +15 -1581
- data/lib/pg_query/filter_columns.rb +88 -85
- data/lib/pg_query/fingerprint.rb +122 -87
- data/lib/pg_query/json_field_names.rb +1402 -0
- data/lib/pg_query/node.rb +31 -0
- data/lib/pg_query/param_refs.rb +42 -37
- data/lib/pg_query/parse.rb +220 -203
- data/lib/pg_query/parse_error.rb +1 -1
- data/lib/pg_query/pg_query_pb.rb +3211 -0
- data/lib/pg_query/scan.rb +23 -0
- data/lib/pg_query/treewalker.rb +24 -40
- data/lib/pg_query/truncate.rb +71 -42
- data/lib/pg_query/version.rb +2 -2
- metadata +472 -11
- data/ext/pg_query/pg_query_ruby.h +0 -10
- data/lib/pg_query/deep_dup.rb +0 -16
- data/lib/pg_query/deparse/alter_table.rb +0 -42
- data/lib/pg_query/deparse/interval.rb +0 -105
- data/lib/pg_query/deparse/keywords.rb +0 -159
- data/lib/pg_query/deparse/rename.rb +0 -41
- data/lib/pg_query/legacy_parsetree.rb +0 -109
- data/lib/pg_query/node_types.rb +0 -296
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* storage.h
|
|
4
|
+
* prototypes for functions in backend/catalog/storage.c
|
|
5
|
+
*
|
|
6
|
+
*
|
|
7
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
8
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
|
+
*
|
|
10
|
+
* src/include/catalog/storage.h
|
|
11
|
+
*
|
|
12
|
+
*-------------------------------------------------------------------------
|
|
13
|
+
*/
|
|
14
|
+
#ifndef STORAGE_H
|
|
15
|
+
#define STORAGE_H
|
|
16
|
+
|
|
17
|
+
#include "storage/block.h"
|
|
18
|
+
#include "storage/relfilenode.h"
|
|
19
|
+
#include "storage/smgr.h"
|
|
20
|
+
#include "utils/relcache.h"
|
|
21
|
+
|
|
22
|
+
/* GUC variables */
|
|
23
|
+
extern int wal_skip_threshold;
|
|
24
|
+
|
|
25
|
+
extern SMgrRelation RelationCreateStorage(RelFileNode rnode, char relpersistence);
|
|
26
|
+
extern void RelationDropStorage(Relation rel);
|
|
27
|
+
extern void RelationPreserveStorage(RelFileNode rnode, bool atCommit);
|
|
28
|
+
extern void RelationPreTruncate(Relation rel);
|
|
29
|
+
extern void RelationTruncate(Relation rel, BlockNumber nblocks);
|
|
30
|
+
extern void RelationCopyStorage(SMgrRelation src, SMgrRelation dst,
|
|
31
|
+
ForkNumber forkNum, char relpersistence);
|
|
32
|
+
extern bool RelFileNodeSkippingWAL(RelFileNode rnode);
|
|
33
|
+
extern Size EstimatePendingSyncsSpace(void);
|
|
34
|
+
extern void SerializePendingSyncs(Size maxSize, char *startAddress);
|
|
35
|
+
extern void RestorePendingSyncs(char *startAddress);
|
|
36
|
+
|
|
37
|
+
/*
|
|
38
|
+
* These functions used to be in storage/smgr/smgr.c, which explains the
|
|
39
|
+
* naming
|
|
40
|
+
*/
|
|
41
|
+
extern void smgrDoPendingDeletes(bool isCommit);
|
|
42
|
+
extern void smgrDoPendingSyncs(bool isCommit, bool isParallelWorker);
|
|
43
|
+
extern int smgrGetPendingDeletes(bool forCommit, RelFileNode **ptr);
|
|
44
|
+
extern void AtSubCommit_smgr(void);
|
|
45
|
+
extern void AtSubAbort_smgr(void);
|
|
46
|
+
extern void PostPrepare_smgr(void);
|
|
47
|
+
|
|
48
|
+
#endif /* STORAGE_H */
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* async.h
|
|
4
|
+
* Asynchronous notification: NOTIFY, LISTEN, UNLISTEN
|
|
5
|
+
*
|
|
6
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
7
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
+
*
|
|
9
|
+
* src/include/commands/async.h
|
|
10
|
+
*
|
|
11
|
+
*-------------------------------------------------------------------------
|
|
12
|
+
*/
|
|
13
|
+
#ifndef ASYNC_H
|
|
14
|
+
#define ASYNC_H
|
|
15
|
+
|
|
16
|
+
#include <signal.h>
|
|
17
|
+
|
|
18
|
+
/*
|
|
19
|
+
* The number of SLRU page buffers we use for the notification queue.
|
|
20
|
+
*/
|
|
21
|
+
#define NUM_NOTIFY_BUFFERS 8
|
|
22
|
+
|
|
23
|
+
extern bool Trace_notify;
|
|
24
|
+
extern volatile sig_atomic_t notifyInterruptPending;
|
|
25
|
+
|
|
26
|
+
extern Size AsyncShmemSize(void);
|
|
27
|
+
extern void AsyncShmemInit(void);
|
|
28
|
+
|
|
29
|
+
extern void NotifyMyFrontEnd(const char *channel,
|
|
30
|
+
const char *payload,
|
|
31
|
+
int32 srcPid);
|
|
32
|
+
|
|
33
|
+
/* notify-related SQL statements */
|
|
34
|
+
extern void Async_Notify(const char *channel, const char *payload);
|
|
35
|
+
extern void Async_Listen(const char *channel);
|
|
36
|
+
extern void Async_Unlisten(const char *channel);
|
|
37
|
+
extern void Async_UnlistenAll(void);
|
|
38
|
+
|
|
39
|
+
/* perform (or cancel) outbound notify processing at transaction commit */
|
|
40
|
+
extern void PreCommit_Notify(void);
|
|
41
|
+
extern void AtCommit_Notify(void);
|
|
42
|
+
extern void AtAbort_Notify(void);
|
|
43
|
+
extern void AtSubCommit_Notify(void);
|
|
44
|
+
extern void AtSubAbort_Notify(void);
|
|
45
|
+
extern void AtPrepare_Notify(void);
|
|
46
|
+
extern void ProcessCompletedNotifies(void);
|
|
47
|
+
|
|
48
|
+
/* signal handler for inbound notifies (PROCSIG_NOTIFY_INTERRUPT) */
|
|
49
|
+
extern void HandleNotifyInterrupt(void);
|
|
50
|
+
|
|
51
|
+
/* process interrupts */
|
|
52
|
+
extern void ProcessNotifyInterrupt(void);
|
|
53
|
+
|
|
54
|
+
#endif /* ASYNC_H */
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* dbcommands.h
|
|
4
|
+
* Database management commands (create/drop database).
|
|
5
|
+
*
|
|
6
|
+
*
|
|
7
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
8
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
|
+
*
|
|
10
|
+
* src/include/commands/dbcommands.h
|
|
11
|
+
*
|
|
12
|
+
*-------------------------------------------------------------------------
|
|
13
|
+
*/
|
|
14
|
+
#ifndef DBCOMMANDS_H
|
|
15
|
+
#define DBCOMMANDS_H
|
|
16
|
+
|
|
17
|
+
#include "access/xlogreader.h"
|
|
18
|
+
#include "catalog/objectaddress.h"
|
|
19
|
+
#include "lib/stringinfo.h"
|
|
20
|
+
#include "parser/parse_node.h"
|
|
21
|
+
|
|
22
|
+
extern Oid createdb(ParseState *pstate, const CreatedbStmt *stmt);
|
|
23
|
+
extern void dropdb(const char *dbname, bool missing_ok, bool force);
|
|
24
|
+
extern void DropDatabase(ParseState *pstate, DropdbStmt *stmt);
|
|
25
|
+
extern ObjectAddress RenameDatabase(const char *oldname, const char *newname);
|
|
26
|
+
extern Oid AlterDatabase(ParseState *pstate, AlterDatabaseStmt *stmt, bool isTopLevel);
|
|
27
|
+
extern Oid AlterDatabaseSet(AlterDatabaseSetStmt *stmt);
|
|
28
|
+
extern ObjectAddress AlterDatabaseOwner(const char *dbname, Oid newOwnerId);
|
|
29
|
+
|
|
30
|
+
extern Oid get_database_oid(const char *dbname, bool missing_ok);
|
|
31
|
+
extern char *get_database_name(Oid dbid);
|
|
32
|
+
|
|
33
|
+
extern void check_encoding_locale_matches(int encoding, const char *collate, const char *ctype);
|
|
34
|
+
|
|
35
|
+
#endif /* DBCOMMANDS_H */
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* defrem.h
|
|
4
|
+
* POSTGRES define and remove utility definitions.
|
|
5
|
+
*
|
|
6
|
+
*
|
|
7
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
8
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
9
|
+
*
|
|
10
|
+
* src/include/commands/defrem.h
|
|
11
|
+
*
|
|
12
|
+
*-------------------------------------------------------------------------
|
|
13
|
+
*/
|
|
14
|
+
#ifndef DEFREM_H
|
|
15
|
+
#define DEFREM_H
|
|
16
|
+
|
|
17
|
+
#include "catalog/objectaddress.h"
|
|
18
|
+
#include "nodes/params.h"
|
|
19
|
+
#include "parser/parse_node.h"
|
|
20
|
+
#include "tcop/dest.h"
|
|
21
|
+
#include "utils/array.h"
|
|
22
|
+
|
|
23
|
+
/* commands/dropcmds.c */
|
|
24
|
+
extern void RemoveObjects(DropStmt *stmt);
|
|
25
|
+
|
|
26
|
+
/* commands/indexcmds.c */
|
|
27
|
+
extern ObjectAddress DefineIndex(Oid relationId,
|
|
28
|
+
IndexStmt *stmt,
|
|
29
|
+
Oid indexRelationId,
|
|
30
|
+
Oid parentIndexId,
|
|
31
|
+
Oid parentConstraintId,
|
|
32
|
+
bool is_alter_table,
|
|
33
|
+
bool check_rights,
|
|
34
|
+
bool check_not_in_use,
|
|
35
|
+
bool skip_build,
|
|
36
|
+
bool quiet);
|
|
37
|
+
extern void ReindexIndex(RangeVar *indexRelation, int options, bool concurrent);
|
|
38
|
+
extern Oid ReindexTable(RangeVar *relation, int options, bool concurrent);
|
|
39
|
+
extern void ReindexMultipleTables(const char *objectName, ReindexObjectType objectKind,
|
|
40
|
+
int options, bool concurrent);
|
|
41
|
+
extern char *makeObjectName(const char *name1, const char *name2,
|
|
42
|
+
const char *label);
|
|
43
|
+
extern char *ChooseRelationName(const char *name1, const char *name2,
|
|
44
|
+
const char *label, Oid namespaceid,
|
|
45
|
+
bool isconstraint);
|
|
46
|
+
extern bool CheckIndexCompatible(Oid oldId,
|
|
47
|
+
const char *accessMethodName,
|
|
48
|
+
List *attributeList,
|
|
49
|
+
List *exclusionOpNames);
|
|
50
|
+
extern Oid GetDefaultOpClass(Oid type_id, Oid am_id);
|
|
51
|
+
extern Oid ResolveOpClass(List *opclass, Oid attrType,
|
|
52
|
+
const char *accessMethodName, Oid accessMethodId);
|
|
53
|
+
|
|
54
|
+
/* commands/functioncmds.c */
|
|
55
|
+
extern ObjectAddress CreateFunction(ParseState *pstate, CreateFunctionStmt *stmt);
|
|
56
|
+
extern void RemoveFunctionById(Oid funcOid);
|
|
57
|
+
extern ObjectAddress AlterFunction(ParseState *pstate, AlterFunctionStmt *stmt);
|
|
58
|
+
extern ObjectAddress CreateCast(CreateCastStmt *stmt);
|
|
59
|
+
extern void DropCastById(Oid castOid);
|
|
60
|
+
extern ObjectAddress CreateTransform(CreateTransformStmt *stmt);
|
|
61
|
+
extern void DropTransformById(Oid transformOid);
|
|
62
|
+
extern void IsThereFunctionInNamespace(const char *proname, int pronargs,
|
|
63
|
+
oidvector *proargtypes, Oid nspOid);
|
|
64
|
+
extern void ExecuteDoStmt(DoStmt *stmt, bool atomic);
|
|
65
|
+
extern void ExecuteCallStmt(CallStmt *stmt, ParamListInfo params, bool atomic, DestReceiver *dest);
|
|
66
|
+
extern TupleDesc CallStmtResultDesc(CallStmt *stmt);
|
|
67
|
+
extern Oid get_transform_oid(Oid type_id, Oid lang_id, bool missing_ok);
|
|
68
|
+
extern void interpret_function_parameter_list(ParseState *pstate,
|
|
69
|
+
List *parameters,
|
|
70
|
+
Oid languageOid,
|
|
71
|
+
ObjectType objtype,
|
|
72
|
+
oidvector **parameterTypes,
|
|
73
|
+
ArrayType **allParameterTypes,
|
|
74
|
+
ArrayType **parameterModes,
|
|
75
|
+
ArrayType **parameterNames,
|
|
76
|
+
List **parameterDefaults,
|
|
77
|
+
Oid *variadicArgType,
|
|
78
|
+
Oid *requiredResultType);
|
|
79
|
+
|
|
80
|
+
/* commands/operatorcmds.c */
|
|
81
|
+
extern ObjectAddress DefineOperator(List *names, List *parameters);
|
|
82
|
+
extern void RemoveOperatorById(Oid operOid);
|
|
83
|
+
extern ObjectAddress AlterOperator(AlterOperatorStmt *stmt);
|
|
84
|
+
|
|
85
|
+
/* commands/statscmds.c */
|
|
86
|
+
extern ObjectAddress CreateStatistics(CreateStatsStmt *stmt);
|
|
87
|
+
extern ObjectAddress AlterStatistics(AlterStatsStmt *stmt);
|
|
88
|
+
extern void RemoveStatisticsById(Oid statsOid);
|
|
89
|
+
extern void UpdateStatisticsForTypeChange(Oid statsOid,
|
|
90
|
+
Oid relationOid, int attnum,
|
|
91
|
+
Oid oldColumnType, Oid newColumnType);
|
|
92
|
+
|
|
93
|
+
/* commands/aggregatecmds.c */
|
|
94
|
+
extern ObjectAddress DefineAggregate(ParseState *pstate, List *name, List *args, bool oldstyle,
|
|
95
|
+
List *parameters, bool replace);
|
|
96
|
+
|
|
97
|
+
/* commands/opclasscmds.c */
|
|
98
|
+
extern ObjectAddress DefineOpClass(CreateOpClassStmt *stmt);
|
|
99
|
+
extern ObjectAddress DefineOpFamily(CreateOpFamilyStmt *stmt);
|
|
100
|
+
extern Oid AlterOpFamily(AlterOpFamilyStmt *stmt);
|
|
101
|
+
extern void RemoveOpClassById(Oid opclassOid);
|
|
102
|
+
extern void RemoveOpFamilyById(Oid opfamilyOid);
|
|
103
|
+
extern void RemoveAmOpEntryById(Oid entryOid);
|
|
104
|
+
extern void RemoveAmProcEntryById(Oid entryOid);
|
|
105
|
+
extern void IsThereOpClassInNamespace(const char *opcname, Oid opcmethod,
|
|
106
|
+
Oid opcnamespace);
|
|
107
|
+
extern void IsThereOpFamilyInNamespace(const char *opfname, Oid opfmethod,
|
|
108
|
+
Oid opfnamespace);
|
|
109
|
+
extern Oid get_opclass_oid(Oid amID, List *opclassname, bool missing_ok);
|
|
110
|
+
extern Oid get_opfamily_oid(Oid amID, List *opfamilyname, bool missing_ok);
|
|
111
|
+
|
|
112
|
+
/* commands/tsearchcmds.c */
|
|
113
|
+
extern ObjectAddress DefineTSParser(List *names, List *parameters);
|
|
114
|
+
extern void RemoveTSParserById(Oid prsId);
|
|
115
|
+
|
|
116
|
+
extern ObjectAddress DefineTSDictionary(List *names, List *parameters);
|
|
117
|
+
extern void RemoveTSDictionaryById(Oid dictId);
|
|
118
|
+
extern ObjectAddress AlterTSDictionary(AlterTSDictionaryStmt *stmt);
|
|
119
|
+
|
|
120
|
+
extern ObjectAddress DefineTSTemplate(List *names, List *parameters);
|
|
121
|
+
extern void RemoveTSTemplateById(Oid tmplId);
|
|
122
|
+
|
|
123
|
+
extern ObjectAddress DefineTSConfiguration(List *names, List *parameters,
|
|
124
|
+
ObjectAddress *copied);
|
|
125
|
+
extern void RemoveTSConfigurationById(Oid cfgId);
|
|
126
|
+
extern ObjectAddress AlterTSConfiguration(AlterTSConfigurationStmt *stmt);
|
|
127
|
+
|
|
128
|
+
extern text *serialize_deflist(List *deflist);
|
|
129
|
+
extern List *deserialize_deflist(Datum txt);
|
|
130
|
+
|
|
131
|
+
/* commands/foreigncmds.c */
|
|
132
|
+
extern ObjectAddress AlterForeignServerOwner(const char *name, Oid newOwnerId);
|
|
133
|
+
extern void AlterForeignServerOwner_oid(Oid, Oid newOwnerId);
|
|
134
|
+
extern ObjectAddress AlterForeignDataWrapperOwner(const char *name, Oid newOwnerId);
|
|
135
|
+
extern void AlterForeignDataWrapperOwner_oid(Oid fwdId, Oid newOwnerId);
|
|
136
|
+
extern ObjectAddress CreateForeignDataWrapper(CreateFdwStmt *stmt);
|
|
137
|
+
extern ObjectAddress AlterForeignDataWrapper(AlterFdwStmt *stmt);
|
|
138
|
+
extern void RemoveForeignDataWrapperById(Oid fdwId);
|
|
139
|
+
extern ObjectAddress CreateForeignServer(CreateForeignServerStmt *stmt);
|
|
140
|
+
extern ObjectAddress AlterForeignServer(AlterForeignServerStmt *stmt);
|
|
141
|
+
extern void RemoveForeignServerById(Oid srvId);
|
|
142
|
+
extern ObjectAddress CreateUserMapping(CreateUserMappingStmt *stmt);
|
|
143
|
+
extern ObjectAddress AlterUserMapping(AlterUserMappingStmt *stmt);
|
|
144
|
+
extern Oid RemoveUserMapping(DropUserMappingStmt *stmt);
|
|
145
|
+
extern void RemoveUserMappingById(Oid umId);
|
|
146
|
+
extern void CreateForeignTable(CreateForeignTableStmt *stmt, Oid relid);
|
|
147
|
+
extern void ImportForeignSchema(ImportForeignSchemaStmt *stmt);
|
|
148
|
+
extern Datum transformGenericOptions(Oid catalogId,
|
|
149
|
+
Datum oldOptions,
|
|
150
|
+
List *options,
|
|
151
|
+
Oid fdwvalidator);
|
|
152
|
+
|
|
153
|
+
/* commands/amcmds.c */
|
|
154
|
+
extern ObjectAddress CreateAccessMethod(CreateAmStmt *stmt);
|
|
155
|
+
extern void RemoveAccessMethodById(Oid amOid);
|
|
156
|
+
extern Oid get_index_am_oid(const char *amname, bool missing_ok);
|
|
157
|
+
extern Oid get_table_am_oid(const char *amname, bool missing_ok);
|
|
158
|
+
extern Oid get_am_oid(const char *amname, bool missing_ok);
|
|
159
|
+
extern char *get_am_name(Oid amOid);
|
|
160
|
+
|
|
161
|
+
/* support routines in commands/define.c */
|
|
162
|
+
|
|
163
|
+
extern char *defGetString(DefElem *def);
|
|
164
|
+
extern double defGetNumeric(DefElem *def);
|
|
165
|
+
extern bool defGetBoolean(DefElem *def);
|
|
166
|
+
extern int32 defGetInt32(DefElem *def);
|
|
167
|
+
extern int64 defGetInt64(DefElem *def);
|
|
168
|
+
extern List *defGetQualifiedName(DefElem *def);
|
|
169
|
+
extern TypeName *defGetTypeName(DefElem *def);
|
|
170
|
+
extern int defGetTypeLength(DefElem *def);
|
|
171
|
+
extern List *defGetStringList(DefElem *def);
|
|
172
|
+
|
|
173
|
+
#endif /* DEFREM_H */
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* event_trigger.h
|
|
4
|
+
* Declarations for command trigger handling.
|
|
5
|
+
*
|
|
6
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
7
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
+
*
|
|
9
|
+
* src/include/commands/event_trigger.h
|
|
10
|
+
*
|
|
11
|
+
*-------------------------------------------------------------------------
|
|
12
|
+
*/
|
|
13
|
+
#ifndef EVENT_TRIGGER_H
|
|
14
|
+
#define EVENT_TRIGGER_H
|
|
15
|
+
|
|
16
|
+
#include "catalog/dependency.h"
|
|
17
|
+
#include "catalog/objectaddress.h"
|
|
18
|
+
#include "catalog/pg_event_trigger.h"
|
|
19
|
+
#include "nodes/parsenodes.h"
|
|
20
|
+
#include "tcop/cmdtag.h"
|
|
21
|
+
#include "tcop/deparse_utility.h"
|
|
22
|
+
#include "utils/aclchk_internal.h"
|
|
23
|
+
|
|
24
|
+
typedef struct EventTriggerData
|
|
25
|
+
{
|
|
26
|
+
NodeTag type;
|
|
27
|
+
const char *event; /* event name */
|
|
28
|
+
Node *parsetree; /* parse tree */
|
|
29
|
+
CommandTag tag;
|
|
30
|
+
} EventTriggerData;
|
|
31
|
+
|
|
32
|
+
#define AT_REWRITE_ALTER_PERSISTENCE 0x01
|
|
33
|
+
#define AT_REWRITE_DEFAULT_VAL 0x02
|
|
34
|
+
#define AT_REWRITE_COLUMN_REWRITE 0x04
|
|
35
|
+
|
|
36
|
+
/*
|
|
37
|
+
* EventTriggerData is the node type that is passed as fmgr "context" info
|
|
38
|
+
* when a function is called by the event trigger manager.
|
|
39
|
+
*/
|
|
40
|
+
#define CALLED_AS_EVENT_TRIGGER(fcinfo) \
|
|
41
|
+
((fcinfo)->context != NULL && IsA((fcinfo)->context, EventTriggerData))
|
|
42
|
+
|
|
43
|
+
extern Oid CreateEventTrigger(CreateEventTrigStmt *stmt);
|
|
44
|
+
extern void RemoveEventTriggerById(Oid trigOid);
|
|
45
|
+
extern Oid get_event_trigger_oid(const char *trigname, bool missing_ok);
|
|
46
|
+
|
|
47
|
+
extern Oid AlterEventTrigger(AlterEventTrigStmt *stmt);
|
|
48
|
+
extern ObjectAddress AlterEventTriggerOwner(const char *name, Oid newOwnerId);
|
|
49
|
+
extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId);
|
|
50
|
+
|
|
51
|
+
extern bool EventTriggerSupportsObjectType(ObjectType obtype);
|
|
52
|
+
extern bool EventTriggerSupportsObjectClass(ObjectClass objclass);
|
|
53
|
+
extern void EventTriggerDDLCommandStart(Node *parsetree);
|
|
54
|
+
extern void EventTriggerDDLCommandEnd(Node *parsetree);
|
|
55
|
+
extern void EventTriggerSQLDrop(Node *parsetree);
|
|
56
|
+
extern void EventTriggerTableRewrite(Node *parsetree, Oid tableOid, int reason);
|
|
57
|
+
|
|
58
|
+
extern bool EventTriggerBeginCompleteQuery(void);
|
|
59
|
+
extern void EventTriggerEndCompleteQuery(void);
|
|
60
|
+
extern bool trackDroppedObjectsNeeded(void);
|
|
61
|
+
extern void EventTriggerSQLDropAddObject(const ObjectAddress *object,
|
|
62
|
+
bool original, bool normal);
|
|
63
|
+
|
|
64
|
+
extern void EventTriggerInhibitCommandCollection(void);
|
|
65
|
+
extern void EventTriggerUndoInhibitCommandCollection(void);
|
|
66
|
+
|
|
67
|
+
extern void EventTriggerCollectSimpleCommand(ObjectAddress address,
|
|
68
|
+
ObjectAddress secondaryObject,
|
|
69
|
+
Node *parsetree);
|
|
70
|
+
|
|
71
|
+
extern void EventTriggerAlterTableStart(Node *parsetree);
|
|
72
|
+
extern void EventTriggerAlterTableRelid(Oid objectId);
|
|
73
|
+
extern void EventTriggerCollectAlterTableSubcmd(Node *subcmd,
|
|
74
|
+
ObjectAddress address);
|
|
75
|
+
extern void EventTriggerAlterTableEnd(void);
|
|
76
|
+
|
|
77
|
+
extern void EventTriggerCollectGrant(InternalGrant *istmt);
|
|
78
|
+
extern void EventTriggerCollectAlterOpFam(AlterOpFamilyStmt *stmt,
|
|
79
|
+
Oid opfamoid, List *operators,
|
|
80
|
+
List *procedures);
|
|
81
|
+
extern void EventTriggerCollectCreateOpClass(CreateOpClassStmt *stmt,
|
|
82
|
+
Oid opcoid, List *operators,
|
|
83
|
+
List *procedures);
|
|
84
|
+
extern void EventTriggerCollectAlterTSConfig(AlterTSConfigurationStmt *stmt,
|
|
85
|
+
Oid cfgId, Oid *dictIds, int ndicts);
|
|
86
|
+
extern void EventTriggerCollectAlterDefPrivs(AlterDefaultPrivilegesStmt *stmt);
|
|
87
|
+
|
|
88
|
+
#endif /* EVENT_TRIGGER_H */
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* explain.h
|
|
4
|
+
* prototypes for explain.c
|
|
5
|
+
*
|
|
6
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
7
|
+
* Portions Copyright (c) 1994-5, Regents of the University of California
|
|
8
|
+
*
|
|
9
|
+
* src/include/commands/explain.h
|
|
10
|
+
*
|
|
11
|
+
*-------------------------------------------------------------------------
|
|
12
|
+
*/
|
|
13
|
+
#ifndef EXPLAIN_H
|
|
14
|
+
#define EXPLAIN_H
|
|
15
|
+
|
|
16
|
+
#include "executor/executor.h"
|
|
17
|
+
#include "lib/stringinfo.h"
|
|
18
|
+
#include "parser/parse_node.h"
|
|
19
|
+
|
|
20
|
+
typedef enum ExplainFormat
|
|
21
|
+
{
|
|
22
|
+
EXPLAIN_FORMAT_TEXT,
|
|
23
|
+
EXPLAIN_FORMAT_XML,
|
|
24
|
+
EXPLAIN_FORMAT_JSON,
|
|
25
|
+
EXPLAIN_FORMAT_YAML
|
|
26
|
+
} ExplainFormat;
|
|
27
|
+
|
|
28
|
+
typedef struct ExplainWorkersState
|
|
29
|
+
{
|
|
30
|
+
int num_workers; /* # of worker processes the plan used */
|
|
31
|
+
bool *worker_inited; /* per-worker state-initialized flags */
|
|
32
|
+
StringInfoData *worker_str; /* per-worker transient output buffers */
|
|
33
|
+
int *worker_state_save; /* per-worker grouping state save areas */
|
|
34
|
+
StringInfo prev_str; /* saved output buffer while redirecting */
|
|
35
|
+
} ExplainWorkersState;
|
|
36
|
+
|
|
37
|
+
typedef struct ExplainState
|
|
38
|
+
{
|
|
39
|
+
StringInfo str; /* output buffer */
|
|
40
|
+
/* options */
|
|
41
|
+
bool verbose; /* be verbose */
|
|
42
|
+
bool analyze; /* print actual times */
|
|
43
|
+
bool costs; /* print estimated costs */
|
|
44
|
+
bool buffers; /* print buffer usage */
|
|
45
|
+
bool wal; /* print WAL usage */
|
|
46
|
+
bool timing; /* print detailed node timing */
|
|
47
|
+
bool summary; /* print total planning and execution timing */
|
|
48
|
+
bool settings; /* print modified settings */
|
|
49
|
+
ExplainFormat format; /* output format */
|
|
50
|
+
/* state for output formatting --- not reset for each new plan tree */
|
|
51
|
+
int indent; /* current indentation level */
|
|
52
|
+
List *grouping_stack; /* format-specific grouping state */
|
|
53
|
+
/* state related to the current plan tree (filled by ExplainPrintPlan) */
|
|
54
|
+
PlannedStmt *pstmt; /* top of plan */
|
|
55
|
+
List *rtable; /* range table */
|
|
56
|
+
List *rtable_names; /* alias names for RTEs */
|
|
57
|
+
List *deparse_cxt; /* context list for deparsing expressions */
|
|
58
|
+
Bitmapset *printed_subplans; /* ids of SubPlans we've printed */
|
|
59
|
+
bool hide_workers; /* set if we find an invisible Gather */
|
|
60
|
+
/* state related to the current plan node */
|
|
61
|
+
ExplainWorkersState *workers_state; /* needed if parallel plan */
|
|
62
|
+
} ExplainState;
|
|
63
|
+
|
|
64
|
+
/* Hook for plugins to get control in ExplainOneQuery() */
|
|
65
|
+
typedef void (*ExplainOneQuery_hook_type) (Query *query,
|
|
66
|
+
int cursorOptions,
|
|
67
|
+
IntoClause *into,
|
|
68
|
+
ExplainState *es,
|
|
69
|
+
const char *queryString,
|
|
70
|
+
ParamListInfo params,
|
|
71
|
+
QueryEnvironment *queryEnv);
|
|
72
|
+
extern PGDLLIMPORT ExplainOneQuery_hook_type ExplainOneQuery_hook;
|
|
73
|
+
|
|
74
|
+
/* Hook for plugins to get control in explain_get_index_name() */
|
|
75
|
+
typedef const char *(*explain_get_index_name_hook_type) (Oid indexId);
|
|
76
|
+
extern PGDLLIMPORT explain_get_index_name_hook_type explain_get_index_name_hook;
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
extern void ExplainQuery(ParseState *pstate, ExplainStmt *stmt,
|
|
80
|
+
ParamListInfo params, DestReceiver *dest);
|
|
81
|
+
|
|
82
|
+
extern ExplainState *NewExplainState(void);
|
|
83
|
+
|
|
84
|
+
extern TupleDesc ExplainResultDesc(ExplainStmt *stmt);
|
|
85
|
+
|
|
86
|
+
extern void ExplainOneUtility(Node *utilityStmt, IntoClause *into,
|
|
87
|
+
ExplainState *es, const char *queryString,
|
|
88
|
+
ParamListInfo params, QueryEnvironment *queryEnv);
|
|
89
|
+
|
|
90
|
+
extern void ExplainOnePlan(PlannedStmt *plannedstmt, IntoClause *into,
|
|
91
|
+
ExplainState *es, const char *queryString,
|
|
92
|
+
ParamListInfo params, QueryEnvironment *queryEnv,
|
|
93
|
+
const instr_time *planduration,
|
|
94
|
+
const BufferUsage *bufusage);
|
|
95
|
+
|
|
96
|
+
extern void ExplainPrintPlan(ExplainState *es, QueryDesc *queryDesc);
|
|
97
|
+
extern void ExplainPrintTriggers(ExplainState *es, QueryDesc *queryDesc);
|
|
98
|
+
|
|
99
|
+
extern void ExplainPrintJITSummary(ExplainState *es, QueryDesc *queryDesc);
|
|
100
|
+
|
|
101
|
+
extern void ExplainQueryText(ExplainState *es, QueryDesc *queryDesc);
|
|
102
|
+
|
|
103
|
+
extern void ExplainBeginOutput(ExplainState *es);
|
|
104
|
+
extern void ExplainEndOutput(ExplainState *es);
|
|
105
|
+
extern void ExplainSeparatePlans(ExplainState *es);
|
|
106
|
+
|
|
107
|
+
extern void ExplainPropertyList(const char *qlabel, List *data,
|
|
108
|
+
ExplainState *es);
|
|
109
|
+
extern void ExplainPropertyListNested(const char *qlabel, List *data,
|
|
110
|
+
ExplainState *es);
|
|
111
|
+
extern void ExplainPropertyText(const char *qlabel, const char *value,
|
|
112
|
+
ExplainState *es);
|
|
113
|
+
extern void ExplainPropertyInteger(const char *qlabel, const char *unit,
|
|
114
|
+
int64 value, ExplainState *es);
|
|
115
|
+
extern void ExplainPropertyUInteger(const char *qlabel, const char *unit,
|
|
116
|
+
uint64 value, ExplainState *es);
|
|
117
|
+
extern void ExplainPropertyFloat(const char *qlabel, const char *unit,
|
|
118
|
+
double value, int ndigits, ExplainState *es);
|
|
119
|
+
extern void ExplainPropertyBool(const char *qlabel, bool value,
|
|
120
|
+
ExplainState *es);
|
|
121
|
+
|
|
122
|
+
extern void ExplainOpenGroup(const char *objtype, const char *labelname,
|
|
123
|
+
bool labeled, ExplainState *es);
|
|
124
|
+
extern void ExplainCloseGroup(const char *objtype, const char *labelname,
|
|
125
|
+
bool labeled, ExplainState *es);
|
|
126
|
+
|
|
127
|
+
#endif /* EXPLAIN_H */
|