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,77 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_aggregate_d.h
|
|
4
|
+
* Macro definitions for pg_aggregate
|
|
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_AGGREGATE_D_H
|
|
19
|
+
#define PG_AGGREGATE_D_H
|
|
20
|
+
|
|
21
|
+
#define AggregateRelationId 2600
|
|
22
|
+
|
|
23
|
+
#define Anum_pg_aggregate_aggfnoid 1
|
|
24
|
+
#define Anum_pg_aggregate_aggkind 2
|
|
25
|
+
#define Anum_pg_aggregate_aggnumdirectargs 3
|
|
26
|
+
#define Anum_pg_aggregate_aggtransfn 4
|
|
27
|
+
#define Anum_pg_aggregate_aggfinalfn 5
|
|
28
|
+
#define Anum_pg_aggregate_aggcombinefn 6
|
|
29
|
+
#define Anum_pg_aggregate_aggserialfn 7
|
|
30
|
+
#define Anum_pg_aggregate_aggdeserialfn 8
|
|
31
|
+
#define Anum_pg_aggregate_aggmtransfn 9
|
|
32
|
+
#define Anum_pg_aggregate_aggminvtransfn 10
|
|
33
|
+
#define Anum_pg_aggregate_aggmfinalfn 11
|
|
34
|
+
#define Anum_pg_aggregate_aggfinalextra 12
|
|
35
|
+
#define Anum_pg_aggregate_aggmfinalextra 13
|
|
36
|
+
#define Anum_pg_aggregate_aggfinalmodify 14
|
|
37
|
+
#define Anum_pg_aggregate_aggmfinalmodify 15
|
|
38
|
+
#define Anum_pg_aggregate_aggsortop 16
|
|
39
|
+
#define Anum_pg_aggregate_aggtranstype 17
|
|
40
|
+
#define Anum_pg_aggregate_aggtransspace 18
|
|
41
|
+
#define Anum_pg_aggregate_aggmtranstype 19
|
|
42
|
+
#define Anum_pg_aggregate_aggmtransspace 20
|
|
43
|
+
#define Anum_pg_aggregate_agginitval 21
|
|
44
|
+
#define Anum_pg_aggregate_aggminitval 22
|
|
45
|
+
|
|
46
|
+
#define Natts_pg_aggregate 22
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/*
|
|
50
|
+
* Symbolic values for aggkind column. We distinguish normal aggregates
|
|
51
|
+
* from ordered-set aggregates (which have two sets of arguments, namely
|
|
52
|
+
* direct and aggregated arguments) and from hypothetical-set aggregates
|
|
53
|
+
* (which are a subclass of ordered-set aggregates in which the last
|
|
54
|
+
* direct arguments have to match up in number and datatypes with the
|
|
55
|
+
* aggregated arguments).
|
|
56
|
+
*/
|
|
57
|
+
#define AGGKIND_NORMAL 'n'
|
|
58
|
+
#define AGGKIND_ORDERED_SET 'o'
|
|
59
|
+
#define AGGKIND_HYPOTHETICAL 'h'
|
|
60
|
+
|
|
61
|
+
/* Use this macro to test for "ordered-set agg including hypothetical case" */
|
|
62
|
+
#define AGGKIND_IS_ORDERED_SET(kind) ((kind) != AGGKIND_NORMAL)
|
|
63
|
+
|
|
64
|
+
/*
|
|
65
|
+
* Symbolic values for aggfinalmodify and aggmfinalmodify columns.
|
|
66
|
+
* Preferably, finalfns do not modify the transition state value at all,
|
|
67
|
+
* but in some cases that would cost too much performance. We distinguish
|
|
68
|
+
* "pure read only" and "trashes it arbitrarily" cases, as well as the
|
|
69
|
+
* intermediate case where multiple finalfn calls are allowed but the
|
|
70
|
+
* transfn cannot be applied anymore after the first finalfn call.
|
|
71
|
+
*/
|
|
72
|
+
#define AGGMODIFY_READ_ONLY 'r'
|
|
73
|
+
#define AGGMODIFY_SHAREABLE 's'
|
|
74
|
+
#define AGGMODIFY_READ_WRITE 'w'
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
#endif /* PG_AGGREGATE_D_H */
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_am.h
|
|
4
|
+
* definition of the "access method" system catalog (pg_am)
|
|
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_am.h
|
|
11
|
+
*
|
|
12
|
+
* NOTES
|
|
13
|
+
* The Catalog.pm module reads this file and derives schema
|
|
14
|
+
* information.
|
|
15
|
+
*
|
|
16
|
+
*-------------------------------------------------------------------------
|
|
17
|
+
*/
|
|
18
|
+
#ifndef PG_AM_H
|
|
19
|
+
#define PG_AM_H
|
|
20
|
+
|
|
21
|
+
#include "catalog/genbki.h"
|
|
22
|
+
#include "catalog/pg_am_d.h"
|
|
23
|
+
|
|
24
|
+
/* ----------------
|
|
25
|
+
* pg_am definition. cpp turns this into
|
|
26
|
+
* typedef struct FormData_pg_am
|
|
27
|
+
* ----------------
|
|
28
|
+
*/
|
|
29
|
+
CATALOG(pg_am,2601,AccessMethodRelationId)
|
|
30
|
+
{
|
|
31
|
+
Oid oid; /* oid */
|
|
32
|
+
|
|
33
|
+
/* access method name */
|
|
34
|
+
NameData amname;
|
|
35
|
+
|
|
36
|
+
/* handler function */
|
|
37
|
+
regproc amhandler BKI_LOOKUP(pg_proc);
|
|
38
|
+
|
|
39
|
+
/* see AMTYPE_xxx constants below */
|
|
40
|
+
char amtype;
|
|
41
|
+
} FormData_pg_am;
|
|
42
|
+
|
|
43
|
+
/* ----------------
|
|
44
|
+
* Form_pg_am corresponds to a pointer to a tuple with
|
|
45
|
+
* the format of pg_am relation.
|
|
46
|
+
* ----------------
|
|
47
|
+
*/
|
|
48
|
+
typedef FormData_pg_am *Form_pg_am;
|
|
49
|
+
|
|
50
|
+
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
51
|
+
|
|
52
|
+
/*
|
|
53
|
+
* Allowed values for amtype
|
|
54
|
+
*/
|
|
55
|
+
#define AMTYPE_INDEX 'i' /* index access method */
|
|
56
|
+
#define AMTYPE_TABLE 't' /* table access method */
|
|
57
|
+
|
|
58
|
+
#endif /* EXPOSE_TO_CLIENT_CODE */
|
|
59
|
+
|
|
60
|
+
#endif /* PG_AM_H */
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_am_d.h
|
|
4
|
+
* Macro definitions for pg_am
|
|
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_AM_D_H
|
|
19
|
+
#define PG_AM_D_H
|
|
20
|
+
|
|
21
|
+
#define AccessMethodRelationId 2601
|
|
22
|
+
|
|
23
|
+
#define Anum_pg_am_oid 1
|
|
24
|
+
#define Anum_pg_am_amname 2
|
|
25
|
+
#define Anum_pg_am_amhandler 3
|
|
26
|
+
#define Anum_pg_am_amtype 4
|
|
27
|
+
|
|
28
|
+
#define Natts_pg_am 4
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/*
|
|
32
|
+
* Allowed values for amtype
|
|
33
|
+
*/
|
|
34
|
+
#define AMTYPE_INDEX 'i' /* index access method */
|
|
35
|
+
#define AMTYPE_TABLE 't' /* table access method */
|
|
36
|
+
|
|
37
|
+
#define HEAP_TABLE_AM_OID 2
|
|
38
|
+
#define BTREE_AM_OID 403
|
|
39
|
+
#define HASH_AM_OID 405
|
|
40
|
+
#define GIST_AM_OID 783
|
|
41
|
+
#define GIN_AM_OID 2742
|
|
42
|
+
#define SPGIST_AM_OID 4000
|
|
43
|
+
#define BRIN_AM_OID 3580
|
|
44
|
+
|
|
45
|
+
#endif /* PG_AM_D_H */
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_attribute.h
|
|
4
|
+
* definition of the "attribute" system catalog (pg_attribute)
|
|
5
|
+
*
|
|
6
|
+
* The initial contents of pg_attribute are generated at compile time by
|
|
7
|
+
* genbki.pl, so there is no pg_attribute.dat file. Only "bootstrapped"
|
|
8
|
+
* relations need be included.
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
12
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
13
|
+
*
|
|
14
|
+
* src/include/catalog/pg_attribute.h
|
|
15
|
+
*
|
|
16
|
+
* NOTES
|
|
17
|
+
* The Catalog.pm module reads this file and derives schema
|
|
18
|
+
* information.
|
|
19
|
+
*
|
|
20
|
+
*-------------------------------------------------------------------------
|
|
21
|
+
*/
|
|
22
|
+
#ifndef PG_ATTRIBUTE_H
|
|
23
|
+
#define PG_ATTRIBUTE_H
|
|
24
|
+
|
|
25
|
+
#include "catalog/genbki.h"
|
|
26
|
+
#include "catalog/pg_attribute_d.h"
|
|
27
|
+
|
|
28
|
+
/* ----------------
|
|
29
|
+
* pg_attribute definition. cpp turns this into
|
|
30
|
+
* typedef struct FormData_pg_attribute
|
|
31
|
+
*
|
|
32
|
+
* If you change the following, make sure you change the structs for
|
|
33
|
+
* system attributes in catalog/heap.c also.
|
|
34
|
+
* You may need to change catalog/genbki.pl as well.
|
|
35
|
+
* ----------------
|
|
36
|
+
*/
|
|
37
|
+
CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75,AttributeRelation_Rowtype_Id) BKI_SCHEMA_MACRO
|
|
38
|
+
{
|
|
39
|
+
Oid attrelid; /* OID of relation containing this attribute */
|
|
40
|
+
NameData attname; /* name of attribute */
|
|
41
|
+
|
|
42
|
+
/*
|
|
43
|
+
* atttypid is the OID of the instance in Catalog Class pg_type that
|
|
44
|
+
* defines the data type of this attribute (e.g. int4). Information in
|
|
45
|
+
* that instance is redundant with the attlen, attbyval, and attalign
|
|
46
|
+
* attributes of this instance, so they had better match or Postgres will
|
|
47
|
+
* fail.
|
|
48
|
+
*/
|
|
49
|
+
Oid atttypid;
|
|
50
|
+
|
|
51
|
+
/*
|
|
52
|
+
* attstattarget is the target number of statistics datapoints to collect
|
|
53
|
+
* during VACUUM ANALYZE of this column. A zero here indicates that we do
|
|
54
|
+
* not wish to collect any stats about this column. A "-1" here indicates
|
|
55
|
+
* that no value has been explicitly set for this column, so ANALYZE
|
|
56
|
+
* should use the default setting.
|
|
57
|
+
*/
|
|
58
|
+
int32 attstattarget BKI_DEFAULT(-1);
|
|
59
|
+
|
|
60
|
+
/*
|
|
61
|
+
* attlen is a copy of the typlen field from pg_type for this attribute.
|
|
62
|
+
* See atttypid comments above.
|
|
63
|
+
*/
|
|
64
|
+
int16 attlen;
|
|
65
|
+
|
|
66
|
+
/*
|
|
67
|
+
* attnum is the "attribute number" for the attribute: A value that
|
|
68
|
+
* uniquely identifies this attribute within its class. For user
|
|
69
|
+
* attributes, Attribute numbers are greater than 0 and not greater than
|
|
70
|
+
* the number of attributes in the class. I.e. if the Class pg_class says
|
|
71
|
+
* that Class XYZ has 10 attributes, then the user attribute numbers in
|
|
72
|
+
* Class pg_attribute must be 1-10.
|
|
73
|
+
*
|
|
74
|
+
* System attributes have attribute numbers less than 0 that are unique
|
|
75
|
+
* within the class, but not constrained to any particular range.
|
|
76
|
+
*
|
|
77
|
+
* Note that (attnum - 1) is often used as the index to an array.
|
|
78
|
+
*/
|
|
79
|
+
int16 attnum;
|
|
80
|
+
|
|
81
|
+
/*
|
|
82
|
+
* attndims is the declared number of dimensions, if an array type,
|
|
83
|
+
* otherwise zero.
|
|
84
|
+
*/
|
|
85
|
+
int32 attndims;
|
|
86
|
+
|
|
87
|
+
/*
|
|
88
|
+
* fastgetattr() uses attcacheoff to cache byte offsets of attributes in
|
|
89
|
+
* heap tuples. The value actually stored in pg_attribute (-1) indicates
|
|
90
|
+
* no cached value. But when we copy these tuples into a tuple
|
|
91
|
+
* descriptor, we may then update attcacheoff in the copies. This speeds
|
|
92
|
+
* up the attribute walking process.
|
|
93
|
+
*/
|
|
94
|
+
int32 attcacheoff BKI_DEFAULT(-1);
|
|
95
|
+
|
|
96
|
+
/*
|
|
97
|
+
* atttypmod records type-specific data supplied at table creation time
|
|
98
|
+
* (for example, the max length of a varchar field). It is passed to
|
|
99
|
+
* type-specific input and output functions as the third argument. The
|
|
100
|
+
* value will generally be -1 for types that do not need typmod.
|
|
101
|
+
*/
|
|
102
|
+
int32 atttypmod BKI_DEFAULT(-1);
|
|
103
|
+
|
|
104
|
+
/*
|
|
105
|
+
* attbyval is a copy of the typbyval field from pg_type for this
|
|
106
|
+
* attribute. See atttypid comments above.
|
|
107
|
+
*/
|
|
108
|
+
bool attbyval;
|
|
109
|
+
|
|
110
|
+
/*----------
|
|
111
|
+
* attstorage tells for VARLENA attributes, what the heap access
|
|
112
|
+
* methods can do to it if a given tuple doesn't fit into a page.
|
|
113
|
+
* Possible values are as for pg_type.typstorage (see TYPSTORAGE macros).
|
|
114
|
+
*----------
|
|
115
|
+
*/
|
|
116
|
+
char attstorage;
|
|
117
|
+
|
|
118
|
+
/*
|
|
119
|
+
* attalign is a copy of the typalign field from pg_type for this
|
|
120
|
+
* attribute. See atttypid comments above.
|
|
121
|
+
*/
|
|
122
|
+
char attalign;
|
|
123
|
+
|
|
124
|
+
/* This flag represents the "NOT NULL" constraint */
|
|
125
|
+
bool attnotnull;
|
|
126
|
+
|
|
127
|
+
/* Has DEFAULT value or not */
|
|
128
|
+
bool atthasdef BKI_DEFAULT(f);
|
|
129
|
+
|
|
130
|
+
/* Has a missing value or not */
|
|
131
|
+
bool atthasmissing BKI_DEFAULT(f);
|
|
132
|
+
|
|
133
|
+
/* One of the ATTRIBUTE_IDENTITY_* constants below, or '\0' */
|
|
134
|
+
char attidentity BKI_DEFAULT('\0');
|
|
135
|
+
|
|
136
|
+
/* One of the ATTRIBUTE_GENERATED_* constants below, or '\0' */
|
|
137
|
+
char attgenerated BKI_DEFAULT('\0');
|
|
138
|
+
|
|
139
|
+
/* Is dropped (ie, logically invisible) or not */
|
|
140
|
+
bool attisdropped BKI_DEFAULT(f);
|
|
141
|
+
|
|
142
|
+
/*
|
|
143
|
+
* This flag specifies whether this column has ever had a local
|
|
144
|
+
* definition. It is set for normal non-inherited columns, but also for
|
|
145
|
+
* columns that are inherited from parents if also explicitly listed in
|
|
146
|
+
* CREATE TABLE INHERITS. It is also set when inheritance is removed from
|
|
147
|
+
* a table with ALTER TABLE NO INHERIT. If the flag is set, the column is
|
|
148
|
+
* not dropped by a parent's DROP COLUMN even if this causes the column's
|
|
149
|
+
* attinhcount to become zero.
|
|
150
|
+
*/
|
|
151
|
+
bool attislocal BKI_DEFAULT(t);
|
|
152
|
+
|
|
153
|
+
/* Number of times inherited from direct parent relation(s) */
|
|
154
|
+
int32 attinhcount BKI_DEFAULT(0);
|
|
155
|
+
|
|
156
|
+
/* attribute's collation */
|
|
157
|
+
Oid attcollation;
|
|
158
|
+
|
|
159
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
160
|
+
/* NOTE: The following fields are not present in tuple descriptors. */
|
|
161
|
+
|
|
162
|
+
/* Column-level access permissions */
|
|
163
|
+
aclitem attacl[1] BKI_DEFAULT(_null_);
|
|
164
|
+
|
|
165
|
+
/* Column-level options */
|
|
166
|
+
text attoptions[1] BKI_DEFAULT(_null_);
|
|
167
|
+
|
|
168
|
+
/* Column-level FDW options */
|
|
169
|
+
text attfdwoptions[1] BKI_DEFAULT(_null_);
|
|
170
|
+
|
|
171
|
+
/*
|
|
172
|
+
* Missing value for added columns. This is a one element array which lets
|
|
173
|
+
* us store a value of the attribute type here.
|
|
174
|
+
*/
|
|
175
|
+
anyarray attmissingval BKI_DEFAULT(_null_);
|
|
176
|
+
#endif
|
|
177
|
+
} FormData_pg_attribute;
|
|
178
|
+
|
|
179
|
+
/*
|
|
180
|
+
* ATTRIBUTE_FIXED_PART_SIZE is the size of the fixed-layout,
|
|
181
|
+
* guaranteed-not-null part of a pg_attribute row. This is in fact as much
|
|
182
|
+
* of the row as gets copied into tuple descriptors, so don't expect you
|
|
183
|
+
* can access fields beyond attcollation except in a real tuple!
|
|
184
|
+
*/
|
|
185
|
+
#define ATTRIBUTE_FIXED_PART_SIZE \
|
|
186
|
+
(offsetof(FormData_pg_attribute,attcollation) + sizeof(Oid))
|
|
187
|
+
|
|
188
|
+
/* ----------------
|
|
189
|
+
* Form_pg_attribute corresponds to a pointer to a tuple with
|
|
190
|
+
* the format of pg_attribute relation.
|
|
191
|
+
* ----------------
|
|
192
|
+
*/
|
|
193
|
+
typedef FormData_pg_attribute *Form_pg_attribute;
|
|
194
|
+
|
|
195
|
+
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
196
|
+
|
|
197
|
+
#define ATTRIBUTE_IDENTITY_ALWAYS 'a'
|
|
198
|
+
#define ATTRIBUTE_IDENTITY_BY_DEFAULT 'd'
|
|
199
|
+
|
|
200
|
+
#define ATTRIBUTE_GENERATED_STORED 's'
|
|
201
|
+
|
|
202
|
+
#endif /* EXPOSE_TO_CLIENT_CODE */
|
|
203
|
+
|
|
204
|
+
#endif /* PG_ATTRIBUTE_H */
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*-------------------------------------------------------------------------
|
|
2
|
+
*
|
|
3
|
+
* pg_attribute_d.h
|
|
4
|
+
* Macro definitions for pg_attribute
|
|
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_ATTRIBUTE_D_H
|
|
19
|
+
#define PG_ATTRIBUTE_D_H
|
|
20
|
+
|
|
21
|
+
#define AttributeRelationId 1249
|
|
22
|
+
#define AttributeRelation_Rowtype_Id 75
|
|
23
|
+
|
|
24
|
+
#define Anum_pg_attribute_attrelid 1
|
|
25
|
+
#define Anum_pg_attribute_attname 2
|
|
26
|
+
#define Anum_pg_attribute_atttypid 3
|
|
27
|
+
#define Anum_pg_attribute_attstattarget 4
|
|
28
|
+
#define Anum_pg_attribute_attlen 5
|
|
29
|
+
#define Anum_pg_attribute_attnum 6
|
|
30
|
+
#define Anum_pg_attribute_attndims 7
|
|
31
|
+
#define Anum_pg_attribute_attcacheoff 8
|
|
32
|
+
#define Anum_pg_attribute_atttypmod 9
|
|
33
|
+
#define Anum_pg_attribute_attbyval 10
|
|
34
|
+
#define Anum_pg_attribute_attstorage 11
|
|
35
|
+
#define Anum_pg_attribute_attalign 12
|
|
36
|
+
#define Anum_pg_attribute_attnotnull 13
|
|
37
|
+
#define Anum_pg_attribute_atthasdef 14
|
|
38
|
+
#define Anum_pg_attribute_atthasmissing 15
|
|
39
|
+
#define Anum_pg_attribute_attidentity 16
|
|
40
|
+
#define Anum_pg_attribute_attgenerated 17
|
|
41
|
+
#define Anum_pg_attribute_attisdropped 18
|
|
42
|
+
#define Anum_pg_attribute_attislocal 19
|
|
43
|
+
#define Anum_pg_attribute_attinhcount 20
|
|
44
|
+
#define Anum_pg_attribute_attcollation 21
|
|
45
|
+
#define Anum_pg_attribute_attacl 22
|
|
46
|
+
#define Anum_pg_attribute_attoptions 23
|
|
47
|
+
#define Anum_pg_attribute_attfdwoptions 24
|
|
48
|
+
#define Anum_pg_attribute_attmissingval 25
|
|
49
|
+
|
|
50
|
+
#define Natts_pg_attribute 25
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
#define ATTRIBUTE_IDENTITY_ALWAYS 'a'
|
|
54
|
+
#define ATTRIBUTE_IDENTITY_BY_DEFAULT 'd'
|
|
55
|
+
|
|
56
|
+
#define ATTRIBUTE_GENERATED_STORED 's'
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
#endif /* PG_ATTRIBUTE_D_H */
|