yb_ddl_parser 0.1.0
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 +7 -0
- data/LICENSE +177 -0
- data/LICENSES/Apache-2.0.txt +4 -0
- data/LICENSES/PostgreSQL.txt +24 -0
- data/README.md +93 -0
- data/THIRD_PARTY_NOTICES.md +47 -0
- data/VERSION +1 -0
- data/ext/yb_ddl_parser/extconf.rb +41 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/pg_config.h +1021 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/pg_config_ext.h +8 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/pg_config_os.h +8 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/util/ybc_util.h +53 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_dist_trace.h +12 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_gflags.h +17 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_pg_typedefs.h +184 -0
- data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_pggate.h +6 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/list.c +1676 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/makefuncs.c +824 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/nodes.c +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/outfuncs.c +4948 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/value.c +83 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/gram.c +52142 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/gram.h +1135 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/parser.c +501 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/scan.c +9319 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/scansup.c +127 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/common/keywords.c +48 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/common/kwlist_d.h +1128 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/common/kwlookup.c +85 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/amapi.h +399 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/amvalidate.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/attmap.h +53 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/attnum.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_internal.h +115 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_page.h +96 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_pageops.h +38 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_revmap.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_tuple.h +112 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_xlog.h +151 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/bufmask.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/clog.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/commit_ts.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/detoast.h +82 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/genam.h +267 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/generic_xlog.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gin.h +78 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gin_private.h +500 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ginblock.h +346 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ginxlog.h +216 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gist.h +248 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gist_private.h +571 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gistscan.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gistxlog.h +114 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/hash.h +485 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/hash_xlog.h +267 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/heapam.h +242 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/heapam_xlog.h +420 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/heaptoast.h +151 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/hio.h +43 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/htup.h +90 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/htup_details.h +812 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/itup.h +181 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/multixact.h +164 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/nbtree.h +1293 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/nbtxlog.h +351 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/parallel.h +82 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/printsimple.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/printtup.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/relation.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/reloptions.h +275 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/relscan.h +242 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/rewriteheap.h +57 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/rmgr.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/rmgrlist.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/sdir.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/session.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/skey.h +229 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/slru.h +174 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/spgist.h +229 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/spgist_private.h +549 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/spgxlog.h +257 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/stratnum.h +85 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/subtrans.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/syncscan.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/sysattr.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/table.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tableam.h +2127 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/timeline.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/toast_compression.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/toast_helper.h +116 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/toast_internals.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/transam.h +403 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tsmapi.h +82 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupconvert.h +54 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupdesc.h +154 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupdesc_details.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupmacs.h +247 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/twophase.h +65 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/twophase_rmgr.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/valid.h +69 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/visibilitymap.h +42 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/visibilitymapdefs.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xact.h +586 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlog.h +305 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlog_internal.h +366 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogarchive.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogdefs.h +101 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xloginsert.h +66 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogprefetcher.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogreader.h +450 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogrecord.h +236 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogrecovery.h +157 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogstats.h +43 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogutils.h +118 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/yb_pg_inherits_scan.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/yb_scan.h +421 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/yb_sys_scan_base.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ybgin.h +75 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ybgin_private.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/backup_manifest.h +54 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/basebackup.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/basebackup_sink.h +301 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/basebackup_target.h +66 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/bootstrap/bootstrap.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/bootstrap/yb_bootstrap.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/c.h +1424 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/binary_upgrade.h +42 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/catalog.h +70 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/catversion.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/dependency.h +296 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/genbki.h +143 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/heap.h +165 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/index.h +268 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/indexing.h +57 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/namespace.h +190 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/objectaccess.h +265 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/objectaddress.h +93 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/partition.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_aggregate.h +180 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_aggregate_d.h +78 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_am.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_am_d.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amop.h +102 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amop_d.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amproc.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amproc_d.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attrdef.h +70 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attrdef_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attribute.h +221 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attribute_d.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_auth_members.h +48 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_auth_members_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_authid.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_authid_d.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_cast.h +102 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_cast_d.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_class.h +240 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_class_d.h +142 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_collation.h +98 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_collation_d.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_constraint.h +276 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_constraint_d.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_control.h +250 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_conversion.h +75 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_conversion_d.h +38 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_database.h +121 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_database_d.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_db_role_setting.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_db_role_setting_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_default_acl.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_default_acl_d.h +47 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_depend.h +77 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_depend_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_description.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_description_d.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_enum.h +66 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_enum_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_event_trigger.h +57 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_event_trigger_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_extension.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_extension_d.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_data_wrapper.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_data_wrapper_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_server.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_server_d.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_table.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_table_d.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_index.h +93 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_index_d.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_inherits.h +66 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_inherits_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_init_privs.h +83 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_init_privs_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_language.h +72 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_language_d.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject.h +53 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject_d.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject_metadata.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject_metadata_d.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_namespace.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_namespace_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opclass.h +88 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opclass_d.h +65 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_operator.h +107 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_operator_d.h +142 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opfamily.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opfamily_d.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_parameter_acl.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_parameter_acl_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_partitioned_table.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_partitioned_table_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_policy.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_policy_d.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_proc.h +220 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_proc_d.h +101 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication.h +168 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_d.h +38 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_namespace.h +47 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_namespace_d.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_rel.h +54 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_rel_d.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_range.h +72 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_range_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_replication_origin.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_replication_origin_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_rewrite.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_rewrite_d.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_seclabel.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_seclabel_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_sequence.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_sequence_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdepend.h +78 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdepend_d.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdescription.h +65 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdescription_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shseclabel.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shseclabel_d.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic.h +282 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_d.h +195 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext.h +88 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext_d.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext_data.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext_data_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription.h +131 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription_d.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription_rel.h +94 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription_rel_d.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_tablespace.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_tablespace_d.h +38 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_transform.h +48 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_transform_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_trigger.h +153 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_trigger_d.h +109 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config.h +53 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config_map.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config_map_d.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_dict.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_dict_d.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_parser.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_parser_d.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_template.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_template_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_type.h +411 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_type_d.h +324 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_user_mapping.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_user_mapping_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_catalog_version.h +53 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_catalog_version_d.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_invalidation_messages.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_invalidation_messages_d.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_logical_client_version.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_logical_client_version_d.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_migration.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_migration_d.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_profile.h +47 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_profile_d.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_role_profile.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_role_profile_d.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_tablegroup.h +50 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_tablegroup_d.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/schemapg.h +276 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/storage.h +50 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/storage_xlog.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/system_fk_info.h +253 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/toasting.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_catalog_version.h +65 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_logical_client_version.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_oid_assignment.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_type.h +68 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/alter.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/async.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/cluster.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/collationcmds.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/comment.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/conversioncmds.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/copy.h +120 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/copyfrom_internal.h +176 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/createas.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/dbcommands.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/dbcommands_xlog.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/defrem.h +169 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/discard.h +20 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/event_trigger.h +96 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/explain.h +159 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/extension.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/lockcmds.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/matview.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/policy.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/portalcmds.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/prepare.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/proclang.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/progress.h +173 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/publicationcmds.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/schemacmds.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/seclabel.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/sequence.h +70 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/subscriptioncmds.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/tablecmds.h +108 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/tablespace.h +82 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/trigger.h +323 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/typecmds.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/user.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/vacuum.h +340 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/variable.h +50 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/view.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/yb_cmds.h +168 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/yb_profile.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/yb_tablegroup.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/archive.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/base64.h +19 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/checksum_helper.h +72 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/compression.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/config_info.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/connect.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/controldata_utils.h +19 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/cryptohash.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/fe_memutils.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/file_perm.h +56 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/file_utils.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/hashfn.h +104 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/hmac.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/int.h +441 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/int128.h +276 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/ip.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/jsonapi.h +169 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/keywords.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/kwlookup.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/link-canary.h +17 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/logging.h +158 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/md5.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/openssl.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_lzcompress.h +93 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_prng.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_yb_common.h +160 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_yb_param_status_flags.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/relpath.h +90 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/restricted_token.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/saslprep.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/scram-common.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/sha1.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/sha2.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/shortest_dec.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/string.h +42 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_combining_table.h +308 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_east_asian_fw_table.h +125 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_norm.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_norm_hashfunc.h +2956 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_norm_table.h +9042 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_normprops_table.h +7849 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/username.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/datatype/timestamp.h +236 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execAsync.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execExpr.h +792 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execParallel.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execPartition.h +134 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execdebug.h +130 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execdesc.h +77 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/executor.h +718 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/functions.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/hashjoin.h +363 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/instrument.h +154 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeAgg.h +333 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeAppend.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapAnd.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapHeapscan.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapIndexscan.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapOr.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeCtescan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeCustom.h +42 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeForeignscan.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeFunctionscan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeGather.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeGatherMerge.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeGroup.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeHash.h +79 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeHashjoin.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeIncrementalSort.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeIndexonlyscan.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeIndexscan.h +47 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeLimit.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeLockRows.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMaterial.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMemoize.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMergeAppend.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMergejoin.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeModifyTable.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeNamedtuplestorescan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeNestloop.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeProjectSet.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeRecursiveunion.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeResult.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSamplescan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSeqscan.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSetOp.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSort.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSubplan.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSubqueryscan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeTableFuncscan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeTidrangescan.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeTidscan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeUnique.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeValuesscan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeWindowAgg.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeWorktablescan.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbBatchedNestloop.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbBitmapIndexscan.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbBitmapTablescan.h +22 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbSeqscan.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/spi.h +214 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/spi_priv.h +105 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tablefunc.h +67 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tqueue.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tstoreReceiver.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tuptable.h +515 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybExpr.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybFunction.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybModifyTable.h +281 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybOptimizeModifyTable.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/archive.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/cancel.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/conditional.h +102 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/connect_utils.h +48 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/mbprint.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/option_utils.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/parallel_slot.h +77 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/print.h +220 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/psqlscan.h +90 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/psqlscan_int.h +157 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/query_utils.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/recovery_gen.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/simple_list.h +70 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/string_utils.h +69 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fmgr.h +788 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/foreign/fdwapi.h +294 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/foreign/foreign.h +84 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/funcapi.h +409 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/getaddrinfo.h +162 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/getopt_long.h +36 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/SectionMemoryManager.h +226 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/jit.h +105 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/llvmjit.h +169 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/llvmjit_backport.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/llvmjit_emit.h +336 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/binaryheap.h +54 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/bipartite_match.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/bloomfilter.h +27 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/dshash.h +112 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/hyperloglog.h +68 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/ilist.h +746 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/integerset.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/knapsack.h +16 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/pairingheap.h +102 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/qunique.h +67 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/rbtree.h +79 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/simplehash.h +1187 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/sort_template.h +441 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/stringinfo.h +161 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/auth.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/be-fsstubs.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/be-gssapi-common.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/crypt.h +53 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/hba.h +191 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/ifaddr.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/libpq-be.h +365 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/libpq-fs.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/libpq.h +147 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqcomm.h +194 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqformat.h +210 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqmq.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqsignal.h +42 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/sasl.h +136 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/scram.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/yb_pqcomm_extensions.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/mb/pg_wchar.h +703 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/mb/stringinfo_mb.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/miscadmin.h +558 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/bitmapset.h +122 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/execnodes.h +3130 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/extensible.h +162 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/lockoptions.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/makefuncs.h +109 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/memnodes.h +113 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/nodeFuncs.h +165 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/nodes.h +897 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/params.h +170 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/parsenodes.h +3955 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/pathnodes.h +2984 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/pg_list.h +621 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/plannodes.h +1681 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/primnodes.h +1608 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/print.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/readfuncs.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/replnodes.h +111 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/subscripting.h +167 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/supportnodes.h +302 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/tidbitmap.h +84 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/value.h +80 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/ybbitmatrix.h +54 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/ybtidbitmap.h +89 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/appendinfo.h +50 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/clauses.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/cost.h +309 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo.h +90 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_copy.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_gene.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_misc.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_mutation.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_pool.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_random.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_recombination.h +89 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_selection.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/inherit.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/joininfo.h +30 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/optimizer.h +206 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/orclauses.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/paramassign.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/pathnode.h +359 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/paths.h +292 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/placeholder.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/plancat.h +82 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/planmain.h +136 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/planner.h +70 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/prep.h +57 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/restrictinfo.h +62 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/subselect.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/tlist.h +56 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/yb_merge_scan.h +52 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/ybplan.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/analyze.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/gramparse.h +75 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/kwlist.h +502 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_agg.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_clause.h +54 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_coerce.h +103 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_collate.h +27 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_cte.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_enr.h +22 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_expr.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_func.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_merge.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_node.h +339 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_oper.h +65 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_param.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_relation.h +124 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_target.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_type.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_utilcmd.h +57 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parser.h +68 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parsetree.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/scanner.h +150 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/scansup.h +27 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partbounds.h +146 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partdefs.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partdesc.h +53 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partprune.h +85 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_config_manual.h +410 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_getopt.h +56 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_trace.h +17 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_yb_utils.h +1645 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pgstat.h +900 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pgtar.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pgtime.h +94 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/aix.h +14 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-arm.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-hppa.h +17 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-ia64.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-ppc.h +254 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-x86.h +252 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/fallback.h +170 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-acc.h +106 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-gcc.h +286 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-msvc.h +101 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-sunpro.h +106 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic.h +401 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics.h +524 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/cygwin.h +23 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/darwin.h +8 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/freebsd.h +10 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/hpux.h +3 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/linux.h +22 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/netbsd.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/openbsd.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_bitutils.h +302 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_bswap.h +161 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_crc32c.h +101 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_iovec.h +54 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_pthread.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/solaris.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/arpa/inet.h +3 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/dlfcn.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/grp.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/netdb.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/netinet/in.h +3 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/pwd.h +3 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/sys/socket.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/sys/wait.h +3 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32.h +81 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/dirent.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/sys/file.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/sys/param.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/sys/time.h +1 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/unistd.h +9 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/utime.h +3 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_port.h +572 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32ntdll.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port.h +589 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/portability/instr_time.h +256 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/portability/mem.h +48 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postgres.h +819 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postgres_ext.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postgres_fe.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/autovacuum.h +83 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/auxprocess.h +20 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/bgworker.h +176 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/bgworker_internals.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/bgwriter.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/fork_process.h +17 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/interrupt.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/pgarch.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/postmaster.h +86 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/startup.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/syslogger.h +103 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/walwriter.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regcustom.h +104 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regerrs.h +87 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regex.h +269 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regexport.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regguts.h +552 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/decode.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logical.h +178 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicallauncher.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicalproto.h +256 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicalrelation.h +50 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicalworker.h +19 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/message.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/origin.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/output_plugin.h +271 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/pgoutput.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/reorderbuffer.h +706 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/slot.h +290 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/snapbuild.h +101 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/syncrep.h +118 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/walreceiver.h +472 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/walsender.h +92 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/walsender_private.h +131 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/worker_internal.h +112 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/yb_decode.h +33 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/yb_virtual_wal_client.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/yb_virtual_wal_client_typedefs.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/prs2lock.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteDefine.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteHandler.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteManip.h +87 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteRemove.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteSearchCycle.h +21 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteSupport.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rowsecurity.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rusagestub.h +34 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/header.h +67 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/api.h +32 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/header.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_basque.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_catalan.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_KOI8_R_russian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_arabic.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_armenian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_basque.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_catalan.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_danish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_dutch.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_english.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_finnish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_french.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_german.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_greek.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_hindi.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_irish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_italian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_nepali.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_porter.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_romanian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_russian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_serbian.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_spanish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_swedish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_tamil.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_turkish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_yiddish.h +15 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/statistics/extended_stats_internal.h +130 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/statistics/stat_utils.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/statistics/statistics.h +130 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/backendid.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/barrier.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/block.h +115 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/buf.h +46 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/buf_internals.h +345 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/buffile.h +57 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/bufmgr.h +297 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/bufpage.h +457 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/checksum.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/checksum_impl.h +215 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/condition_variable.h +86 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/copydir.h +19 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/dsm.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/dsm_impl.h +76 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/fd.h +198 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/fileset.h +40 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/freespace.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/fsm_internals.h +72 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/indexfsm.h +26 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/ipc.h +87 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/item.h +19 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/itemid.h +184 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/itemptr.h +208 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/large_object.h +100 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/latch.h +189 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lmgr.h +119 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lock.h +621 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lockdefs.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lwlock.h +220 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lwlocknames.h +50 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/md.h +52 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/off.h +57 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/pg_sema.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/pg_shmem.h +95 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/pmsignal.h +105 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/predicate.h +87 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/predicate_internals.h +494 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/proc.h +530 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/procarray.h +101 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/proclist.h +219 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/proclist_types.h +51 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/procsignal.h +81 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/reinit.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/relfilenode.h +99 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/s_lock.h +1110 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sharedfileset.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/shm_mq.h +86 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/shm_toc.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/shmem.h +81 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sinval.h +219 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sinvaladt.h +48 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/smgr.h +114 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/spin.h +96 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/standby.h +106 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/standbydefs.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sync.h +66 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/cmdtag.h +58 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/cmdtaglist.h +225 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/deparse_utility.h +108 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/dest.h +149 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/fastpath.h +20 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/pquery.h +60 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/tcopprot.h +108 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/utility.h +112 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/dicts/regis.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/dicts/spell.h +247 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_cache.h +98 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_locale.h +63 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_public.h +159 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_type.h +242 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_utils.h +266 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/acl.h +340 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/aclchk_internal.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/array.h +472 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/arrayaccess.h +118 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/ascii.h +68 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/attoptcache.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/backend_progress.h +44 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/backend_status.h +379 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/builtins.h +130 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/bytea.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/cash.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/catcache.h +268 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/combocid.h +28 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/date.h +90 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/datetime.h +344 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/datum.h +76 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/dsa.h +123 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/dynahash.h +20 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/elog.h +517 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/errcodes.h +363 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/evtcache.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/expandeddatum.h +159 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/expandedrecord.h +231 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/float.h +356 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/fmgroids.h +3337 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/fmgrprotos.h +2900 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/fmgrtab.h +53 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/formatting.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/freepage.h +99 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/geo_decls.h +221 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/guc.h +517 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/guc_tables.h +312 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/help_config.h +17 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/hsearch.h +153 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/index_selfuncs.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/inet.h +149 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/inval.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/json.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/jsonb.h +415 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/jsonfuncs.h +66 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/jsonpath.h +251 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/logtape.h +77 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/lsyscache.h +211 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/memdebug.h +82 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/memutils.h +306 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/multirangetypes.h +135 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/numeric.h +99 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/old_snapshot.h +75 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/palloc.h +222 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/partcache.h +105 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_crc.h +107 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_locale.h +129 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_lsn.h +29 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_rusage.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pgstat_internal.h +803 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pidfile.h +56 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/plancache.h +259 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/portal.h +252 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/ps_status.h +25 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/queryenvironment.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/queryjumble.h +88 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/rangetypes.h +151 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/regproc.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/rel.h +760 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relcache.h +180 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relfilenodemap.h +18 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relmapper.h +72 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relptr.h +93 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/reltrigger.h +81 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/resowner.h +86 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/resowner_private.h +123 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/rls.h +50 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/ruleutils.h +59 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/sampling.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/selfuncs.h +250 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/sharedtuplestore.h +61 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/snapmgr.h +189 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/snapshot.h +231 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/sortsupport.h +391 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/spccache.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/syscache.h +319 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/timeout.h +95 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/timestamp.h +120 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/tuplesort.h +291 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/tuplestore.h +91 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/typcache.h +209 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/tzparser.h +39 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/uuid.h +31 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/varbit.h +74 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/varlena.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/wait_event.h +351 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/xid8.h +22 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/xml.h +84 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_inheritscache.h +49 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_jumblefuncs.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_like_support.h +37 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_queryjumble.h +73 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_rowtypes.h +24 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_tuplecache.h +66 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/windowapi.h +64 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_ash.h +92 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_file_utils.h +38 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_overflow_utils.h +110 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_qpm.h +45 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_query_diagnostics.h +237 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_tcmalloc_utils.h +41 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_terminated_queries.h +35 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_ysql_conn_mgr_helper.h +154 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybctid.h +55 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_api-test.h +78 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_api.h +283 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_cpp_util.h +78 -0
- data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_status.h +136 -0
- data/ext/yb_ddl_parser/yb_ddl_parser_ext.c +1740 -0
- data/ext/yb_ddl_parser/yb_parser_stubs.c +459 -0
- data/lib/yb_ddl_parser/ast.rb +276 -0
- data/lib/yb_ddl_parser/version.rb +6 -0
- data/lib/yb_ddl_parser.rb +32 -0
- data/test/test_helper.rb +5 -0
- data/test/yb_ddl_parser_test.rb +353 -0
- metadata +990 -0
|
@@ -0,0 +1,1645 @@
|
|
|
1
|
+
/* ----------
|
|
2
|
+
* pg_yb_utils.h
|
|
3
|
+
*
|
|
4
|
+
* Utilities for YugaByte/PostgreSQL integration that have to be defined on the
|
|
5
|
+
* PostgreSQL side.
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) YugabyteDB, Inc.
|
|
8
|
+
*
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
10
|
+
* use this file except in compliance with the License. You may obtain a copy
|
|
11
|
+
* of the License at
|
|
12
|
+
*
|
|
13
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
*
|
|
15
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
17
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
18
|
+
* License for the specific language governing permissions and limitations
|
|
19
|
+
* under the License.
|
|
20
|
+
*
|
|
21
|
+
* src/include/pg_yb_utils.h
|
|
22
|
+
* ----------
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
#ifndef PG_YB_UTILS_H
|
|
26
|
+
#define PG_YB_UTILS_H
|
|
27
|
+
|
|
28
|
+
#include "postgres.h"
|
|
29
|
+
|
|
30
|
+
#include "access/reloptions.h"
|
|
31
|
+
#include "catalog/pg_database.h"
|
|
32
|
+
#include "common/pg_yb_common.h"
|
|
33
|
+
#include "executor/instrument.h"
|
|
34
|
+
#include "nodes/parsenodes.h"
|
|
35
|
+
#include "nodes/plannodes.h"
|
|
36
|
+
#include "nodes/primnodes.h"
|
|
37
|
+
#include "tcop/utility.h"
|
|
38
|
+
#include "utils/guc.h"
|
|
39
|
+
#include "utils/relcache.h"
|
|
40
|
+
#include "utils/resowner.h"
|
|
41
|
+
#include "utils/tuplestore.h"
|
|
42
|
+
#include "utils/typcache.h"
|
|
43
|
+
#include "utils/uuid.h"
|
|
44
|
+
#include "yb/yql/pggate/util/ybc_util.h"
|
|
45
|
+
#include "yb/yql/pggate/ybc_dist_trace.h"
|
|
46
|
+
#include "yb/yql/pggate/ybc_pg_typedefs.h"
|
|
47
|
+
#include "yb_ysql_conn_mgr_helper.h"
|
|
48
|
+
|
|
49
|
+
/*
|
|
50
|
+
* Version of the catalog entries in the relcache and catcache.
|
|
51
|
+
* We (only) rely on a following invariant: If the catalog cache version here is
|
|
52
|
+
* actually the latest (master) version, then the catalog data is indeed up to
|
|
53
|
+
* date. In any other case, we will end up doing a cache refresh anyway.
|
|
54
|
+
* (I.e. cache data is only valid if the version below matches with master's
|
|
55
|
+
* version, otherwise all bets are off and we need to refresh.)
|
|
56
|
+
*
|
|
57
|
+
* So we should handle cases like:
|
|
58
|
+
* 1. yb_catalog_cache_version being behind the actual data in the caches.
|
|
59
|
+
* 2. Data in the caches spanning multiple version (because catalog was updated
|
|
60
|
+
* during a cache refresh).
|
|
61
|
+
* As long as the invariant above is not violated we should (at most) end up
|
|
62
|
+
* doing a redundant cache refresh.
|
|
63
|
+
*
|
|
64
|
+
* TODO: Improve cache versioning and refresh logic to be more fine-grained to
|
|
65
|
+
* reduce frequency and/or duration of cache refreshes.
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
#define YB_CATCACHE_VERSION_UNINITIALIZED (0)
|
|
69
|
+
|
|
70
|
+
/*
|
|
71
|
+
* Check if (const char *)FLAG is non-empty.
|
|
72
|
+
*/
|
|
73
|
+
#define IS_NON_EMPTY_STR_FLAG(flag) (flag != NULL && flag[0] != '\0')
|
|
74
|
+
|
|
75
|
+
/*
|
|
76
|
+
* Must be kept the same as CatCacheMsgs and RelCacheMsgs in inval.c. YB has
|
|
77
|
+
* added static_assert to ensure that.
|
|
78
|
+
*/
|
|
79
|
+
#define YB_CATCACHE_MSGS (0)
|
|
80
|
+
#define YB_RELCACHE_MSGS (1)
|
|
81
|
+
|
|
82
|
+
/*
|
|
83
|
+
* Postgres code uses process-level storage (e.g. static variables) to store
|
|
84
|
+
* long-lived data in a backend process. During expression pushdown, we may be
|
|
85
|
+
* reading & writing to the same variable from multiple threads in the same
|
|
86
|
+
* process, so using process-level storage is not safe. We use thread-local
|
|
87
|
+
* storage to ensure thread safety for these variables.
|
|
88
|
+
*/
|
|
89
|
+
#define YB_THREAD_LOCAL __thread
|
|
90
|
+
|
|
91
|
+
/*
|
|
92
|
+
* Utility to get the current cache version that accounts for the fact that
|
|
93
|
+
* during a DDL we automatically apply the pending syscatalog changes to
|
|
94
|
+
* the local cache (of the current session).
|
|
95
|
+
* Therefore, if we are within a DDL we return yb_catalog_cache_version + 1.
|
|
96
|
+
* Currently, this is only used during procedure/function compilation so that
|
|
97
|
+
* compilation during CREATE FUNCTION/PROCEDURE is cached correctly.
|
|
98
|
+
* TODO Is there a simpler way to handle this?
|
|
99
|
+
*/
|
|
100
|
+
extern uint64_t YBGetActiveCatalogCacheVersion();
|
|
101
|
+
|
|
102
|
+
extern uint64_t YbGetCatalogCacheVersion();
|
|
103
|
+
extern uint64_t YbGetNewCatalogVersion();
|
|
104
|
+
extern void YbSetNeedInvalidateAllTableCache();
|
|
105
|
+
extern void YbResetNeedInvalidateAllTableCache();
|
|
106
|
+
extern bool YbGetNeedInvalidateAllTableCache();
|
|
107
|
+
extern bool YbCanTryInvalidateTableCacheEntry();
|
|
108
|
+
|
|
109
|
+
extern void YbUpdateCatalogCacheVersion(uint64_t catalog_cache_version);
|
|
110
|
+
extern void YbUpdateCatalogCacheVersionNoPgStat(uint64_t catalog_cache_version);
|
|
111
|
+
extern void YbResetNewCatalogVersion();
|
|
112
|
+
extern void YbSetNewCatalogVersion(uint64_t new_version);
|
|
113
|
+
|
|
114
|
+
extern void YbSetLogicalClientCacheVersion(uint64_t logical_client_cache_version);
|
|
115
|
+
extern void YbResetLogicalClientCacheVersion();
|
|
116
|
+
|
|
117
|
+
extern void YbSendLogicalClientCacheVersionToFrontend();
|
|
118
|
+
extern void YbSendMasterLogicalClientVersionToFrontend();
|
|
119
|
+
|
|
120
|
+
extern void YbResetCatalogCacheVersion();
|
|
121
|
+
|
|
122
|
+
extern YbcPgLastKnownCatalogVersionInfo YbGetCatalogCacheVersionForTablePrefetching();
|
|
123
|
+
|
|
124
|
+
extern void YbUpdateLastKnownCatalogCacheVersion(uint64_t catalog_cache_version);
|
|
125
|
+
|
|
126
|
+
typedef enum YbGeolocationDistance
|
|
127
|
+
{
|
|
128
|
+
ZONE_LOCAL,
|
|
129
|
+
REGION_LOCAL,
|
|
130
|
+
CLOUD_LOCAL,
|
|
131
|
+
INTER_CLOUD,
|
|
132
|
+
UNKNOWN_DISTANCE
|
|
133
|
+
} YbGeolocationDistance;
|
|
134
|
+
|
|
135
|
+
extern YbGeolocationDistance get_geolocation_distance(Oid tablespaceoid);
|
|
136
|
+
|
|
137
|
+
/*
|
|
138
|
+
* Checks whether YugaByte functionality is enabled within PostgreSQL.
|
|
139
|
+
* This relies on pgapi being non-NULL, so probably should not be used
|
|
140
|
+
* in postmaster (which does not need to talk to YB backend) or early
|
|
141
|
+
* in backend process initialization. In those cases the
|
|
142
|
+
* YBIsEnabledInPostgresEnvVar function might be more appropriate.
|
|
143
|
+
*/
|
|
144
|
+
extern bool IsYugaByteEnabled();
|
|
145
|
+
|
|
146
|
+
extern bool yb_enable_docdb_tracing;
|
|
147
|
+
extern bool yb_read_from_followers;
|
|
148
|
+
extern bool yb_follower_reads_behavior_before_fixing_20482;
|
|
149
|
+
extern int32_t yb_follower_read_staleness_ms;
|
|
150
|
+
|
|
151
|
+
/*
|
|
152
|
+
* Parsed span context from the yb_dist_tracecontext GUC.
|
|
153
|
+
* Allocated in TopMemoryContext to ensure it persists across query executions.
|
|
154
|
+
*/
|
|
155
|
+
extern YbcOtelSpanContext yb_guc_remote_span_ctx;
|
|
156
|
+
|
|
157
|
+
/*
|
|
158
|
+
* Iterate over databases and execute a given code snippet.
|
|
159
|
+
* Should terminate with YB_FOR_EACH_DB_END.
|
|
160
|
+
*/
|
|
161
|
+
#define YB_FOR_EACH_DB(pg_db_tuple) \
|
|
162
|
+
{ \
|
|
163
|
+
/* Shared operations shouldn't be used during initdb. */ \
|
|
164
|
+
Assert(!IsBootstrapProcessingMode()); \
|
|
165
|
+
Relation pg_db = table_open(DatabaseRelationId, AccessExclusiveLock); \
|
|
166
|
+
HeapTuple pg_db_tuple; \
|
|
167
|
+
SysScanDesc pg_db_scan = systable_beginscan( \
|
|
168
|
+
pg_db, \
|
|
169
|
+
InvalidOid /* indexId */ , \
|
|
170
|
+
false /* indexOK */ , \
|
|
171
|
+
NULL /* snapshot */ , \
|
|
172
|
+
0 /* nkeys */ , \
|
|
173
|
+
NULL /* key */ ); \
|
|
174
|
+
while (HeapTupleIsValid(pg_db_tuple = systable_getnext(pg_db_scan))) \
|
|
175
|
+
{ \
|
|
176
|
+
|
|
177
|
+
#define YB_FOR_EACH_DB_END \
|
|
178
|
+
} \
|
|
179
|
+
systable_endscan(pg_db_scan); \
|
|
180
|
+
table_close(pg_db, AccessExclusiveLock); \
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/*
|
|
184
|
+
* Given a relation kind, checks whether the relation is supported in YugaByte
|
|
185
|
+
* mode.
|
|
186
|
+
*/
|
|
187
|
+
extern void CheckIsYBSupportedRelationByKind(char relkind);
|
|
188
|
+
|
|
189
|
+
/*
|
|
190
|
+
* Given a relation (table) id, returns whether this table is handled by
|
|
191
|
+
* YugaByte: i.e. it is not a temporary or foreign table.
|
|
192
|
+
*/
|
|
193
|
+
extern bool IsYBRelationById(Oid relid);
|
|
194
|
+
|
|
195
|
+
extern bool IsYBRelation(Relation relation);
|
|
196
|
+
|
|
197
|
+
/*
|
|
198
|
+
* Same as IsYBRelation but it additionally includes views on YugaByte
|
|
199
|
+
* relations i.e. views on persistent (non-temporary) tables.
|
|
200
|
+
*/
|
|
201
|
+
extern bool IsYBBackedRelation(Relation relation);
|
|
202
|
+
|
|
203
|
+
/*
|
|
204
|
+
* Returns whether a relation is TEMP table
|
|
205
|
+
*/
|
|
206
|
+
extern bool YbIsTempRelation(Relation relation);
|
|
207
|
+
|
|
208
|
+
/*
|
|
209
|
+
* Returns true if the relation has temp persistence.
|
|
210
|
+
* Returns false for all other relations, or if they are not found.
|
|
211
|
+
*/
|
|
212
|
+
extern bool YbIsRangeVarTempRelation(const RangeVar *relation);
|
|
213
|
+
|
|
214
|
+
/*
|
|
215
|
+
* Returns whether a relation's attribute is a real column in the backing
|
|
216
|
+
* YugaByte table. (It implies we can both read from and write to it).
|
|
217
|
+
*/
|
|
218
|
+
extern bool IsRealYBColumn(Relation rel, int attrNum);
|
|
219
|
+
|
|
220
|
+
/*
|
|
221
|
+
* Returns whether a relation's attribute is a YB system column.
|
|
222
|
+
*/
|
|
223
|
+
extern bool IsYBSystemColumn(int attrNum);
|
|
224
|
+
|
|
225
|
+
extern AttrNumber YBGetFirstLowInvalidAttributeNumber(Relation relation);
|
|
226
|
+
|
|
227
|
+
extern AttrNumber YBGetFirstLowInvalidAttributeNumberFromOid(Oid relid);
|
|
228
|
+
|
|
229
|
+
extern int YBAttnumToBmsIndex(Relation rel, AttrNumber attnum);
|
|
230
|
+
|
|
231
|
+
extern AttrNumber YBBmsIndexToAttnum(Relation rel, int idx);
|
|
232
|
+
|
|
233
|
+
extern int YBAttnumToBmsIndexWithMinAttr(AttrNumber minattr, AttrNumber attnum);
|
|
234
|
+
|
|
235
|
+
extern AttrNumber YBBmsIndexToAttnumWithMinAttr(AttrNumber minattr, int idx);
|
|
236
|
+
|
|
237
|
+
/*
|
|
238
|
+
* Get primary key columns as bitmap set of a table for real YB columns.
|
|
239
|
+
* Subtracts YBGetFirstLowInvalidAttributeNumber from column attribute numbers.
|
|
240
|
+
*/
|
|
241
|
+
extern Bitmapset *YBGetTablePrimaryKeyBms(Relation rel);
|
|
242
|
+
|
|
243
|
+
/*
|
|
244
|
+
* Get primary key columns as bitmap set of a table for real and system YB columns.
|
|
245
|
+
* Subtracts (YBSystemFirstLowInvalidAttributeNumber + 1) from column attribute numbers.
|
|
246
|
+
*/
|
|
247
|
+
extern Bitmapset *YBGetTableFullPrimaryKeyBms(Relation rel);
|
|
248
|
+
|
|
249
|
+
/*
|
|
250
|
+
* Return whether a database with oid dbid is a colocated database.
|
|
251
|
+
* legacy_colocated_database is one output parameter. Its value indicates
|
|
252
|
+
* whether database with oid dbid is a legacy colocated database.
|
|
253
|
+
*/
|
|
254
|
+
extern bool YbIsDatabaseColocated(Oid dbid, bool *legacy_colocated_database);
|
|
255
|
+
|
|
256
|
+
/*
|
|
257
|
+
* Check if a relation has row triggers that may reference the old row.
|
|
258
|
+
* Specifically for an update/delete DML (where there actually is an old row).
|
|
259
|
+
*/
|
|
260
|
+
extern bool YBRelHasOldRowTriggers(Relation rel, CmdType operation);
|
|
261
|
+
|
|
262
|
+
/*
|
|
263
|
+
* Check if a relation has secondary indices.
|
|
264
|
+
*/
|
|
265
|
+
extern bool YBRelHasSecondaryIndices(Relation relation);
|
|
266
|
+
|
|
267
|
+
/*
|
|
268
|
+
* Whether to route BEGIN / COMMIT / ROLLBACK to YugaByte's distributed
|
|
269
|
+
* transactions.
|
|
270
|
+
*/
|
|
271
|
+
extern bool YBTransactionsEnabled();
|
|
272
|
+
|
|
273
|
+
/*
|
|
274
|
+
* Whether read committed isolation is supported for the cluster or not (via the TServer gflag
|
|
275
|
+
* yb_enable_read_committed_isolation).
|
|
276
|
+
*/
|
|
277
|
+
extern bool YBIsReadCommittedSupported();
|
|
278
|
+
|
|
279
|
+
/*
|
|
280
|
+
* Whether the current txn is of READ COMMITTED (or READ UNCOMMITTED) isolation level, and it uses
|
|
281
|
+
* the new READ COMMITTED implementation instead of mapping to REPEATABLE READ level. The latter
|
|
282
|
+
* condition is dictated by the value of gflag yb_enable_read_committed_isolation.
|
|
283
|
+
*/
|
|
284
|
+
extern bool IsYBReadCommitted();
|
|
285
|
+
|
|
286
|
+
/*
|
|
287
|
+
* Whether wait-queues are enabled for the cluster or not (via the TServer gflag
|
|
288
|
+
* enable_wait_queues).
|
|
289
|
+
*/
|
|
290
|
+
extern bool YBIsWaitQueueEnabled();
|
|
291
|
+
|
|
292
|
+
/*
|
|
293
|
+
* Whether the per database catalog version mode is enabled.
|
|
294
|
+
*/
|
|
295
|
+
extern bool YBIsDBCatalogVersionMode();
|
|
296
|
+
|
|
297
|
+
/*
|
|
298
|
+
* Whether the per database logical client version mode is enabled.
|
|
299
|
+
*/
|
|
300
|
+
extern bool YBIsDBLogicalClientVersionMode();
|
|
301
|
+
|
|
302
|
+
typedef enum YbObjectLockMode
|
|
303
|
+
{
|
|
304
|
+
PG_OBJECT_LOCK_MODE,
|
|
305
|
+
YB_OBJECT_LOCK_DISABLED,
|
|
306
|
+
YB_OBJECT_LOCK_ENABLED
|
|
307
|
+
} YbObjectLockMode;
|
|
308
|
+
/*
|
|
309
|
+
* Whether object locking is enabled for the cluster (via the TServer regular
|
|
310
|
+
* gflag enable_object_locking_for_table_locks).
|
|
311
|
+
*/
|
|
312
|
+
extern YbObjectLockMode YBGetObjectLockMode();
|
|
313
|
+
|
|
314
|
+
/*
|
|
315
|
+
* Whether we need to preload additional catalog tables.
|
|
316
|
+
*/
|
|
317
|
+
extern bool YbNeedAdditionalCatalogTables();
|
|
318
|
+
|
|
319
|
+
/*
|
|
320
|
+
* Since DDL metadata in master DocDB and postgres system tables is not modified
|
|
321
|
+
* in an atomic fashion, it is possible that we could have a table existing in
|
|
322
|
+
* postgres metadata but not in DocDB. In the case of a delete it is really
|
|
323
|
+
* problematic, since we can't delete the table nor can we create a new one with
|
|
324
|
+
* the same name. So in this case we just ignore the DocDB 'NotFound' error and
|
|
325
|
+
* delete our metadata.
|
|
326
|
+
*/
|
|
327
|
+
extern void HandleYBStatusIgnoreNotFound(YbcStatus status, bool *not_found);
|
|
328
|
+
|
|
329
|
+
/*
|
|
330
|
+
* Handle YBStatus while logging a custom error for DocDB 'NotFound' error.
|
|
331
|
+
*/
|
|
332
|
+
extern void HandleYBStatusWithCustomErrorForNotFound(YbcStatus status,
|
|
333
|
+
const char *message_for_not_found);
|
|
334
|
+
|
|
335
|
+
/*
|
|
336
|
+
* Same as HandleYBStatus but delete the table description first if the
|
|
337
|
+
* status is not ok.
|
|
338
|
+
*/
|
|
339
|
+
extern void HandleYBTableDescStatus(YbcStatus status, YbcPgTableDesc table);
|
|
340
|
+
|
|
341
|
+
/*
|
|
342
|
+
* YB initialization that needs to happen when a PostgreSQL backend process
|
|
343
|
+
* is started. Reports errors using ereport.
|
|
344
|
+
*/
|
|
345
|
+
|
|
346
|
+
extern void YBInitPostgresBackend(const char *program_name, const YbcPgInitPostgresInfo *init_info);
|
|
347
|
+
|
|
348
|
+
/*
|
|
349
|
+
* This should be called on all exit paths from the PostgreSQL backend process.
|
|
350
|
+
* Only main PostgreSQL backend thread is expected to call this.
|
|
351
|
+
*/
|
|
352
|
+
extern void YBOnPostgresBackendShutdown();
|
|
353
|
+
|
|
354
|
+
/*
|
|
355
|
+
* Signals PgTxnManager to recreate the transaction. This is used when we need
|
|
356
|
+
* to restart a transaction that failed due to a transaction conflict error.
|
|
357
|
+
*/
|
|
358
|
+
extern void YBCRecreateTransaction();
|
|
359
|
+
|
|
360
|
+
/*
|
|
361
|
+
* Signals PgTxnManager to restart current transaction - pick a new read point, etc.
|
|
362
|
+
* This relies on transaction/session read time already being marked for restart by YB layer.
|
|
363
|
+
*/
|
|
364
|
+
extern void YBCRestartTransaction();
|
|
365
|
+
|
|
366
|
+
/*
|
|
367
|
+
* Commits the current YugaByte-level transaction (if any).
|
|
368
|
+
*/
|
|
369
|
+
extern void YBCCommitTransaction();
|
|
370
|
+
|
|
371
|
+
/*
|
|
372
|
+
* Aborts the current YugaByte-level transaction.
|
|
373
|
+
*/
|
|
374
|
+
extern void YBCAbortTransaction();
|
|
375
|
+
|
|
376
|
+
extern void YBCSetActiveSubTransaction(SubTransactionId id);
|
|
377
|
+
|
|
378
|
+
extern void YBCRollbackToSubTransaction(SubTransactionId id);
|
|
379
|
+
|
|
380
|
+
/*
|
|
381
|
+
* Get the type ID of a real or virtual attribute (column).
|
|
382
|
+
* Returns InvalidOid if the attribute number is invalid.
|
|
383
|
+
*/
|
|
384
|
+
extern Oid GetTypeId(int attrNum, TupleDesc tupleDesc);
|
|
385
|
+
|
|
386
|
+
/*
|
|
387
|
+
* Return a string representation of the given type id, or say it is unknown.
|
|
388
|
+
* What is returned is always a static C string constant.
|
|
389
|
+
*/
|
|
390
|
+
extern const char *YBPgTypeOidToStr(Oid type_id);
|
|
391
|
+
|
|
392
|
+
/*
|
|
393
|
+
* Return a string representation of the given YbcPgDataType, or say it is unknown.
|
|
394
|
+
* What is returned is always a static C string constant.
|
|
395
|
+
*/
|
|
396
|
+
extern const char *YBCPgDataTypeToStr(YbcPgDataType yb_type);
|
|
397
|
+
|
|
398
|
+
/*
|
|
399
|
+
* Report an error saying the given type as not supported by YugaByte.
|
|
400
|
+
*/
|
|
401
|
+
extern void YBReportTypeNotSupported(Oid type_id);
|
|
402
|
+
|
|
403
|
+
/*
|
|
404
|
+
* Log whether or not YugaByte is enabled.
|
|
405
|
+
*/
|
|
406
|
+
extern void YBReportIfYugaByteEnabled();
|
|
407
|
+
|
|
408
|
+
/*
|
|
409
|
+
* Determines if PostgreSQL should restart all child processes if one of them
|
|
410
|
+
* crashes. This behavior usually shows up in the log like so:
|
|
411
|
+
*
|
|
412
|
+
* WARNING: terminating connection because of crash of another server process
|
|
413
|
+
* DETAIL: The postmaster has commanded this server process to roll back the
|
|
414
|
+
* current transaction and exit, because another server process exited
|
|
415
|
+
* abnormally and possibly corrupted shared memory.
|
|
416
|
+
*
|
|
417
|
+
* However, we want to avoid this behavior in some cases, e.g. when our test
|
|
418
|
+
* framework is trying to intentionally cause core dumps of stuck backend
|
|
419
|
+
* processes and analyze them. Disabling this behavior is controlled by setting
|
|
420
|
+
* the YB_PG_NO_RESTART_ALL_CHILDREN_ON_CRASH_FLAG_PATH variable to a file path,
|
|
421
|
+
* which could be created or deleted at run time, and its existence is always
|
|
422
|
+
* checked.
|
|
423
|
+
*/
|
|
424
|
+
bool YBShouldRestartAllChildrenIfOneCrashes();
|
|
425
|
+
|
|
426
|
+
/*
|
|
427
|
+
* These functions help indicating if we are connected to template0 or template1.
|
|
428
|
+
*/
|
|
429
|
+
void YbSetConnectedToTemplateDb();
|
|
430
|
+
bool YbIsConnectedToTemplateDb();
|
|
431
|
+
|
|
432
|
+
/*
|
|
433
|
+
* Get the database name for a relation id (accounts for system databases and
|
|
434
|
+
* shared relations)
|
|
435
|
+
*/
|
|
436
|
+
const char *YBCGetDatabaseName(Oid relid);
|
|
437
|
+
|
|
438
|
+
/*
|
|
439
|
+
* Get the schema name for a schema oid (accounts for system namespaces)
|
|
440
|
+
*/
|
|
441
|
+
const char *YBCGetSchemaName(Oid schemaoid);
|
|
442
|
+
|
|
443
|
+
/*
|
|
444
|
+
* Get the real database id of a relation. For shared relations
|
|
445
|
+
* (which are meant to be accessible from all databases), it will be template1.
|
|
446
|
+
* Note that relations in yb_system database are also meant to be accessible by
|
|
447
|
+
* all databases. Naturally, for these relations, it will be yb_system.
|
|
448
|
+
*/
|
|
449
|
+
Oid YBCGetDatabaseOid(Relation rel);
|
|
450
|
+
Oid YBCGetDatabaseOidByRelid(Oid relid);
|
|
451
|
+
extern Oid YBCGetDatabaseOidFromShared(bool relisshared, bool belongs_to_yb_system_db);
|
|
452
|
+
|
|
453
|
+
/*
|
|
454
|
+
* Raise an unsupported feature error with the given message and
|
|
455
|
+
* linking to the referenced issue (if any).
|
|
456
|
+
*/
|
|
457
|
+
void YBRaiseNotSupportedSignal(const char *msg, int issue_no, int signal_level);
|
|
458
|
+
|
|
459
|
+
/*
|
|
460
|
+
* Return the value of (base ^ exponent) bounded by the upper limit.
|
|
461
|
+
*/
|
|
462
|
+
extern double PowerWithUpperLimit(double base, int exponent, double upper_limit);
|
|
463
|
+
|
|
464
|
+
/*
|
|
465
|
+
* Return whether to use wholerow junk attribute for YB relations.
|
|
466
|
+
*/
|
|
467
|
+
extern bool YbWholeRowAttrRequired(Relation relation, CmdType operation);
|
|
468
|
+
|
|
469
|
+
extern Oid YbSystemDbOid();
|
|
470
|
+
|
|
471
|
+
/* ------------------------------------------------------------------------------ */
|
|
472
|
+
/* YB GUC variables. */
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* YSQL guc variables that can be used to toggle yugabyte features.
|
|
476
|
+
* See also the corresponding entries in guc.c.
|
|
477
|
+
*/
|
|
478
|
+
|
|
479
|
+
/* Enables tables/indexes to be created WITH (table_oid = x). */
|
|
480
|
+
extern bool yb_enable_create_with_table_oid;
|
|
481
|
+
|
|
482
|
+
/*
|
|
483
|
+
* During CREATE INDEX, the delay between stages, from
|
|
484
|
+
* - indislive=true to indisready=true
|
|
485
|
+
* - indisready=true to launching backfill
|
|
486
|
+
*/
|
|
487
|
+
extern int yb_index_state_flags_update_delay;
|
|
488
|
+
|
|
489
|
+
/*
|
|
490
|
+
* Enables expression pushdown.
|
|
491
|
+
* If true, planner sends supported expressions to DocDB for evaluation
|
|
492
|
+
*/
|
|
493
|
+
extern bool yb_enable_expression_pushdown;
|
|
494
|
+
|
|
495
|
+
/*
|
|
496
|
+
* Enables distinct pushdown.
|
|
497
|
+
* If true, send supported DISTINCT operations to DocDB
|
|
498
|
+
*/
|
|
499
|
+
extern bool yb_enable_distinct_pushdown;
|
|
500
|
+
|
|
501
|
+
/*
|
|
502
|
+
* Enables index aggregate pushdown (IndexScan only, not IndexOnlyScan).
|
|
503
|
+
* If true, request aggregated results from DocDB when possible.
|
|
504
|
+
*/
|
|
505
|
+
extern bool yb_enable_index_aggregate_pushdown;
|
|
506
|
+
|
|
507
|
+
/*
|
|
508
|
+
* If true, secondary indexes are extended with decodable PK columns, enabling
|
|
509
|
+
* Index Only Scans that decode PK values from ybidxbasectid without reading
|
|
510
|
+
* the base table.
|
|
511
|
+
*/
|
|
512
|
+
extern bool yb_enable_primary_key_decode_from_index;
|
|
513
|
+
|
|
514
|
+
/*
|
|
515
|
+
* YSQL guc variable that is used to enable the use of Postgres's selectivity
|
|
516
|
+
* functions and YSQL table statistics.
|
|
517
|
+
* e.g. 'SET yb_enable_optimizer_statistics = true'
|
|
518
|
+
* See also the corresponding entries in guc.c.
|
|
519
|
+
*/
|
|
520
|
+
extern bool yb_enable_optimizer_statistics;
|
|
521
|
+
|
|
522
|
+
/*
|
|
523
|
+
* Enables nonbreaking DDL mode in which a DDL statement is not considered as
|
|
524
|
+
* a "breaking catalog change" and therefore will not cause running transactions
|
|
525
|
+
* to abort.
|
|
526
|
+
*/
|
|
527
|
+
extern bool yb_make_next_ddl_statement_nonbreaking;
|
|
528
|
+
|
|
529
|
+
/*
|
|
530
|
+
* Enables nonincrementing DDL mode in which a DDL statement is considered as a
|
|
531
|
+
* "same version DDL" and therefore will not cause catalog version to increment.
|
|
532
|
+
*/
|
|
533
|
+
extern bool yb_make_next_ddl_statement_nonincrementing;
|
|
534
|
+
|
|
535
|
+
/*
|
|
536
|
+
* Allows capability to disable prefetching in a PLPGSQL FOR loop over a query.
|
|
537
|
+
* This is introduced for some test(s) with lazy evaluation in READ COMMITTED
|
|
538
|
+
* isolation that require the read rpcs to be issued over multiple invocations
|
|
539
|
+
* of the lazily evaluable function. If prefetching is enabled, the first
|
|
540
|
+
* invocation could possibly issue read rpcs to all tablets until the
|
|
541
|
+
* specified number of rows is prefetched -- in which case no read rpcs would be
|
|
542
|
+
* issued in later invocations.
|
|
543
|
+
*/
|
|
544
|
+
extern bool yb_plpgsql_disable_prefetch_in_for_query;
|
|
545
|
+
|
|
546
|
+
/*
|
|
547
|
+
* Allow nextval() to fetch the value range and advance the sequence value in a
|
|
548
|
+
* single operation.
|
|
549
|
+
* If disabled, nextval() reads sequence value first, advances it and apply the
|
|
550
|
+
* new value, which may fail due to concurrent modification and has to be
|
|
551
|
+
* retried.
|
|
552
|
+
*/
|
|
553
|
+
extern bool yb_enable_sequence_pushdown;
|
|
554
|
+
|
|
555
|
+
/*
|
|
556
|
+
* Disable waiting for backends to have up-to-date catalog version.
|
|
557
|
+
*/
|
|
558
|
+
extern bool yb_disable_wait_for_backends_catalog_version;
|
|
559
|
+
|
|
560
|
+
/*
|
|
561
|
+
* Enables YB cost model for Sequential and Index scans
|
|
562
|
+
*/
|
|
563
|
+
extern bool yb_enable_base_scans_cost_model;
|
|
564
|
+
|
|
565
|
+
/*
|
|
566
|
+
* Enables update of reltuples in pg_class for the base table and index after
|
|
567
|
+
* creating the index.
|
|
568
|
+
*/
|
|
569
|
+
extern bool yb_enable_update_reltuples_after_create_index;
|
|
570
|
+
|
|
571
|
+
/*
|
|
572
|
+
* Enables index backfill column projection optimization.
|
|
573
|
+
* If true, index build/backfill only reads columns needed for the index,
|
|
574
|
+
* rather than all columns from the base table.
|
|
575
|
+
*/
|
|
576
|
+
extern bool yb_enable_index_backfill_column_projection;
|
|
577
|
+
|
|
578
|
+
/*
|
|
579
|
+
* Total timeout for waiting for backends to have up-to-date catalog version.
|
|
580
|
+
*/
|
|
581
|
+
extern int yb_wait_for_backends_catalog_version_timeout;
|
|
582
|
+
|
|
583
|
+
/*
|
|
584
|
+
* If true, we will always prefer batched nested loop join plans over nested
|
|
585
|
+
* loop join plans.
|
|
586
|
+
*/
|
|
587
|
+
extern bool yb_prefer_bnl;
|
|
588
|
+
|
|
589
|
+
/*
|
|
590
|
+
* If true, all fields that vary from run to run are hidden from the
|
|
591
|
+
* output of EXPLAIN.
|
|
592
|
+
*/
|
|
593
|
+
extern bool yb_explain_hide_non_deterministic_fields;
|
|
594
|
+
|
|
595
|
+
/*
|
|
596
|
+
* Enables scalar array operation pushdown.
|
|
597
|
+
* If true, planner sends supported expressions to DocDB for evaluation
|
|
598
|
+
*/
|
|
599
|
+
extern bool yb_enable_saop_pushdown;
|
|
600
|
+
|
|
601
|
+
/*
|
|
602
|
+
* Enables the use of TOAST compression for the Postgres catcache.
|
|
603
|
+
*/
|
|
604
|
+
extern int yb_toast_catcache_threshold;
|
|
605
|
+
|
|
606
|
+
/*
|
|
607
|
+
* Configure size of the parallel range in requests for parallel keys.
|
|
608
|
+
*/
|
|
609
|
+
extern int yb_parallel_range_size;
|
|
610
|
+
|
|
611
|
+
/*
|
|
612
|
+
* INSERT ON CONFLICT batching read batch size.
|
|
613
|
+
*/
|
|
614
|
+
extern int yb_insert_on_conflict_read_batch_size;
|
|
615
|
+
|
|
616
|
+
/*
|
|
617
|
+
* Enable preloading of foreign key information into the relation cache.
|
|
618
|
+
*/
|
|
619
|
+
extern bool yb_enable_fkey_catcache;
|
|
620
|
+
|
|
621
|
+
/*
|
|
622
|
+
* Enable the nop alter role statement optimization.
|
|
623
|
+
*/
|
|
624
|
+
extern bool yb_enable_nop_alter_role_optimization;
|
|
625
|
+
|
|
626
|
+
/*
|
|
627
|
+
* Compatibility option to ignore FREEZE with COPY FROM.
|
|
628
|
+
*/
|
|
629
|
+
extern bool yb_ignore_freeze_with_copy;
|
|
630
|
+
|
|
631
|
+
/* ------------------------------------------------------------------------------ */
|
|
632
|
+
/* GUC variables needed by YB via their YB pointers. */
|
|
633
|
+
extern int StatementTimeout;
|
|
634
|
+
|
|
635
|
+
/* ------------------------------------------------------------------------------ */
|
|
636
|
+
/* YB Debug utils. */
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* YSQL guc variables that can be used to toggle yugabyte debug features.
|
|
640
|
+
* e.g. 'SET yb_debug_log_docdb_error_backtrace=true' and
|
|
641
|
+
* 'RESET yb_debug_log_docdb_error_backtrace'.
|
|
642
|
+
* See also the corresponding entries in guc.c.
|
|
643
|
+
*/
|
|
644
|
+
|
|
645
|
+
/* Add stacktrace information to errors received from DocDB/PgGate. */
|
|
646
|
+
extern bool yb_debug_log_docdb_error_backtrace;
|
|
647
|
+
|
|
648
|
+
/* Use Postgres or Yugabyte stacktrace formatting. */
|
|
649
|
+
extern bool yb_debug_original_backtrace_format;
|
|
650
|
+
|
|
651
|
+
/*
|
|
652
|
+
* Log automatic statement (or transaction) restarts such as read-restarts and
|
|
653
|
+
* schema-version restarts (e.g. catalog version mismatch errors).
|
|
654
|
+
*/
|
|
655
|
+
extern bool yb_debug_log_internal_restarts;
|
|
656
|
+
|
|
657
|
+
/*
|
|
658
|
+
* Tracks whether a non-atomic (in-procedure) COMMIT has been executed during
|
|
659
|
+
* the current top-level query. This is used to prevent unsafe retries of
|
|
660
|
+
* CALL/DO statements: once a COMMIT has been performed inside a stored
|
|
661
|
+
* procedure or DO block, retrying the entire statement from scratch would
|
|
662
|
+
* re-execute already-committed work, potentially causing duplicates or other
|
|
663
|
+
* incorrect behavior.
|
|
664
|
+
*
|
|
665
|
+
* Set to true in _SPI_commit() and reset at the start of each top-level query
|
|
666
|
+
* in yb_exec_query_wrapper().
|
|
667
|
+
*/
|
|
668
|
+
extern bool yb_is_non_atomic_commit_done;
|
|
669
|
+
|
|
670
|
+
/*
|
|
671
|
+
* When true, allows the query layer to retry CALL/DO statements even after a
|
|
672
|
+
* non-atomic (in-procedure) COMMIT has been executed. This can lead to
|
|
673
|
+
* re-execution of already-committed work, but is provided as a safety valve
|
|
674
|
+
* for customers who depend on the old retry behavior.
|
|
675
|
+
*
|
|
676
|
+
* Default: false (safe behavior -- retries are blocked after in-procedure
|
|
677
|
+
* COMMIT).
|
|
678
|
+
*/
|
|
679
|
+
extern bool yb_enable_retry_after_non_atomic_commit;
|
|
680
|
+
|
|
681
|
+
/*
|
|
682
|
+
* Relaxes some internal sanity checks for system catalogs to allow creating them.
|
|
683
|
+
*/
|
|
684
|
+
extern bool yb_test_system_catalogs_creation;
|
|
685
|
+
|
|
686
|
+
/*
|
|
687
|
+
* If set to non-zero, next DDL operation will fail with the specified error level:
|
|
688
|
+
* 0 = disabled (default), 1 = ERROR, 2 = FATAL, 3 = PANIC, 4 = crash.
|
|
689
|
+
* Resets to 0 after triggering.
|
|
690
|
+
*/
|
|
691
|
+
extern int yb_test_fail_next_ddl;
|
|
692
|
+
/*
|
|
693
|
+
* If set to true,the next DDL will update the catalog in force mode which
|
|
694
|
+
* allows it to operate even during ysql major catalog upgrades.
|
|
695
|
+
*/
|
|
696
|
+
extern bool yb_force_catalog_update_on_next_ddl;
|
|
697
|
+
|
|
698
|
+
/* If set to true, all drop commands will fail. */
|
|
699
|
+
extern bool yb_test_fail_all_drops;
|
|
700
|
+
|
|
701
|
+
/*
|
|
702
|
+
* If set to true, next increment catalog version operation will fail and
|
|
703
|
+
* reset this back to false.
|
|
704
|
+
*/
|
|
705
|
+
extern bool yb_test_fail_next_inc_catalog_version;
|
|
706
|
+
|
|
707
|
+
/*
|
|
708
|
+
* This number times disable_cost is added to the cost for some unsupported
|
|
709
|
+
* ybgin index scans.
|
|
710
|
+
*/
|
|
711
|
+
extern double yb_test_ybgin_disable_cost_factor;
|
|
712
|
+
|
|
713
|
+
/*
|
|
714
|
+
* Block the given index creation phase.
|
|
715
|
+
* - "indisready": index state change to indisready
|
|
716
|
+
* (not supported for non-concurrent)
|
|
717
|
+
* - "backfill": index backfill phase
|
|
718
|
+
* - "postbackfill": post-backfill operations like validation and event triggers
|
|
719
|
+
*/
|
|
720
|
+
extern char *yb_test_block_index_phase;
|
|
721
|
+
|
|
722
|
+
/*
|
|
723
|
+
* Same as above, but fails the operation at the given stage instead of
|
|
724
|
+
* blocking.
|
|
725
|
+
*/
|
|
726
|
+
extern char *yb_test_fail_index_state_change;
|
|
727
|
+
|
|
728
|
+
/*
|
|
729
|
+
* GUC variable that specifies default replica identity for tables at the time of creation.
|
|
730
|
+
*/
|
|
731
|
+
extern char *yb_default_replica_identity;
|
|
732
|
+
|
|
733
|
+
/*
|
|
734
|
+
* GUC variable to pass a W3C traceparent for distributed tracing.
|
|
735
|
+
*/
|
|
736
|
+
extern char *yb_dist_tracecontext;
|
|
737
|
+
|
|
738
|
+
/*
|
|
739
|
+
* If set to true, any DDLs that rewrite tables/indexes will fail after
|
|
740
|
+
* the new table is created.
|
|
741
|
+
*/
|
|
742
|
+
extern bool yb_test_fail_table_rewrite_after_creation;
|
|
743
|
+
|
|
744
|
+
/*
|
|
745
|
+
* If set to true, force a full catalog cache refresh before
|
|
746
|
+
* executing the next top level statement.
|
|
747
|
+
*/
|
|
748
|
+
extern bool yb_test_preload_catalog_tables;
|
|
749
|
+
|
|
750
|
+
/* GUC variable yb_test_stay_in_global_catalog_version_mode. */
|
|
751
|
+
extern bool yb_test_stay_in_global_catalog_version_mode;
|
|
752
|
+
|
|
753
|
+
/*
|
|
754
|
+
* If set to true, any DDLs that rewrite tables/indexes will not drop the
|
|
755
|
+
* old relfilenode/DocDB table.
|
|
756
|
+
*/
|
|
757
|
+
extern bool yb_test_table_rewrite_keep_old_table;
|
|
758
|
+
|
|
759
|
+
/*
|
|
760
|
+
* If set to true, inject code to make psql output stable across linux and mac.
|
|
761
|
+
*/
|
|
762
|
+
extern bool yb_test_collation;
|
|
763
|
+
|
|
764
|
+
/*
|
|
765
|
+
* If set to true, fill padding bytes with zeros when creating a shared
|
|
766
|
+
* invalidation message.
|
|
767
|
+
*/
|
|
768
|
+
extern bool yb_test_inval_message_portability;
|
|
769
|
+
|
|
770
|
+
/*
|
|
771
|
+
* If > 0, add a delay after apply invalidation messages.
|
|
772
|
+
*/
|
|
773
|
+
extern int yb_test_delay_after_applying_inval_message_ms;
|
|
774
|
+
|
|
775
|
+
/*
|
|
776
|
+
* If > 0, add a delay before calling YBCPgSetTserverCatalogMessageList.
|
|
777
|
+
*/
|
|
778
|
+
extern int yb_test_delay_set_local_tserver_inval_message_ms;
|
|
779
|
+
|
|
780
|
+
/*
|
|
781
|
+
* If > 0, sleep for this many ms before committing the DDL
|
|
782
|
+
*/
|
|
783
|
+
extern double yb_test_delay_next_ddl;
|
|
784
|
+
|
|
785
|
+
/*
|
|
786
|
+
* If > 0, then puts a hard limit on the number of retries.
|
|
787
|
+
*/
|
|
788
|
+
extern int yb_test_reset_retry_counts;
|
|
789
|
+
|
|
790
|
+
/*
|
|
791
|
+
* Denotes whether DDL operations touching DocDB system catalog will be rolled
|
|
792
|
+
* back upon failure. These two GUC variables are used together. See comments
|
|
793
|
+
* for the gflag --ysql_enable_ddl_atomicity_infra in common_flags.cc.
|
|
794
|
+
*/
|
|
795
|
+
extern bool yb_enable_ddl_atomicity_infra;
|
|
796
|
+
|
|
797
|
+
/*
|
|
798
|
+
* Allow to return to the client SQL status codes defined by YugabyteDB (YBxxx).
|
|
799
|
+
* Those codes are used internally to determine if transparent retry is
|
|
800
|
+
* possible. If disabled, they are replaced with similar Postgres defined codes.
|
|
801
|
+
*/
|
|
802
|
+
extern bool yb_enable_extended_sql_codes;
|
|
803
|
+
|
|
804
|
+
extern bool yb_ddl_rollback_enabled;
|
|
805
|
+
static inline bool
|
|
806
|
+
YbDdlRollbackEnabled()
|
|
807
|
+
{
|
|
808
|
+
return yb_enable_ddl_atomicity_infra && yb_ddl_rollback_enabled;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
extern bool yb_use_hash_splitting_by_default;
|
|
812
|
+
|
|
813
|
+
/*
|
|
814
|
+
* If set to true, non-key columns of secondary indexes are updated in-place
|
|
815
|
+
* when no key columns are modified.
|
|
816
|
+
*/
|
|
817
|
+
extern bool yb_enable_inplace_index_update;
|
|
818
|
+
|
|
819
|
+
/*
|
|
820
|
+
* Enable the advisory lock feature. (DEPRECATED)
|
|
821
|
+
*/
|
|
822
|
+
extern bool yb_enable_advisory_locks;
|
|
823
|
+
|
|
824
|
+
/*
|
|
825
|
+
* Enable invalidation messages.
|
|
826
|
+
*/
|
|
827
|
+
extern bool yb_enable_invalidation_messages;
|
|
828
|
+
extern bool yb_enable_invalidate_table_cache_entry;
|
|
829
|
+
extern int yb_invalidation_message_expiration_secs;
|
|
830
|
+
extern int yb_max_num_invalidation_messages;
|
|
831
|
+
|
|
832
|
+
/*
|
|
833
|
+
* Enable parallel query for different relation sharding types
|
|
834
|
+
*/
|
|
835
|
+
extern bool yb_enable_parallel_scan_colocated;
|
|
836
|
+
extern bool yb_enable_parallel_scan_hash_sharded;
|
|
837
|
+
extern bool yb_enable_parallel_scan_range_sharded;
|
|
838
|
+
extern bool yb_enable_parallel_scan_system;
|
|
839
|
+
|
|
840
|
+
/*
|
|
841
|
+
* If set to true, all DDL statements will cause the catalog version to increment.
|
|
842
|
+
*/
|
|
843
|
+
extern bool yb_test_make_all_ddl_statements_incrementing;
|
|
844
|
+
|
|
845
|
+
/*
|
|
846
|
+
* If set to true, all DDL statements will cause the catalog version to increment.
|
|
847
|
+
* Unlike yb_test_make_all_ddl_statements_incrementing, this controls ONLY the
|
|
848
|
+
* version incrementing behavior.
|
|
849
|
+
*/
|
|
850
|
+
extern bool yb_always_increment_catalog_version_on_ddl;
|
|
851
|
+
|
|
852
|
+
/*
|
|
853
|
+
* If set to true, negative catcache entries are enabled. A negative cache entry
|
|
854
|
+
* is created when a lookup returns no result. Unlike
|
|
855
|
+
* yb_test_make_all_ddl_statements_incrementing, this controls ONLY the negative
|
|
856
|
+
* caching behavior.
|
|
857
|
+
*/
|
|
858
|
+
extern bool yb_enable_negative_catcache_entries;
|
|
859
|
+
|
|
860
|
+
typedef struct YBUpdateOptimizationOptions
|
|
861
|
+
{
|
|
862
|
+
bool has_infra;
|
|
863
|
+
bool is_enabled;
|
|
864
|
+
int num_cols_to_compare;
|
|
865
|
+
int max_cols_size_to_compare;
|
|
866
|
+
} YBUpdateOptimizationOptions;
|
|
867
|
+
|
|
868
|
+
/* GUC variables to control the behavior of optimizing update queries. */
|
|
869
|
+
extern YBUpdateOptimizationOptions yb_update_optimization_options;
|
|
870
|
+
|
|
871
|
+
/* GUC variables to control the speculative executive of PL statements. */
|
|
872
|
+
extern bool yb_speculatively_execute_pl_statements;
|
|
873
|
+
extern bool yb_whitelist_extra_stmts_for_pl_speculative_execution;
|
|
874
|
+
|
|
875
|
+
extern bool yb_enable_docdb_vector_type;
|
|
876
|
+
|
|
877
|
+
/*
|
|
878
|
+
* GUC to allow user to silence the error saying that advisory locks are not
|
|
879
|
+
* supported.
|
|
880
|
+
*/
|
|
881
|
+
extern bool yb_silence_advisory_locks_not_supported_error;
|
|
882
|
+
|
|
883
|
+
/*
|
|
884
|
+
* GUC to indicate DDL executed in a Automatic xCluster mode target universe.
|
|
885
|
+
*/
|
|
886
|
+
extern bool yb_xcluster_automatic_mode_target_ddl;
|
|
887
|
+
|
|
888
|
+
extern bool yb_user_ddls_preempt_auto_analyze;
|
|
889
|
+
|
|
890
|
+
/*
|
|
891
|
+
* If true, enable RPC execution time stats for pg_stat_statements.
|
|
892
|
+
*/
|
|
893
|
+
extern bool yb_enable_pg_stat_statements_rpc_stats;
|
|
894
|
+
|
|
895
|
+
extern bool yb_enable_global_views;
|
|
896
|
+
|
|
897
|
+
/*
|
|
898
|
+
* If true, enable DocDB metrics collection for pg_stat_statements.
|
|
899
|
+
*/
|
|
900
|
+
extern bool yb_enable_pg_stat_statements_docdb_metrics;
|
|
901
|
+
|
|
902
|
+
/*
|
|
903
|
+
* See also ybc_util.h which contains additional such variable declarations for
|
|
904
|
+
* variables that are (also) used in the pggate layer.
|
|
905
|
+
* Currently: yb_debug_log_docdb_requests.
|
|
906
|
+
*/
|
|
907
|
+
|
|
908
|
+
/*
|
|
909
|
+
* Get a string representation of a datum (given its type).
|
|
910
|
+
*/
|
|
911
|
+
extern const char *YBDatumToString(Datum datum, Oid typid);
|
|
912
|
+
|
|
913
|
+
/*
|
|
914
|
+
* Get a string representation of a tuple (row) given its tuple description
|
|
915
|
+
* (schema) and is_omitted values.
|
|
916
|
+
*
|
|
917
|
+
* This function also logs the is_omitted values which indicates attributes
|
|
918
|
+
* which were omitted due to the value of the replica identity.
|
|
919
|
+
*/
|
|
920
|
+
extern const char *YbHeapTupleToStringWithIsOmitted(HeapTuple tuple,
|
|
921
|
+
TupleDesc tupleDesc,
|
|
922
|
+
bool *is_omitted);
|
|
923
|
+
|
|
924
|
+
/* Same as above except it takes slot instead of tuple. */
|
|
925
|
+
extern const char *YbSlotToString(TupleTableSlot *slot);
|
|
926
|
+
|
|
927
|
+
extern const char *YbSlotToStringWithIsOmitted(TupleTableSlot *slot,
|
|
928
|
+
bool *is_omitted);
|
|
929
|
+
|
|
930
|
+
/*
|
|
931
|
+
* Checks if the master thinks initdb has already been done.
|
|
932
|
+
*/
|
|
933
|
+
bool YBIsInitDbAlreadyDone();
|
|
934
|
+
|
|
935
|
+
extern bool YBIsDdlTransactionBlockEnabled();
|
|
936
|
+
extern int YBGetDdlNestingLevel();
|
|
937
|
+
extern NodeTag YBGetCurrentStmtDdlNodeTag();
|
|
938
|
+
extern bool YBIsCurrentStmtDdl();
|
|
939
|
+
extern CommandTag YBGetCurrentStmtDdlCommandTag();
|
|
940
|
+
extern bool YBGetDdlUseRegularTransactionBlock();
|
|
941
|
+
extern void YBSetDdlOriginalNodeAndCommandTag(NodeTag nodeTag,
|
|
942
|
+
CommandTag commandTag);
|
|
943
|
+
extern void YbSetIsGlobalDDL();
|
|
944
|
+
extern void YbIncrementPgTxnsCommitted();
|
|
945
|
+
extern bool YbTrackPgTxnInvalMessagesForAnalyze();
|
|
946
|
+
extern void YbCheckNewLocalCatalogVersionOptimization();
|
|
947
|
+
extern void YbTrackAlteredTableId(Oid relid);
|
|
948
|
+
extern void YbInvalidateTableCacheForAlteredTables();
|
|
949
|
+
|
|
950
|
+
|
|
951
|
+
typedef enum YbSysCatalogModificationAspect
|
|
952
|
+
{
|
|
953
|
+
YB_SYS_CAT_MOD_ASPECT_ALTERING_EXISTING_DATA = 1,
|
|
954
|
+
YB_SYS_CAT_MOD_ASPECT_VERSION_INCREMENT = 2,
|
|
955
|
+
YB_SYS_CAT_MOD_ASPECT_BREAKING_CHANGE = 4,
|
|
956
|
+
} YbSysCatalogModificationAspect;
|
|
957
|
+
|
|
958
|
+
typedef enum YbDdlMode
|
|
959
|
+
{
|
|
960
|
+
YB_DDL_MODE_NO_ALTERING = 0,
|
|
961
|
+
|
|
962
|
+
YB_DDL_MODE_SILENT_ALTERING = YB_SYS_CAT_MOD_ASPECT_ALTERING_EXISTING_DATA,
|
|
963
|
+
|
|
964
|
+
YB_DDL_MODE_VERSION_INCREMENT = (YB_SYS_CAT_MOD_ASPECT_ALTERING_EXISTING_DATA |
|
|
965
|
+
YB_SYS_CAT_MOD_ASPECT_VERSION_INCREMENT),
|
|
966
|
+
|
|
967
|
+
YB_DDL_MODE_BREAKING_CHANGE = (YB_SYS_CAT_MOD_ASPECT_ALTERING_EXISTING_DATA |
|
|
968
|
+
YB_SYS_CAT_MOD_ASPECT_VERSION_INCREMENT |
|
|
969
|
+
YB_SYS_CAT_MOD_ASPECT_BREAKING_CHANGE),
|
|
970
|
+
} YbDdlMode;
|
|
971
|
+
|
|
972
|
+
void YBIncrementDdlNestingLevel(YbDdlMode mode);
|
|
973
|
+
void YBDecrementDdlNestingLevel();
|
|
974
|
+
|
|
975
|
+
extern void YBAddDdlTxnState(YbDdlMode mode);
|
|
976
|
+
extern void YBMergeDdlTxnState();
|
|
977
|
+
extern void YBCommitTransactionContainingDDL();
|
|
978
|
+
|
|
979
|
+
typedef struct YbDdlModeOptional
|
|
980
|
+
{
|
|
981
|
+
bool has_value;
|
|
982
|
+
YbDdlMode value;
|
|
983
|
+
} YbDdlModeOptional;
|
|
984
|
+
|
|
985
|
+
extern YbDdlMode YBGetCurrentDdlMode();
|
|
986
|
+
extern YbDdlModeOptional YbGetDdlMode(PlannedStmt *pstmt,
|
|
987
|
+
ProcessUtilityContext context,
|
|
988
|
+
bool *requires_autonomous_transaction);
|
|
989
|
+
void YBAddModificationAspects(YbDdlMode mode);
|
|
990
|
+
|
|
991
|
+
extern void YBBeginOperationsBuffering();
|
|
992
|
+
extern void YBEndOperationsBuffering();
|
|
993
|
+
extern void YBResetOperationsBuffering();
|
|
994
|
+
extern void YBFlushBufferedOperations(YbcFlushDebugContext debug_context);
|
|
995
|
+
extern void YBAdjustOperationsBuffering(int multiple);
|
|
996
|
+
|
|
997
|
+
bool YBEnableTracing();
|
|
998
|
+
bool YBReadFromFollowersEnabled();
|
|
999
|
+
int32_t YBFollowerReadStalenessMs();
|
|
1000
|
+
bool YBFollowerReadsBehaviorBefore20482();
|
|
1001
|
+
|
|
1002
|
+
/*
|
|
1003
|
+
* Allocates YbcPgYBTupleIdDescriptor with nattrs arguments by using palloc.
|
|
1004
|
+
* Resulted object can be released with pfree.
|
|
1005
|
+
*/
|
|
1006
|
+
YbcPgYBTupleIdDescriptor *YBCCreateYBTupleIdDescriptor(Oid db_oid, Oid table_relfilenode_oid,
|
|
1007
|
+
int nattrs);
|
|
1008
|
+
void YBCFillUniqueIndexNullAttribute(YbcPgYBTupleIdDescriptor *descr);
|
|
1009
|
+
|
|
1010
|
+
/*
|
|
1011
|
+
* Lazily loads yb_table_properties field in Relation.
|
|
1012
|
+
*
|
|
1013
|
+
* YbGetTableProperties expects the table to be present in the DocDB, while
|
|
1014
|
+
* YbTryGetTableProperties queries the DocDB first and returns NULL if not found.
|
|
1015
|
+
*
|
|
1016
|
+
* Both calls returns the same yb_table_properties field from Relation
|
|
1017
|
+
* for convenience (can be NULL for the second call).
|
|
1018
|
+
*
|
|
1019
|
+
* Note that these calls will rarely send out RPC because of
|
|
1020
|
+
* Relation/TableDesc cache.
|
|
1021
|
+
*
|
|
1022
|
+
* TODO(alex):
|
|
1023
|
+
* An optimization we could use is to amend RelationBuildDesc or
|
|
1024
|
+
* ScanPgRelation to do a custom RPC fetching YB properties as well.
|
|
1025
|
+
* However, TableDesc cache makes this low-priority.
|
|
1026
|
+
*/
|
|
1027
|
+
YbcTableProperties YbGetTableProperties(Relation rel);
|
|
1028
|
+
YbcTableProperties YbGetTablePropertiesById(Oid relid);
|
|
1029
|
+
YbcTableProperties YbTryGetTableProperties(Relation rel);
|
|
1030
|
+
|
|
1031
|
+
typedef enum YbTableDistribution
|
|
1032
|
+
{
|
|
1033
|
+
YB_SYSTEM,
|
|
1034
|
+
YB_COLOCATED,
|
|
1035
|
+
YB_HASH_SHARDED,
|
|
1036
|
+
YB_RANGE_SHARDED
|
|
1037
|
+
} YbTableDistribution;
|
|
1038
|
+
YbTableDistribution YbGetTableDistribution(Oid relid);
|
|
1039
|
+
|
|
1040
|
+
/*
|
|
1041
|
+
* Check whether the given libc locale is supported in YugaByte mode.
|
|
1042
|
+
*/
|
|
1043
|
+
extern bool YBIsSupportedLibcLocale(const char *localebuf);
|
|
1044
|
+
|
|
1045
|
+
/*
|
|
1046
|
+
* Check for unsupported libc locale in YugaByte mode.
|
|
1047
|
+
*/
|
|
1048
|
+
extern void YbCheckUnsupportedLibcLocale(const char *localebuf);
|
|
1049
|
+
|
|
1050
|
+
/* Spin wait while test guc var actual equals expected. */
|
|
1051
|
+
extern void YbTestGucBlockWhileStrEqual(char **actual, const char *expected,
|
|
1052
|
+
const char *msg);
|
|
1053
|
+
|
|
1054
|
+
/* Spin wait until test guc var actual equals expected. */
|
|
1055
|
+
extern void YbTestGucBlockWhileIntNotEqual(int *actual, int expected,
|
|
1056
|
+
const char *msg);
|
|
1057
|
+
|
|
1058
|
+
extern void YbTestGucFailIfStrEqual(char *actual, const char *expected);
|
|
1059
|
+
|
|
1060
|
+
extern int YbGetNumberOfFunctionOutputColumns(Oid func_oid);
|
|
1061
|
+
extern int YbGetNumberOfFunctionInputParameters(Oid func_oid);
|
|
1062
|
+
|
|
1063
|
+
char *YBDetailSorted(char *input);
|
|
1064
|
+
|
|
1065
|
+
/*
|
|
1066
|
+
* For given collation, type and value, setup collation info.
|
|
1067
|
+
*/
|
|
1068
|
+
extern void YBGetCollationInfo(Oid collation_id,
|
|
1069
|
+
const YbcPgTypeEntity *type_entity, Datum datum,
|
|
1070
|
+
bool is_null,
|
|
1071
|
+
YbcPgCollationInfo *collation_info);
|
|
1072
|
+
|
|
1073
|
+
/*
|
|
1074
|
+
* Setup collation info in attr.
|
|
1075
|
+
*/
|
|
1076
|
+
extern void YBSetupAttrCollationInfo(YbcPgAttrValueDescriptor *attr, const YbcPgColumnInfo *column_info);
|
|
1077
|
+
|
|
1078
|
+
/*
|
|
1079
|
+
* Check whether the collation is a valid non-C collation.
|
|
1080
|
+
*/
|
|
1081
|
+
extern bool YBIsCollationValidNonC(Oid collation_id);
|
|
1082
|
+
|
|
1083
|
+
/*
|
|
1084
|
+
* Check whether the DB collation is UTF-8.
|
|
1085
|
+
*/
|
|
1086
|
+
extern bool YBIsDbLocaleDefault();
|
|
1087
|
+
|
|
1088
|
+
extern bool YBRequiresCacheToCheckLocale(Oid collation_id);
|
|
1089
|
+
|
|
1090
|
+
/*
|
|
1091
|
+
* For the column 'attr_num' and its collation id, return the collation id that
|
|
1092
|
+
* will be used to do collation encoding. For example, if the column 'attr_num'
|
|
1093
|
+
* represents a non-key column, we do not need to store the collation key and
|
|
1094
|
+
* this function will return InvalidOid which will disable collation encoding
|
|
1095
|
+
* for the column string value.
|
|
1096
|
+
*/
|
|
1097
|
+
Oid YBEncodingCollation(YbcPgStatement handle, int attr_num, Oid attcollation);
|
|
1098
|
+
|
|
1099
|
+
/*
|
|
1100
|
+
* Check whether the user ID is of a user who has the yb_extension role.
|
|
1101
|
+
*/
|
|
1102
|
+
bool IsYbExtensionUser(Oid member);
|
|
1103
|
+
|
|
1104
|
+
/*
|
|
1105
|
+
* Check whether the user ID is of a user who has the yb_fdw role.
|
|
1106
|
+
*/
|
|
1107
|
+
bool IsYbFdwUser(Oid member);
|
|
1108
|
+
|
|
1109
|
+
/*
|
|
1110
|
+
* Array of IDs of non-immutable functions that do not perform any database
|
|
1111
|
+
* lookups or writes. When these functions are used in an INSERT/UPDATE/DELETE
|
|
1112
|
+
* statement, they will not cause the actual modify statement to become a
|
|
1113
|
+
* cross shard operation.
|
|
1114
|
+
*/
|
|
1115
|
+
extern const uint32 yb_funcs_safe_for_pushdown[];
|
|
1116
|
+
|
|
1117
|
+
/*
|
|
1118
|
+
* These functions are unsafe to run in a multi-threaded environment. There is
|
|
1119
|
+
* no specific attribute that identifies them as such, so we have to manually
|
|
1120
|
+
* identify them.
|
|
1121
|
+
*/
|
|
1122
|
+
extern const uint32 yb_funcs_unsafe_for_pushdown[];
|
|
1123
|
+
|
|
1124
|
+
/*
|
|
1125
|
+
* These functions are some of the more commonly used functions, and are less
|
|
1126
|
+
* likely to cause issues when run in mixed mode pushdown. This list is not
|
|
1127
|
+
* exhaustive, but gives us a useful starting point.
|
|
1128
|
+
*/
|
|
1129
|
+
extern const uint32 yb_funcs_safe_for_mixed_mode_pushdown[];
|
|
1130
|
+
|
|
1131
|
+
/*
|
|
1132
|
+
* List of functions that are safe to push down, but need to be evaluated
|
|
1133
|
+
* to a constant value before being sent to DocDB.
|
|
1134
|
+
*/
|
|
1135
|
+
extern const uint32 yb_pushdown_funcs_to_constify[];
|
|
1136
|
+
|
|
1137
|
+
/*
|
|
1138
|
+
* List of SQL standard time/date functions that are evaluated once per
|
|
1139
|
+
* statement and pushed down as constants.
|
|
1140
|
+
*/
|
|
1141
|
+
extern const SQLValueFunctionOp yb_pushdown_sqlvaluefunctions[];
|
|
1142
|
+
|
|
1143
|
+
/*
|
|
1144
|
+
* Number of functions in the lists above.
|
|
1145
|
+
*/
|
|
1146
|
+
extern const int yb_funcs_safe_for_pushdown_count;
|
|
1147
|
+
extern const int yb_funcs_unsafe_for_pushdown_count;
|
|
1148
|
+
extern const int yb_funcs_safe_for_mixed_mode_pushdown_count;
|
|
1149
|
+
extern const int yb_pushdown_funcs_to_constify_count;
|
|
1150
|
+
extern const int yb_pushdown_sqlvaluefunctions_count;
|
|
1151
|
+
|
|
1152
|
+
/**
|
|
1153
|
+
* Use the YB_PG_PDEATHSIG environment variable to set the signal to be sent to
|
|
1154
|
+
* the current process in case the parent process dies. This is Linux-specific
|
|
1155
|
+
* and can only be done from the child process (the postmaster process). The
|
|
1156
|
+
* parent process here is yb-master or yb-tserver.
|
|
1157
|
+
*/
|
|
1158
|
+
void YBSetParentDeathSignal();
|
|
1159
|
+
|
|
1160
|
+
/**
|
|
1161
|
+
* Given a relation, return it's relfilenode OID. In YB, the relfilenode OID
|
|
1162
|
+
* maps to the relation's DocDB table ID. Note: if the table has not
|
|
1163
|
+
* previously been rewritten, this function returns the OID of the table.
|
|
1164
|
+
*/
|
|
1165
|
+
Oid YbGetRelfileNodeId(Relation relation);
|
|
1166
|
+
|
|
1167
|
+
/**
|
|
1168
|
+
* Given a relation ID, return the relation's relfilenode OID.
|
|
1169
|
+
*/
|
|
1170
|
+
Oid YbGetRelfileNodeIdFromRelId(Oid relationId);
|
|
1171
|
+
|
|
1172
|
+
/*
|
|
1173
|
+
* Check whether the user ID is of a user who has the yb_db_admin role.
|
|
1174
|
+
*/
|
|
1175
|
+
bool IsYbDbAdminUser(Oid member);
|
|
1176
|
+
|
|
1177
|
+
/*
|
|
1178
|
+
* Check whether the user ID is of a user who has the yb_db_admin role
|
|
1179
|
+
* (excluding superusers).
|
|
1180
|
+
*/
|
|
1181
|
+
bool IsYbDbAdminUserNosuper(Oid member);
|
|
1182
|
+
|
|
1183
|
+
/*
|
|
1184
|
+
* Check unsupported system columns and report error.
|
|
1185
|
+
*/
|
|
1186
|
+
void YbCheckUnsupportedSystemColumns(int attnum, const char *colname, RangeTblEntry *rte);
|
|
1187
|
+
|
|
1188
|
+
/*
|
|
1189
|
+
* Register system table for prefetching.
|
|
1190
|
+
*/
|
|
1191
|
+
void YbRegisterSysTableForPrefetching(int sys_table_id);
|
|
1192
|
+
void YbTryRegisterCatalogVersionTableForPrefetching();
|
|
1193
|
+
extern void YbTryRegisterLogicalClientVersionTableForPrefetching();
|
|
1194
|
+
|
|
1195
|
+
YbcPgTableLocalityInfo
|
|
1196
|
+
YbBuildTableLocalityInfo(Relation rel);
|
|
1197
|
+
|
|
1198
|
+
YbcPgTableLocalityInfo
|
|
1199
|
+
YbBuildSystemTableLocalityInfo(Oid sys_rel_oid);
|
|
1200
|
+
|
|
1201
|
+
/*
|
|
1202
|
+
* Return NULL for all non-range-partitioned tables.
|
|
1203
|
+
* Return an empty string for one-tablet range-partitioned tables.
|
|
1204
|
+
* Return SPLIT AT VALUES clause string (i.e. SPLIT AT VALUES(...))
|
|
1205
|
+
* for all range-partitioned tables with more than one tablet.
|
|
1206
|
+
* Return an empty string when duplicate split points exist
|
|
1207
|
+
* after tablet splitting.
|
|
1208
|
+
* Return an emptry string when a NULL value is present in split points
|
|
1209
|
+
* after tablet splitting.
|
|
1210
|
+
*/
|
|
1211
|
+
extern Datum yb_get_range_split_clause(PG_FUNCTION_ARGS);
|
|
1212
|
+
|
|
1213
|
+
extern bool check_yb_xcluster_consistency_level(char **newval, void **extra,
|
|
1214
|
+
GucSource source);
|
|
1215
|
+
extern void assign_yb_xcluster_consistency_level(const char *newval,
|
|
1216
|
+
void *extra);
|
|
1217
|
+
|
|
1218
|
+
/*
|
|
1219
|
+
* Updates the session stats snapshot with the collected stats and copies the
|
|
1220
|
+
* difference to the query execution context's instrumentation.
|
|
1221
|
+
*/
|
|
1222
|
+
void YbUpdateSessionStats(YbInstrumentation *yb_instr);
|
|
1223
|
+
|
|
1224
|
+
extern bool check_yb_read_time(char **newval, void **extra, GucSource source);
|
|
1225
|
+
extern void assign_yb_read_time(const char *newval, void *extra);
|
|
1226
|
+
|
|
1227
|
+
/* GUC assign hook for max_replication_slots */
|
|
1228
|
+
extern void yb_assign_max_replication_slots(int newval, void *extra);
|
|
1229
|
+
|
|
1230
|
+
/*
|
|
1231
|
+
* Refreshes the session stats snapshot with the collected stats. This function
|
|
1232
|
+
* is to be invoked before the query has started its execution.
|
|
1233
|
+
*/
|
|
1234
|
+
extern void YbRefreshSessionStatsBeforeExecution();
|
|
1235
|
+
|
|
1236
|
+
/*
|
|
1237
|
+
* Refreshes the session stats snapshot with the collected stats. This function
|
|
1238
|
+
* is to be invoked when during/after query execution.
|
|
1239
|
+
*/
|
|
1240
|
+
extern void YbRefreshSessionStatsDuringExecution();
|
|
1241
|
+
|
|
1242
|
+
/*
|
|
1243
|
+
* Updates the global flag indicating whether RPC requests to the underlying
|
|
1244
|
+
* storage layer need to be timed.
|
|
1245
|
+
*/
|
|
1246
|
+
extern void YbToggleSessionStatsTimer(bool timing_on);
|
|
1247
|
+
|
|
1248
|
+
/* Indicates whether timing of RPC requests is enabled. */
|
|
1249
|
+
extern bool YbIsSessionStatsTimerEnabled();
|
|
1250
|
+
|
|
1251
|
+
/*
|
|
1252
|
+
* Updates the global flag indicating whether stats need to be collected at the
|
|
1253
|
+
* time of transaction commit for EXPLAIN.
|
|
1254
|
+
*/
|
|
1255
|
+
extern void YbToggleCommitStatsCollection(bool enable);
|
|
1256
|
+
|
|
1257
|
+
/* Indicates whether commit stats collection is enabled. */
|
|
1258
|
+
extern bool YbIsCommitStatsCollectionEnabled();
|
|
1259
|
+
|
|
1260
|
+
/*
|
|
1261
|
+
* Records the latency of the last transaction commit operation in a global
|
|
1262
|
+
* variable.
|
|
1263
|
+
*/
|
|
1264
|
+
extern void YbRecordCommitLatency(uint64_t latency_us);
|
|
1265
|
+
|
|
1266
|
+
/**
|
|
1267
|
+
* Update the global flag indicating what metric changes to capture and return
|
|
1268
|
+
* from the tserver to PG.
|
|
1269
|
+
*/
|
|
1270
|
+
void YbSetMetricsCaptureType(YbcPgMetricsCaptureType metrics_capture);
|
|
1271
|
+
|
|
1272
|
+
/*
|
|
1273
|
+
* Update the global flag indicating what metric changes to capture and return
|
|
1274
|
+
* from the tserver to PG only if the flag is YB_YQL_METRICS_CAPTURE_NONE.
|
|
1275
|
+
*/
|
|
1276
|
+
extern void YbSetMetricsCaptureTypeIfUnset(YbcPgMetricsCaptureType metrics_capture);
|
|
1277
|
+
|
|
1278
|
+
/*
|
|
1279
|
+
* If the tserver gflag --ysql_disable_server_file_access is set to
|
|
1280
|
+
* true, then prevent any server file writes/reads/execution.
|
|
1281
|
+
*/
|
|
1282
|
+
extern void YBCheckServerAccessIsAllowed();
|
|
1283
|
+
|
|
1284
|
+
void YbSetCatalogCacheVersion(YbcPgStatement handle, uint64_t version);
|
|
1285
|
+
|
|
1286
|
+
uint64_t YbGetSharedCatalogVersion();
|
|
1287
|
+
uint32_t YbGetNumberOfDatabases();
|
|
1288
|
+
bool YbCatalogVersionTableInPerdbMode();
|
|
1289
|
+
|
|
1290
|
+
/*
|
|
1291
|
+
* This function maps the user intended row-level lock policy i.e., "pg_wait_policy" of
|
|
1292
|
+
* type enum LockWaitPolicy to the "docdb_wait_policy" of type enum WaitPolicy as defined in
|
|
1293
|
+
* common.proto.
|
|
1294
|
+
* Note: enum WaitPolicy values are equal to enum LockWaitPolicy.
|
|
1295
|
+
* That is why function maps enum LockWaitPolicy into enum LockWaitPolicy.
|
|
1296
|
+
*
|
|
1297
|
+
* The semantics of the WaitPolicy enum differ slightly from those of the traditional LockWaitPolicy
|
|
1298
|
+
* in Postgres, as explained in common.proto. This is for historical reasons. WaitPolicy in
|
|
1299
|
+
* common.proto was created as a copy of LockWaitPolicy to be passed to the Tserver to help in
|
|
1300
|
+
* appropriate conflict-resolution steps for the different row-level lock policies.
|
|
1301
|
+
*
|
|
1302
|
+
* In isolation level SERIALIZABLE, this function returns WAIT_BLOCK as
|
|
1303
|
+
* this is the only policy currently supported for SERIALIZABLE.
|
|
1304
|
+
*
|
|
1305
|
+
* However, if wait queues aren't enabled in the following cases:
|
|
1306
|
+
* * Isolation level SERIALIZABLE
|
|
1307
|
+
* * The user requested LockWaitBlock in another isolation level
|
|
1308
|
+
* this function returns WAIT_ERROR (which actually uses the "Fail on Conflict"
|
|
1309
|
+
* conflict management policy instead of "no wait" semantics, as explained in "enum WaitPolicy" in
|
|
1310
|
+
* common.proto).
|
|
1311
|
+
*
|
|
1312
|
+
* Logs a warning:
|
|
1313
|
+
* 1. In isolation level SERIALIZABLE for a pg_wait_policy of LockWaitSkip and LockWaitError
|
|
1314
|
+
* because SKIP LOCKED and NOWAIT are not supported yet.
|
|
1315
|
+
* 2. In isolation level REPEATABLE READ for a pg_wait_policy of LockWaitError because NOWAIT
|
|
1316
|
+
* is not supported.
|
|
1317
|
+
*/
|
|
1318
|
+
LockWaitPolicy YBGetDocDBWaitPolicy(LockWaitPolicy pg_wait_policy);
|
|
1319
|
+
|
|
1320
|
+
const char *yb_fetch_current_transaction_priority(void);
|
|
1321
|
+
|
|
1322
|
+
void GetStatusMsgAndArgumentsByCode(const uint32_t pg_err_code, YbcStatus s,
|
|
1323
|
+
const char **msg_buf, size_t *msg_nargs,
|
|
1324
|
+
const char ***msg_args,
|
|
1325
|
+
const char **detail_buf,
|
|
1326
|
+
size_t *detail_nargs,
|
|
1327
|
+
const char ***detail_args,
|
|
1328
|
+
const char **detail_log_buf,
|
|
1329
|
+
size_t *detail_log_nargs,
|
|
1330
|
+
const char ***detail_log_args);
|
|
1331
|
+
|
|
1332
|
+
bool YbIsBatchedExecution();
|
|
1333
|
+
void YbSetIsBatchedExecution(bool value);
|
|
1334
|
+
|
|
1335
|
+
/* Check if the given column is a part of the relation's key. */
|
|
1336
|
+
bool YbIsColumnPartOfKey(Relation rel, const char *column_name);
|
|
1337
|
+
|
|
1338
|
+
/* Get a relation's split options. */
|
|
1339
|
+
YbOptSplit *YbGetSplitOptions(Relation rel);
|
|
1340
|
+
|
|
1341
|
+
#define HandleYBStatus(status) \
|
|
1342
|
+
HandleYBStatusAtErrorLevel(status, ERROR)
|
|
1343
|
+
|
|
1344
|
+
/*
|
|
1345
|
+
* Macro to convert DocDB Status to Postgres error.
|
|
1346
|
+
* It is generally based on the ereport macro, it makes a sequence of errxxx()
|
|
1347
|
+
* function calls, where errstart() comes the first and errfinish() the last.
|
|
1348
|
+
*
|
|
1349
|
+
* The error location info (file name, line number, function name) comes from
|
|
1350
|
+
* the status, so we need lower level access, that's why we can not use ereport
|
|
1351
|
+
* here. Also we don't need ereport's flexibility, as we support transfer of
|
|
1352
|
+
* limited subset of Postgres error fields.
|
|
1353
|
+
*
|
|
1354
|
+
* We require the compiler to support __builtin_constant_p.
|
|
1355
|
+
*/
|
|
1356
|
+
#ifdef HAVE__BUILTIN_CONSTANT_P
|
|
1357
|
+
#define HandleYBStatusAtErrorLevel(status, elevel) \
|
|
1358
|
+
do \
|
|
1359
|
+
{ \
|
|
1360
|
+
AssertMacro(!IsMultiThreadedMode()); \
|
|
1361
|
+
YbcStatus _status = (status); \
|
|
1362
|
+
if (_status) \
|
|
1363
|
+
{ \
|
|
1364
|
+
const int adjusted_elevel = YBCStatusIsFatalError(_status) ? FATAL : elevel; \
|
|
1365
|
+
const uint32_t pg_err_code = YBCStatusPgsqlError(_status); \
|
|
1366
|
+
const char *filename = YBCStatusFilename(_status); \
|
|
1367
|
+
int lineno = YBCStatusLineNumber(_status); \
|
|
1368
|
+
const char *funcname = YBCStatusFuncname(_status); \
|
|
1369
|
+
const char *msg_buf = NULL; \
|
|
1370
|
+
const char *detail_buf = NULL; \
|
|
1371
|
+
const char *detail_log_buf = NULL; \
|
|
1372
|
+
size_t msg_nargs = 0; \
|
|
1373
|
+
size_t detail_nargs = 0; \
|
|
1374
|
+
size_t detail_log_nargs = 0; \
|
|
1375
|
+
const char **msg_args = NULL; \
|
|
1376
|
+
const char **detail_args = NULL; \
|
|
1377
|
+
const char **detail_log_args = NULL; \
|
|
1378
|
+
GetStatusMsgAndArgumentsByCode(pg_err_code, _status, \
|
|
1379
|
+
&msg_buf, &msg_nargs, &msg_args, \
|
|
1380
|
+
&detail_buf, &detail_nargs, \
|
|
1381
|
+
&detail_args, &detail_log_buf, \
|
|
1382
|
+
&detail_log_nargs, \
|
|
1383
|
+
&detail_log_args); \
|
|
1384
|
+
YBCFreeStatus(_status); \
|
|
1385
|
+
if (errstart(adjusted_elevel, TEXTDOMAIN)) \
|
|
1386
|
+
{ \
|
|
1387
|
+
AssertMacro(msg_buf); \
|
|
1388
|
+
yb_errmsg_from_status(msg_buf, msg_nargs, msg_args); \
|
|
1389
|
+
if (detail_buf) \
|
|
1390
|
+
yb_errdetail_from_status(detail_buf, detail_nargs, detail_args); \
|
|
1391
|
+
if (detail_log_buf) \
|
|
1392
|
+
yb_errdetail_log_from_status(detail_log_buf, \
|
|
1393
|
+
detail_log_nargs, \
|
|
1394
|
+
detail_log_args); \
|
|
1395
|
+
errcode(pg_err_code); \
|
|
1396
|
+
errhidecontext(true); \
|
|
1397
|
+
if (yb_debug_log_docdb_error_backtrace) \
|
|
1398
|
+
errbacktrace(); \
|
|
1399
|
+
yb_errlocation_from_status(filename, lineno, funcname); \
|
|
1400
|
+
errfinish(__FILE__, __LINE__, PG_FUNCNAME_MACRO); \
|
|
1401
|
+
if (__builtin_constant_p(elevel) && (elevel) >= ERROR) \
|
|
1402
|
+
pg_unreachable(); \
|
|
1403
|
+
} \
|
|
1404
|
+
else \
|
|
1405
|
+
{ \
|
|
1406
|
+
if (filename) \
|
|
1407
|
+
pfree((void*) filename); \
|
|
1408
|
+
if (funcname) \
|
|
1409
|
+
pfree((void*) funcname); \
|
|
1410
|
+
} \
|
|
1411
|
+
} \
|
|
1412
|
+
} while (0)
|
|
1413
|
+
#endif
|
|
1414
|
+
|
|
1415
|
+
/*
|
|
1416
|
+
* Increments a tally of sticky objects (TEMP TABLES/WITH HOLD CURSORS)
|
|
1417
|
+
* maintained for every transaction.
|
|
1418
|
+
*/
|
|
1419
|
+
extern void increment_sticky_object_count();
|
|
1420
|
+
|
|
1421
|
+
/*
|
|
1422
|
+
* Decrements a tally of sticky objects (TEMP TABLES/WITH HOLD CURSORS)
|
|
1423
|
+
* maintained for every transaction.
|
|
1424
|
+
*/
|
|
1425
|
+
extern void decrement_sticky_object_count();
|
|
1426
|
+
|
|
1427
|
+
/*
|
|
1428
|
+
* Check if there exists a database object that requires a sticky connection.
|
|
1429
|
+
*/
|
|
1430
|
+
extern bool YbIsStickyConnection(int *change);
|
|
1431
|
+
|
|
1432
|
+
/*
|
|
1433
|
+
* Creates a shallow copy of the pointer list.
|
|
1434
|
+
*/
|
|
1435
|
+
extern void **YbPtrListToArray(const List *str_list, size_t *length);
|
|
1436
|
+
|
|
1437
|
+
/*
|
|
1438
|
+
* Reads the contents of the given file assuming that the filename is an
|
|
1439
|
+
* absolute path.
|
|
1440
|
+
*
|
|
1441
|
+
* The file contents are returned as a single palloc'd chunk with an extra \0
|
|
1442
|
+
* byte added to the end.
|
|
1443
|
+
*/
|
|
1444
|
+
extern char *YbReadWholeFile(const char *filename, int *length, int elevel);
|
|
1445
|
+
|
|
1446
|
+
extern bool yb_use_tserver_key_auth;
|
|
1447
|
+
|
|
1448
|
+
extern bool yb_use_tserver_key_auth_check_hook(bool *newval,
|
|
1449
|
+
void **extra, GucSource source);
|
|
1450
|
+
|
|
1451
|
+
extern void YbATCopyPrimaryKeyToCreateStmt(Relation rel,
|
|
1452
|
+
Relation pg_constraint,
|
|
1453
|
+
CreateStmt *create_stmt);
|
|
1454
|
+
|
|
1455
|
+
extern void YbIndexSetNewRelfileNode(Relation indexRel, Oid relfileNodeId,
|
|
1456
|
+
bool yb_copy_split_options,
|
|
1457
|
+
YbOptSplit *preserved_index_split_options);
|
|
1458
|
+
|
|
1459
|
+
/*
|
|
1460
|
+
* Returns the ordering type for a primary key. By default, the first element of
|
|
1461
|
+
* YB relations are sorted by HASH, unless Postgres sorting is set, or the table
|
|
1462
|
+
* is colocated.
|
|
1463
|
+
*/
|
|
1464
|
+
extern SortByDir YbSortOrdering(SortByDir ordering, bool is_colocated, bool is_tablegroup, bool is_first_key);
|
|
1465
|
+
|
|
1466
|
+
extern const char *YbGetRedactedQueryString(const char *query, int *redacted_query_len);
|
|
1467
|
+
|
|
1468
|
+
/* Check if optimizations for UPDATE queries have been enabled. */
|
|
1469
|
+
extern bool YbIsUpdateOptimizationEnabled();
|
|
1470
|
+
|
|
1471
|
+
extern void YbRelationSetNewRelfileNode(Relation rel, Oid relfileNodeId,
|
|
1472
|
+
bool yb_copy_split_options,
|
|
1473
|
+
bool is_truncate);
|
|
1474
|
+
|
|
1475
|
+
extern Relation YbGetRelationWithOverwrittenReplicaIdentity(Oid relid,
|
|
1476
|
+
char replident);
|
|
1477
|
+
|
|
1478
|
+
extern void YBCUpdateYbReadTimeAndInvalidateRelcache(uint64_t read_time);
|
|
1479
|
+
|
|
1480
|
+
extern void YBCResetYbReadTimeAndInvalidateRelcache();
|
|
1481
|
+
|
|
1482
|
+
extern uint64_t YbCalculateTimeDifferenceInMicros(TimestampTz yb_start_time);
|
|
1483
|
+
|
|
1484
|
+
static inline bool
|
|
1485
|
+
YbIsNormalDbOidReserved(Oid db_oid)
|
|
1486
|
+
{
|
|
1487
|
+
return db_oid == kYBCPgSequencesDataDatabaseOid;
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1490
|
+
extern Oid YbGetSQLIncrementCatalogVersionsFunctionOid();
|
|
1491
|
+
|
|
1492
|
+
extern bool YbIsReadCommittedTxn();
|
|
1493
|
+
extern bool YbSkipPgSnapshotManagement();
|
|
1494
|
+
|
|
1495
|
+
extern YbOptionalReadPointHandle YbBuildCurrentReadPointHandle();
|
|
1496
|
+
extern void YbUseSnapshotReadTime(uint64_t read_time);
|
|
1497
|
+
extern YbOptionalReadPointHandle YbRegisterSnapshotReadTime(uint64_t read_time);
|
|
1498
|
+
extern YbOptionalReadPointHandle YbResetTransactionReadPoint(bool is_catalog_snapshot);
|
|
1499
|
+
|
|
1500
|
+
extern bool YbUseFastBackwardScan();
|
|
1501
|
+
|
|
1502
|
+
extern bool YbIsYsqlConnMgrWarmupModeEnabled();
|
|
1503
|
+
|
|
1504
|
+
extern bool YbIsAuthBackend();
|
|
1505
|
+
|
|
1506
|
+
extern bool YbIsYsqlConnMgrEnabled();
|
|
1507
|
+
|
|
1508
|
+
bool YbIsAttrPrimaryKeyColumn(Relation rel, AttrNumber attnum);
|
|
1509
|
+
|
|
1510
|
+
SortByDir YbGetIndexKeySortOrdering(Relation indexRel);
|
|
1511
|
+
|
|
1512
|
+
typedef enum YbTruncateType
|
|
1513
|
+
{
|
|
1514
|
+
YB_SAFE_TRUNCATE,
|
|
1515
|
+
YB_UNSAFE_TRUNCATE_SYSTEM_RELATION,
|
|
1516
|
+
YB_UNSAFE_TRUNCATE_TABLE_REWRITE_DISABLED,
|
|
1517
|
+
} YbTruncateType;
|
|
1518
|
+
|
|
1519
|
+
extern YbTruncateType YbUseUnsafeTruncate(Relation rel);
|
|
1520
|
+
|
|
1521
|
+
extern AttrNumber YbGetIndexAttnum(Relation index, AttrNumber table_attno);
|
|
1522
|
+
|
|
1523
|
+
extern bool yb_ysql_conn_mgr_superuser_existed;
|
|
1524
|
+
|
|
1525
|
+
extern Oid YbGetDatabaseOidToIncrementCatalogVersion();
|
|
1526
|
+
|
|
1527
|
+
extern bool yb_default_collation_resolved;
|
|
1528
|
+
|
|
1529
|
+
extern bool YbApplyInvalidationMessages(YbcCatalogMessageLists *message_lists);
|
|
1530
|
+
|
|
1531
|
+
extern bool YbInvalidationMessagesTableExists();
|
|
1532
|
+
|
|
1533
|
+
extern bool yb_is_calling_internal_sql_for_ddl;
|
|
1534
|
+
|
|
1535
|
+
extern char *YbGetPotentiallyHiddenOidText(Oid oid);
|
|
1536
|
+
|
|
1537
|
+
extern void YbWaitForSharedCatalogVersionToCatchup(uint64_t version);
|
|
1538
|
+
|
|
1539
|
+
extern bool YbIsInvalidationMessageEnabled();
|
|
1540
|
+
|
|
1541
|
+
extern bool YbRefreshMatviewInPlace();
|
|
1542
|
+
|
|
1543
|
+
extern void YbForceSendInvalMessages();
|
|
1544
|
+
|
|
1545
|
+
extern long YbGetPeakRssKb();
|
|
1546
|
+
|
|
1547
|
+
extern bool YbIsAnyDependentGeneratedColPK(Relation rel, AttrNumber attnum);
|
|
1548
|
+
|
|
1549
|
+
extern bool YbCheckTserverResponseCacheForAuthGflags();
|
|
1550
|
+
|
|
1551
|
+
extern bool YbUseTserverResponseCacheForAuth(uint64_t shared_catalog_version);
|
|
1552
|
+
|
|
1553
|
+
typedef enum YbTxnError
|
|
1554
|
+
{
|
|
1555
|
+
YB_TXN_CONFLICT,
|
|
1556
|
+
YB_TXN_RESTART_READ,
|
|
1557
|
+
YB_TXN_DEADLOCK,
|
|
1558
|
+
YB_TXN_ABORTED,
|
|
1559
|
+
YB_TXN_SKIP_LOCKING,
|
|
1560
|
+
YB_TXN_LOCK_NOT_FOUND,
|
|
1561
|
+
YB_TXN_CONFLICT_KIND_COUNT, /* Must be last value of this enum */
|
|
1562
|
+
} YbTxnError;
|
|
1563
|
+
|
|
1564
|
+
typedef enum
|
|
1565
|
+
{
|
|
1566
|
+
YB_QPM_TRACK_NONE,
|
|
1567
|
+
YB_QPM_TRACK_TOP,
|
|
1568
|
+
YB_QPM_TRACK_ALL
|
|
1569
|
+
} YbQpmTrackEnum;
|
|
1570
|
+
|
|
1571
|
+
typedef enum
|
|
1572
|
+
{
|
|
1573
|
+
YB_QPM_SIMPLE_CLOCK_LRU,
|
|
1574
|
+
YB_QPM_TRUE_LRU
|
|
1575
|
+
} YbCacheReplacementAlgorithmEnum;
|
|
1576
|
+
|
|
1577
|
+
typedef struct YbQpmConfiguration
|
|
1578
|
+
{
|
|
1579
|
+
int track;
|
|
1580
|
+
int cache_replacement_algorithm;
|
|
1581
|
+
int max_cache_size;
|
|
1582
|
+
bool track_catalog_queries;
|
|
1583
|
+
int plan_format;
|
|
1584
|
+
bool verbose_plans;
|
|
1585
|
+
bool compress_text;
|
|
1586
|
+
} YbQpmConfiguration;
|
|
1587
|
+
|
|
1588
|
+
extern YbQpmConfiguration yb_qpm_configuration;
|
|
1589
|
+
|
|
1590
|
+
extern void YbResetRetryCounts();
|
|
1591
|
+
extern void YbIncrementRetryCount(YbTxnError kind);
|
|
1592
|
+
extern uint64_t YbGetRetryCount(YbTxnError kind);
|
|
1593
|
+
extern uint64_t YbGetTotalRetryCount();
|
|
1594
|
+
extern YbTxnError YbSqlErrorCodeToTransactionError(int sqlerrcode);
|
|
1595
|
+
|
|
1596
|
+
extern bool yb_is_internal_connection;
|
|
1597
|
+
|
|
1598
|
+
extern bool YbCatalogPreloadRequired();
|
|
1599
|
+
extern bool YbUseMinimalCatalogCachesPreload();
|
|
1600
|
+
|
|
1601
|
+
extern YbcPgStatement YbNewSample(Relation rel, int targrows, double rstate_w,
|
|
1602
|
+
uint64_t rand_state_s0, uint64_t rand_state_s1);
|
|
1603
|
+
|
|
1604
|
+
extern YbcPgStatement YbNewSelect(Relation rel, const YbcPgPrepareParameters *prepare_params);
|
|
1605
|
+
|
|
1606
|
+
extern YbcPgStatement YbNewUpdateForDb(Oid db_oid, Relation rel,
|
|
1607
|
+
YbcPgTransactionSetting transaction_setting);
|
|
1608
|
+
|
|
1609
|
+
extern YbcPgStatement YbNewUpdate(Relation rel, YbcPgTransactionSetting transaction_setting);
|
|
1610
|
+
|
|
1611
|
+
extern YbcPgStatement YbNewDelete(Relation rel, YbcPgTransactionSetting transaction_setting);
|
|
1612
|
+
|
|
1613
|
+
extern YbcPgStatement YbNewInsertForDb(Oid db_oid, Relation rel,
|
|
1614
|
+
YbcPgTransactionSetting transaction_setting);
|
|
1615
|
+
|
|
1616
|
+
extern YbcPgStatement YbNewInsert(Relation rel, YbcPgTransactionSetting transaction_setting);
|
|
1617
|
+
|
|
1618
|
+
extern YbcPgStatement YbNewInsertBlock(Relation rel, YbcPgTransactionSetting transaction_setting);
|
|
1619
|
+
|
|
1620
|
+
extern YbcPgStatement YbNewTruncateColocated(Relation rel,
|
|
1621
|
+
YbcPgTransactionSetting transaction_setting);
|
|
1622
|
+
|
|
1623
|
+
extern YbcPgStatement YbNewTruncateColocatedIgnoreNotFound(Relation rel,
|
|
1624
|
+
YbcPgTransactionSetting transaction_setting);
|
|
1625
|
+
|
|
1626
|
+
extern const unsigned char *YbGetLocalTServerUuid();
|
|
1627
|
+
extern void YbUCharToUuid(const unsigned char *in, pg_uuid_t *out);
|
|
1628
|
+
|
|
1629
|
+
typedef enum
|
|
1630
|
+
{
|
|
1631
|
+
YB_TRACEPARENT_OK,
|
|
1632
|
+
YB_TRACEPARENT_NO_COMMENT,
|
|
1633
|
+
YB_TRACEPARENT_NO_FIELD,
|
|
1634
|
+
YB_TRACEPARENT_WRONG_SIZE,
|
|
1635
|
+
YB_TRACEPARENT_MISSING_OPEN_QUOTE,
|
|
1636
|
+
YB_TRACEPARENT_MISSING_CLOSE_QUOTE
|
|
1637
|
+
} YbTraceparentResult;
|
|
1638
|
+
|
|
1639
|
+
extern const char *YbGetTraceparentResultErrmsg(YbTraceparentResult result);
|
|
1640
|
+
|
|
1641
|
+
extern YbTraceparentResult YbGetTraceparentFromTraceContext(const char *trace_context,
|
|
1642
|
+
size_t trace_context_len,
|
|
1643
|
+
char *traceparent_out);
|
|
1644
|
+
|
|
1645
|
+
#endif /* PG_YB_UTILS_H */
|