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,58 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_authid.h
|
|
4
|
+
* definition of the "authorization identifier" system catalog (pg_authid)
|
|
5
|
+
*
|
|
6
|
+
* pg_shadow and pg_group are now publicly accessible views on pg_authid.
|
|
7
|
+
*
|
|
8
|
+
*
|
|
9
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
10
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
11
|
+
*
|
|
12
|
+
* src/include/catalog/pg_authid.h
|
|
13
|
+
*
|
|
14
|
+
* NOTES
|
|
15
|
+
* The Catalog.pm module reads this file and derives schema
|
|
16
|
+
* information.
|
|
17
|
+
*
|
|
18
|
+
*-------------------------------------------------------------------------
|
|
19
|
+
*/
|
|
20
|
+
#ifndef PG_AUTHID_H
|
|
21
|
+
#define PG_AUTHID_H
|
|
22
|
+
|
|
23
|
+
#include "catalog/genbki.h"
|
|
24
|
+
#include "catalog/pg_authid_d.h"
|
|
25
|
+
|
|
26
|
+
/* ----------------
|
|
27
|
+
* pg_authid definition. cpp turns this into
|
|
28
|
+
* typedef struct FormData_pg_authid
|
|
29
|
+
* ----------------
|
|
30
|
+
*/
|
|
31
|
+
CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842,AuthIdRelation_Rowtype_Id) BKI_SCHEMA_MACRO
|
|
32
|
+
{
|
|
33
|
+
Oid oid; /* oid */
|
|
34
|
+
NameData rolname; /* name of role */
|
|
35
|
+
bool rolsuper; /* read this field via superuser() only! */
|
|
36
|
+
bool rolinherit; /* inherit privileges from other roles? */
|
|
37
|
+
bool rolcreaterole; /* allowed to create more roles? */
|
|
38
|
+
bool rolcreatedb; /* allowed to create databases? */
|
|
39
|
+
bool rolcanlogin; /* allowed to log in as session user? */
|
|
40
|
+
bool rolreplication; /* role used for streaming replication */
|
|
41
|
+
bool rolbypassrls; /* bypasses row level security? */
|
|
42
|
+
int32 rolconnlimit; /* max connections allowed (-1=no limit) */
|
|
43
|
+
|
|
44
|
+
/* remaining fields may be null; use heap_getattr to read them! */
|
|
45
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
46
|
+
text rolpassword; /* password, if any */
|
|
47
|
+
timestamptz rolvaliduntil; /* password expiration time, if any */
|
|
48
|
+
#endif
|
|
49
|
+
} FormData_pg_authid;
|
|
50
|
+
|
|
51
|
+
/* ----------------
|
|
52
|
+
* Form_pg_authid corresponds to a pointer to a tuple with
|
|
53
|
+
* the format of pg_authid relation.
|
|
54
|
+
* ----------------
|
|
55
|
+
*/
|
|
56
|
+
typedef FormData_pg_authid *Form_pg_authid;
|
|
57
|
+
|
|
58
|
+
#endif /* PG_AUTHID_H */
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_authid_d.h
|
|
4
|
+
* Macro definitions for pg_authid
|
|
5
|
+
*
|
|
6
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
7
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
+
*
|
|
9
|
+
* NOTES
|
|
10
|
+
* ******************************
|
|
11
|
+
* *** DO NOT EDIT THIS FILE! ***
|
|
12
|
+
* ******************************
|
|
13
|
+
*
|
|
14
|
+
* It has been GENERATED by src/backend/catalog/genbki.pl
|
|
15
|
+
*
|
|
16
|
+
*-------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
18
|
+
#ifndef PG_AUTHID_D_H
|
|
19
|
+
#define PG_AUTHID_D_H
|
|
20
|
+
|
|
21
|
+
#define AuthIdRelationId 1260
|
|
22
|
+
#define AuthIdRelation_Rowtype_Id 2842
|
|
23
|
+
|
|
24
|
+
#define Anum_pg_authid_oid 1
|
|
25
|
+
#define Anum_pg_authid_rolname 2
|
|
26
|
+
#define Anum_pg_authid_rolsuper 3
|
|
27
|
+
#define Anum_pg_authid_rolinherit 4
|
|
28
|
+
#define Anum_pg_authid_rolcreaterole 5
|
|
29
|
+
#define Anum_pg_authid_rolcreatedb 6
|
|
30
|
+
#define Anum_pg_authid_rolcanlogin 7
|
|
31
|
+
#define Anum_pg_authid_rolreplication 8
|
|
32
|
+
#define Anum_pg_authid_rolbypassrls 9
|
|
33
|
+
#define Anum_pg_authid_rolconnlimit 10
|
|
34
|
+
#define Anum_pg_authid_rolpassword 11
|
|
35
|
+
#define Anum_pg_authid_rolvaliduntil 12
|
|
36
|
+
|
|
37
|
+
#define Natts_pg_authid 12
|
|
38
|
+
|
|
39
|
+
#define BOOTSTRAP_SUPERUSERID 10
|
|
40
|
+
#define DEFAULT_ROLE_MONITOR 3373
|
|
41
|
+
#define DEFAULT_ROLE_READ_ALL_SETTINGS 3374
|
|
42
|
+
#define DEFAULT_ROLE_READ_ALL_STATS 3375
|
|
43
|
+
#define DEFAULT_ROLE_STAT_SCAN_TABLES 3377
|
|
44
|
+
#define DEFAULT_ROLE_READ_SERVER_FILES 4569
|
|
45
|
+
#define DEFAULT_ROLE_WRITE_SERVER_FILES 4570
|
|
46
|
+
#define DEFAULT_ROLE_EXECUTE_SERVER_PROGRAM 4571
|
|
47
|
+
#define DEFAULT_ROLE_SIGNAL_BACKENDID 4200
|
|
48
|
+
|
|
49
|
+
#endif /* PG_AUTHID_D_H */
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_class.h
|
|
4
|
+
* definition of the "relation" system catalog (pg_class)
|
|
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/pg_class.h
|
|
11
|
+
*
|
|
12
|
+
* NOTES
|
|
13
|
+
* The Catalog.pm module reads this file and derives schema
|
|
14
|
+
* information.
|
|
15
|
+
*
|
|
16
|
+
*-------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
18
|
+
#ifndef PG_CLASS_H
|
|
19
|
+
#define PG_CLASS_H
|
|
20
|
+
|
|
21
|
+
#include "catalog/genbki.h"
|
|
22
|
+
#include "catalog/pg_class_d.h"
|
|
23
|
+
|
|
24
|
+
/* ----------------
|
|
25
|
+
* pg_class definition. cpp turns this into
|
|
26
|
+
* typedef struct FormData_pg_class
|
|
27
|
+
*
|
|
28
|
+
* Note that the BKI_DEFAULT values below are only used for rows describing
|
|
29
|
+
* BKI_BOOTSTRAP catalogs, since only those rows appear in pg_class.dat.
|
|
30
|
+
* ----------------
|
|
31
|
+
*/
|
|
32
|
+
CATALOG(pg_class,1259,RelationRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(83,RelationRelation_Rowtype_Id) BKI_SCHEMA_MACRO
|
|
33
|
+
{
|
|
34
|
+
/* oid */
|
|
35
|
+
Oid oid;
|
|
36
|
+
|
|
37
|
+
/* class name */
|
|
38
|
+
NameData relname;
|
|
39
|
+
|
|
40
|
+
/* OID of namespace containing this class */
|
|
41
|
+
Oid relnamespace BKI_DEFAULT(PGNSP);
|
|
42
|
+
|
|
43
|
+
/* OID of entry in pg_type for table's implicit row type */
|
|
44
|
+
Oid reltype BKI_LOOKUP(pg_type);
|
|
45
|
+
|
|
46
|
+
/* OID of entry in pg_type for underlying composite type */
|
|
47
|
+
Oid reloftype BKI_DEFAULT(0) BKI_LOOKUP(pg_type);
|
|
48
|
+
|
|
49
|
+
/* class owner */
|
|
50
|
+
Oid relowner BKI_DEFAULT(PGUID);
|
|
51
|
+
|
|
52
|
+
/* access method; 0 if not a table / index */
|
|
53
|
+
Oid relam BKI_DEFAULT(heap) BKI_LOOKUP(pg_am);
|
|
54
|
+
|
|
55
|
+
/* identifier of physical storage file */
|
|
56
|
+
/* relfilenode == 0 means it is a "mapped" relation, see relmapper.c */
|
|
57
|
+
Oid relfilenode BKI_DEFAULT(0);
|
|
58
|
+
|
|
59
|
+
/* identifier of table space for relation (0 means default for database) */
|
|
60
|
+
Oid reltablespace BKI_DEFAULT(0) BKI_LOOKUP(pg_tablespace);
|
|
61
|
+
|
|
62
|
+
/* # of blocks (not always up-to-date) */
|
|
63
|
+
int32 relpages BKI_DEFAULT(0);
|
|
64
|
+
|
|
65
|
+
/* # of tuples (not always up-to-date) */
|
|
66
|
+
float4 reltuples BKI_DEFAULT(0);
|
|
67
|
+
|
|
68
|
+
/* # of all-visible blocks (not always up-to-date) */
|
|
69
|
+
int32 relallvisible BKI_DEFAULT(0);
|
|
70
|
+
|
|
71
|
+
/* OID of toast table; 0 if none */
|
|
72
|
+
Oid reltoastrelid BKI_DEFAULT(0);
|
|
73
|
+
|
|
74
|
+
/* T if has (or has had) any indexes */
|
|
75
|
+
bool relhasindex BKI_DEFAULT(f);
|
|
76
|
+
|
|
77
|
+
/* T if shared across databases */
|
|
78
|
+
bool relisshared BKI_DEFAULT(f);
|
|
79
|
+
|
|
80
|
+
/* see RELPERSISTENCE_xxx constants below */
|
|
81
|
+
char relpersistence BKI_DEFAULT(p);
|
|
82
|
+
|
|
83
|
+
/* see RELKIND_xxx constants below */
|
|
84
|
+
char relkind BKI_DEFAULT(r);
|
|
85
|
+
|
|
86
|
+
/* number of user attributes */
|
|
87
|
+
int16 relnatts BKI_DEFAULT(0); /* genbki.pl will fill this in */
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
* Class pg_attribute must contain exactly "relnatts" user attributes
|
|
91
|
+
* (with attnums ranging from 1 to relnatts) for this class. It may also
|
|
92
|
+
* contain entries with negative attnums for system attributes.
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/* # of CHECK constraints for class */
|
|
96
|
+
int16 relchecks BKI_DEFAULT(0);
|
|
97
|
+
|
|
98
|
+
/* has (or has had) any rules */
|
|
99
|
+
bool relhasrules BKI_DEFAULT(f);
|
|
100
|
+
|
|
101
|
+
/* has (or has had) any TRIGGERs */
|
|
102
|
+
bool relhastriggers BKI_DEFAULT(f);
|
|
103
|
+
|
|
104
|
+
/* has (or has had) child tables or indexes */
|
|
105
|
+
bool relhassubclass BKI_DEFAULT(f);
|
|
106
|
+
|
|
107
|
+
/* row security is enabled or not */
|
|
108
|
+
bool relrowsecurity BKI_DEFAULT(f);
|
|
109
|
+
|
|
110
|
+
/* row security forced for owners or not */
|
|
111
|
+
bool relforcerowsecurity BKI_DEFAULT(f);
|
|
112
|
+
|
|
113
|
+
/* matview currently holds query results */
|
|
114
|
+
bool relispopulated BKI_DEFAULT(t);
|
|
115
|
+
|
|
116
|
+
/* see REPLICA_IDENTITY_xxx constants */
|
|
117
|
+
char relreplident BKI_DEFAULT(n);
|
|
118
|
+
|
|
119
|
+
/* is relation a partition? */
|
|
120
|
+
bool relispartition BKI_DEFAULT(f);
|
|
121
|
+
|
|
122
|
+
/* heap for rewrite during DDL, link to original rel */
|
|
123
|
+
Oid relrewrite BKI_DEFAULT(0);
|
|
124
|
+
|
|
125
|
+
/* all Xids < this are frozen in this rel */
|
|
126
|
+
TransactionId relfrozenxid BKI_DEFAULT(3); /* FirstNormalTransactionId */
|
|
127
|
+
|
|
128
|
+
/* all multixacts in this rel are >= this; it is really a MultiXactId */
|
|
129
|
+
TransactionId relminmxid BKI_DEFAULT(1); /* FirstMultiXactId */
|
|
130
|
+
|
|
131
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
132
|
+
/* NOTE: These fields are not present in a relcache entry's rd_rel field. */
|
|
133
|
+
/* access permissions */
|
|
134
|
+
aclitem relacl[1] BKI_DEFAULT(_null_);
|
|
135
|
+
|
|
136
|
+
/* access-method-specific options */
|
|
137
|
+
text reloptions[1] BKI_DEFAULT(_null_);
|
|
138
|
+
|
|
139
|
+
/* partition bound node tree */
|
|
140
|
+
pg_node_tree relpartbound BKI_DEFAULT(_null_);
|
|
141
|
+
#endif
|
|
142
|
+
} FormData_pg_class;
|
|
143
|
+
|
|
144
|
+
/* Size of fixed part of pg_class tuples, not counting var-length fields */
|
|
145
|
+
#define CLASS_TUPLE_SIZE \
|
|
146
|
+
(offsetof(FormData_pg_class,relminmxid) + sizeof(TransactionId))
|
|
147
|
+
|
|
148
|
+
/* ----------------
|
|
149
|
+
* Form_pg_class corresponds to a pointer to a tuple with
|
|
150
|
+
* the format of pg_class relation.
|
|
151
|
+
* ----------------
|
|
152
|
+
*/
|
|
153
|
+
typedef FormData_pg_class *Form_pg_class;
|
|
154
|
+
|
|
155
|
+
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
156
|
+
|
|
157
|
+
#define RELKIND_RELATION 'r' /* ordinary table */
|
|
158
|
+
#define RELKIND_INDEX 'i' /* secondary index */
|
|
159
|
+
#define RELKIND_SEQUENCE 'S' /* sequence object */
|
|
160
|
+
#define RELKIND_TOASTVALUE 't' /* for out-of-line values */
|
|
161
|
+
#define RELKIND_VIEW 'v' /* view */
|
|
162
|
+
#define RELKIND_MATVIEW 'm' /* materialized view */
|
|
163
|
+
#define RELKIND_COMPOSITE_TYPE 'c' /* composite type */
|
|
164
|
+
#define RELKIND_FOREIGN_TABLE 'f' /* foreign table */
|
|
165
|
+
#define RELKIND_PARTITIONED_TABLE 'p' /* partitioned table */
|
|
166
|
+
#define RELKIND_PARTITIONED_INDEX 'I' /* partitioned index */
|
|
167
|
+
|
|
168
|
+
#define RELPERSISTENCE_PERMANENT 'p' /* regular table */
|
|
169
|
+
#define RELPERSISTENCE_UNLOGGED 'u' /* unlogged permanent table */
|
|
170
|
+
#define RELPERSISTENCE_TEMP 't' /* temporary table */
|
|
171
|
+
|
|
172
|
+
/* default selection for replica identity (primary key or nothing) */
|
|
173
|
+
#define REPLICA_IDENTITY_DEFAULT 'd'
|
|
174
|
+
/* no replica identity is logged for this relation */
|
|
175
|
+
#define REPLICA_IDENTITY_NOTHING 'n'
|
|
176
|
+
/* all columns are logged as replica identity */
|
|
177
|
+
#define REPLICA_IDENTITY_FULL 'f'
|
|
178
|
+
/*
|
|
179
|
+
* an explicitly chosen candidate key's columns are used as replica identity.
|
|
180
|
+
* Note this will still be set if the index has been dropped; in that case it
|
|
181
|
+
* has the same meaning as 'd'.
|
|
182
|
+
*/
|
|
183
|
+
#define REPLICA_IDENTITY_INDEX 'i'
|
|
184
|
+
|
|
185
|
+
/*
|
|
186
|
+
* Relation kinds that have physical storage. These relations normally have
|
|
187
|
+
* relfilenode set to non-zero, but it can also be zero if the relation is
|
|
188
|
+
* mapped.
|
|
189
|
+
*/
|
|
190
|
+
#define RELKIND_HAS_STORAGE(relkind) \
|
|
191
|
+
((relkind) == RELKIND_RELATION || \
|
|
192
|
+
(relkind) == RELKIND_INDEX || \
|
|
193
|
+
(relkind) == RELKIND_SEQUENCE || \
|
|
194
|
+
(relkind) == RELKIND_TOASTVALUE || \
|
|
195
|
+
(relkind) == RELKIND_MATVIEW)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
#endif /* EXPOSE_TO_CLIENT_CODE */
|
|
199
|
+
|
|
200
|
+
#endif /* PG_CLASS_H */
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_class_d.h
|
|
4
|
+
* Macro definitions for pg_class
|
|
5
|
+
*
|
|
6
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
7
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
8
|
+
*
|
|
9
|
+
* NOTES
|
|
10
|
+
* ******************************
|
|
11
|
+
* *** DO NOT EDIT THIS FILE! ***
|
|
12
|
+
* ******************************
|
|
13
|
+
*
|
|
14
|
+
* It has been GENERATED by src/backend/catalog/genbki.pl
|
|
15
|
+
*
|
|
16
|
+
*-------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
18
|
+
#ifndef PG_CLASS_D_H
|
|
19
|
+
#define PG_CLASS_D_H
|
|
20
|
+
|
|
21
|
+
#define RelationRelationId 1259
|
|
22
|
+
#define RelationRelation_Rowtype_Id 83
|
|
23
|
+
|
|
24
|
+
#define Anum_pg_class_oid 1
|
|
25
|
+
#define Anum_pg_class_relname 2
|
|
26
|
+
#define Anum_pg_class_relnamespace 3
|
|
27
|
+
#define Anum_pg_class_reltype 4
|
|
28
|
+
#define Anum_pg_class_reloftype 5
|
|
29
|
+
#define Anum_pg_class_relowner 6
|
|
30
|
+
#define Anum_pg_class_relam 7
|
|
31
|
+
#define Anum_pg_class_relfilenode 8
|
|
32
|
+
#define Anum_pg_class_reltablespace 9
|
|
33
|
+
#define Anum_pg_class_relpages 10
|
|
34
|
+
#define Anum_pg_class_reltuples 11
|
|
35
|
+
#define Anum_pg_class_relallvisible 12
|
|
36
|
+
#define Anum_pg_class_reltoastrelid 13
|
|
37
|
+
#define Anum_pg_class_relhasindex 14
|
|
38
|
+
#define Anum_pg_class_relisshared 15
|
|
39
|
+
#define Anum_pg_class_relpersistence 16
|
|
40
|
+
#define Anum_pg_class_relkind 17
|
|
41
|
+
#define Anum_pg_class_relnatts 18
|
|
42
|
+
#define Anum_pg_class_relchecks 19
|
|
43
|
+
#define Anum_pg_class_relhasrules 20
|
|
44
|
+
#define Anum_pg_class_relhastriggers 21
|
|
45
|
+
#define Anum_pg_class_relhassubclass 22
|
|
46
|
+
#define Anum_pg_class_relrowsecurity 23
|
|
47
|
+
#define Anum_pg_class_relforcerowsecurity 24
|
|
48
|
+
#define Anum_pg_class_relispopulated 25
|
|
49
|
+
#define Anum_pg_class_relreplident 26
|
|
50
|
+
#define Anum_pg_class_relispartition 27
|
|
51
|
+
#define Anum_pg_class_relrewrite 28
|
|
52
|
+
#define Anum_pg_class_relfrozenxid 29
|
|
53
|
+
#define Anum_pg_class_relminmxid 30
|
|
54
|
+
#define Anum_pg_class_relacl 31
|
|
55
|
+
#define Anum_pg_class_reloptions 32
|
|
56
|
+
#define Anum_pg_class_relpartbound 33
|
|
57
|
+
|
|
58
|
+
#define Natts_pg_class 33
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
#define RELKIND_RELATION 'r' /* ordinary table */
|
|
62
|
+
#define RELKIND_INDEX 'i' /* secondary index */
|
|
63
|
+
#define RELKIND_SEQUENCE 'S' /* sequence object */
|
|
64
|
+
#define RELKIND_TOASTVALUE 't' /* for out-of-line values */
|
|
65
|
+
#define RELKIND_VIEW 'v' /* view */
|
|
66
|
+
#define RELKIND_MATVIEW 'm' /* materialized view */
|
|
67
|
+
#define RELKIND_COMPOSITE_TYPE 'c' /* composite type */
|
|
68
|
+
#define RELKIND_FOREIGN_TABLE 'f' /* foreign table */
|
|
69
|
+
#define RELKIND_PARTITIONED_TABLE 'p' /* partitioned table */
|
|
70
|
+
#define RELKIND_PARTITIONED_INDEX 'I' /* partitioned index */
|
|
71
|
+
|
|
72
|
+
#define RELPERSISTENCE_PERMANENT 'p' /* regular table */
|
|
73
|
+
#define RELPERSISTENCE_UNLOGGED 'u' /* unlogged permanent table */
|
|
74
|
+
#define RELPERSISTENCE_TEMP 't' /* temporary table */
|
|
75
|
+
|
|
76
|
+
/* default selection for replica identity (primary key or nothing) */
|
|
77
|
+
#define REPLICA_IDENTITY_DEFAULT 'd'
|
|
78
|
+
/* no replica identity is logged for this relation */
|
|
79
|
+
#define REPLICA_IDENTITY_NOTHING 'n'
|
|
80
|
+
/* all columns are logged as replica identity */
|
|
81
|
+
#define REPLICA_IDENTITY_FULL 'f'
|
|
82
|
+
/*
|
|
83
|
+
* an explicitly chosen candidate key's columns are used as replica identity.
|
|
84
|
+
* Note this will still be set if the index has been dropped; in that case it
|
|
85
|
+
* has the same meaning as 'd'.
|
|
86
|
+
*/
|
|
87
|
+
#define REPLICA_IDENTITY_INDEX 'i'
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
* Relation kinds that have physical storage. These relations normally have
|
|
91
|
+
* relfilenode set to non-zero, but it can also be zero if the relation is
|
|
92
|
+
* mapped.
|
|
93
|
+
*/
|
|
94
|
+
#define RELKIND_HAS_STORAGE(relkind) \
|
|
95
|
+
((relkind) == RELKIND_RELATION || \
|
|
96
|
+
(relkind) == RELKIND_INDEX || \
|
|
97
|
+
(relkind) == RELKIND_SEQUENCE || \
|
|
98
|
+
(relkind) == RELKIND_TOASTVALUE || \
|
|
99
|
+
(relkind) == RELKIND_MATVIEW)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
#endif /* PG_CLASS_D_H */
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_collation.h
|
|
4
|
+
* definition of the "collation" system catalog (pg_collation)
|
|
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/pg_collation.h
|
|
11
|
+
*
|
|
12
|
+
* NOTES
|
|
13
|
+
* The Catalog.pm module reads this file and derives schema
|
|
14
|
+
* information.
|
|
15
|
+
*
|
|
16
|
+
*-------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
18
|
+
#ifndef PG_COLLATION_H
|
|
19
|
+
#define PG_COLLATION_H
|
|
20
|
+
|
|
21
|
+
#include "catalog/genbki.h"
|
|
22
|
+
#include "catalog/pg_collation_d.h"
|
|
23
|
+
|
|
24
|
+
/* ----------------
|
|
25
|
+
* pg_collation definition. cpp turns this into
|
|
26
|
+
* typedef struct FormData_pg_collation
|
|
27
|
+
* ----------------
|
|
28
|
+
*/
|
|
29
|
+
CATALOG(pg_collation,3456,CollationRelationId)
|
|
30
|
+
{
|
|
31
|
+
Oid oid; /* oid */
|
|
32
|
+
NameData collname; /* collation name */
|
|
33
|
+
Oid collnamespace; /* OID of namespace containing collation */
|
|
34
|
+
Oid collowner; /* owner of collation */
|
|
35
|
+
char collprovider; /* see constants below */
|
|
36
|
+
bool collisdeterministic BKI_DEFAULT(t);
|
|
37
|
+
int32 collencoding; /* encoding for this collation; -1 = "all" */
|
|
38
|
+
NameData collcollate; /* LC_COLLATE setting */
|
|
39
|
+
NameData collctype; /* LC_CTYPE setting */
|
|
40
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
41
|
+
text collversion; /* provider-dependent version of collation
|
|
42
|
+
* data */
|
|
43
|
+
#endif
|
|
44
|
+
} FormData_pg_collation;
|
|
45
|
+
|
|
46
|
+
/* ----------------
|
|
47
|
+
* Form_pg_collation corresponds to a pointer to a row with
|
|
48
|
+
* the format of pg_collation relation.
|
|
49
|
+
* ----------------
|
|
50
|
+
*/
|
|
51
|
+
typedef FormData_pg_collation *Form_pg_collation;
|
|
52
|
+
|
|
53
|
+
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
54
|
+
|
|
55
|
+
#define COLLPROVIDER_DEFAULT 'd'
|
|
56
|
+
#define COLLPROVIDER_ICU 'i'
|
|
57
|
+
#define COLLPROVIDER_LIBC 'c'
|
|
58
|
+
|
|
59
|
+
#endif /* EXPOSE_TO_CLIENT_CODE */
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
extern Oid CollationCreate(const char *collname, Oid collnamespace,
|
|
63
|
+
Oid collowner,
|
|
64
|
+
char collprovider,
|
|
65
|
+
bool collisdeterministic,
|
|
66
|
+
int32 collencoding,
|
|
67
|
+
const char *collcollate, const char *collctype,
|
|
68
|
+
const char *collversion,
|
|
69
|
+
bool if_not_exists,
|
|
70
|
+
bool quiet);
|
|
71
|
+
extern void RemoveCollationById(Oid collationOid);
|
|
72
|
+
|
|
73
|
+
#endif /* PG_COLLATION_H */
|