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.
Files changed (926) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +177 -0
  3. data/LICENSES/Apache-2.0.txt +4 -0
  4. data/LICENSES/PostgreSQL.txt +24 -0
  5. data/README.md +93 -0
  6. data/THIRD_PARTY_NOTICES.md +47 -0
  7. data/VERSION +1 -0
  8. data/ext/yb_ddl_parser/extconf.rb +41 -0
  9. data/ext/yb_ddl_parser/vendor/compat/postgres/pg_config.h +1021 -0
  10. data/ext/yb_ddl_parser/vendor/compat/postgres/pg_config_ext.h +8 -0
  11. data/ext/yb_ddl_parser/vendor/compat/postgres/pg_config_os.h +8 -0
  12. data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/util/ybc_util.h +53 -0
  13. data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_dist_trace.h +12 -0
  14. data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_gflags.h +17 -0
  15. data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_pg_typedefs.h +184 -0
  16. data/ext/yb_ddl_parser/vendor/compat/postgres/yb/yql/pggate/ybc_pggate.h +6 -0
  17. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/list.c +1676 -0
  18. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/makefuncs.c +824 -0
  19. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/nodes.c +31 -0
  20. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/outfuncs.c +4948 -0
  21. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/nodes/value.c +83 -0
  22. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/gram.c +52142 -0
  23. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/gram.h +1135 -0
  24. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/parser.c +501 -0
  25. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/scan.c +9319 -0
  26. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/backend/parser/scansup.c +127 -0
  27. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/common/keywords.c +48 -0
  28. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/common/kwlist_d.h +1128 -0
  29. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/common/kwlookup.c +85 -0
  30. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/amapi.h +399 -0
  31. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/amvalidate.h +40 -0
  32. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/attmap.h +53 -0
  33. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/attnum.h +64 -0
  34. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin.h +55 -0
  35. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_internal.h +115 -0
  36. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_page.h +96 -0
  37. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_pageops.h +38 -0
  38. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_revmap.h +41 -0
  39. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_tuple.h +112 -0
  40. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/brin_xlog.h +151 -0
  41. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/bufmask.h +32 -0
  42. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/clog.h +63 -0
  43. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/commit_ts.h +74 -0
  44. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/detoast.h +82 -0
  45. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/genam.h +267 -0
  46. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/generic_xlog.h +45 -0
  47. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gin.h +78 -0
  48. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gin_private.h +500 -0
  49. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ginblock.h +346 -0
  50. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ginxlog.h +216 -0
  51. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gist.h +248 -0
  52. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gist_private.h +571 -0
  53. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gistscan.h +24 -0
  54. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/gistxlog.h +114 -0
  55. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/hash.h +485 -0
  56. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/hash_xlog.h +267 -0
  57. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/heapam.h +242 -0
  58. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/heapam_xlog.h +420 -0
  59. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/heaptoast.h +151 -0
  60. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/hio.h +43 -0
  61. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/htup.h +90 -0
  62. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/htup_details.h +812 -0
  63. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/itup.h +181 -0
  64. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/multixact.h +164 -0
  65. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/nbtree.h +1293 -0
  66. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/nbtxlog.h +351 -0
  67. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/parallel.h +82 -0
  68. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/printsimple.h +23 -0
  69. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/printtup.h +35 -0
  70. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/relation.h +28 -0
  71. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/reloptions.h +275 -0
  72. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/relscan.h +242 -0
  73. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/rewriteheap.h +57 -0
  74. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/rmgr.h +62 -0
  75. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/rmgrlist.h +49 -0
  76. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/sdir.h +58 -0
  77. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/session.h +44 -0
  78. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/skey.h +229 -0
  79. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/slru.h +174 -0
  80. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/spgist.h +229 -0
  81. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/spgist_private.h +549 -0
  82. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/spgxlog.h +257 -0
  83. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/stratnum.h +85 -0
  84. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/subtrans.h +29 -0
  85. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/syncscan.h +25 -0
  86. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/sysattr.h +45 -0
  87. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/table.h +28 -0
  88. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tableam.h +2127 -0
  89. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/timeline.h +44 -0
  90. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/toast_compression.h +73 -0
  91. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/toast_helper.h +116 -0
  92. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/toast_internals.h +63 -0
  93. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/transam.h +403 -0
  94. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tsmapi.h +82 -0
  95. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupconvert.h +54 -0
  96. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupdesc.h +154 -0
  97. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupdesc_details.h +28 -0
  98. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/tupmacs.h +247 -0
  99. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/twophase.h +65 -0
  100. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/twophase_rmgr.h +40 -0
  101. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/valid.h +69 -0
  102. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/visibilitymap.h +42 -0
  103. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/visibilitymapdefs.h +25 -0
  104. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xact.h +586 -0
  105. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlog.h +305 -0
  106. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlog_internal.h +366 -0
  107. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogarchive.h +35 -0
  108. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogdefs.h +101 -0
  109. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xloginsert.h +66 -0
  110. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogprefetcher.h +55 -0
  111. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogreader.h +450 -0
  112. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogrecord.h +236 -0
  113. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogrecovery.h +157 -0
  114. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogstats.h +43 -0
  115. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/xlogutils.h +118 -0
  116. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/yb_pg_inherits_scan.h +36 -0
  117. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/yb_scan.h +421 -0
  118. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/yb_sys_scan_base.h +41 -0
  119. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ybgin.h +75 -0
  120. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/access/ybgin_private.h +51 -0
  121. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/backup_manifest.h +54 -0
  122. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/basebackup.h +39 -0
  123. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/basebackup_sink.h +301 -0
  124. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/backup/basebackup_target.h +66 -0
  125. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/bootstrap/bootstrap.h +62 -0
  126. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/bootstrap/yb_bootstrap.h +44 -0
  127. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/c.h +1424 -0
  128. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/binary_upgrade.h +42 -0
  129. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/catalog.h +70 -0
  130. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/catversion.h +59 -0
  131. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/dependency.h +296 -0
  132. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/genbki.h +143 -0
  133. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/heap.h +165 -0
  134. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/index.h +268 -0
  135. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/indexing.h +57 -0
  136. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/namespace.h +190 -0
  137. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/objectaccess.h +265 -0
  138. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/objectaddress.h +93 -0
  139. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/partition.h +34 -0
  140. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_aggregate.h +180 -0
  141. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_aggregate_d.h +78 -0
  142. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_am.h +63 -0
  143. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_am_d.h +49 -0
  144. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amop.h +102 -0
  145. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amop_d.h +44 -0
  146. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amproc.h +73 -0
  147. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_amproc_d.h +35 -0
  148. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attrdef.h +70 -0
  149. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attrdef_d.h +33 -0
  150. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attribute.h +221 -0
  151. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_attribute_d.h +62 -0
  152. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_auth_members.h +48 -0
  153. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_auth_members_d.h +34 -0
  154. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_authid.h +63 -0
  155. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_authid_d.h +60 -0
  156. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_cast.h +102 -0
  157. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_cast_d.h +64 -0
  158. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_class.h +240 -0
  159. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_class_d.h +142 -0
  160. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_collation.h +98 -0
  161. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_collation_d.h +62 -0
  162. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_constraint.h +276 -0
  163. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_constraint_d.h +73 -0
  164. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_control.h +250 -0
  165. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_conversion.h +75 -0
  166. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_conversion_d.h +38 -0
  167. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_database.h +121 -0
  168. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_database_d.h +51 -0
  169. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_db_role_setting.h +61 -0
  170. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_db_role_setting_d.h +33 -0
  171. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_default_acl.h +73 -0
  172. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_default_acl_d.h +47 -0
  173. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_depend.h +77 -0
  174. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_depend_d.h +36 -0
  175. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_description.h +73 -0
  176. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_description_d.h +32 -0
  177. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_enum.h +66 -0
  178. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_enum_d.h +34 -0
  179. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_event_trigger.h +57 -0
  180. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_event_trigger_d.h +36 -0
  181. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_extension.h +59 -0
  182. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_extension_d.h +37 -0
  183. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_data_wrapper.h +58 -0
  184. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_data_wrapper_d.h +36 -0
  185. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_server.h +55 -0
  186. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_server_d.h +37 -0
  187. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_table.h +49 -0
  188. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_foreign_table_d.h +31 -0
  189. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_index.h +93 -0
  190. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_index_d.h +62 -0
  191. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_inherits.h +66 -0
  192. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_inherits_d.h +33 -0
  193. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_init_privs.h +83 -0
  194. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_init_privs_d.h +33 -0
  195. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_language.h +72 -0
  196. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_language_d.h +41 -0
  197. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject.h +53 -0
  198. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject_d.h +31 -0
  199. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject_metadata.h +51 -0
  200. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_largeobject_metadata_d.h +31 -0
  201. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_namespace.h +64 -0
  202. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_namespace_d.h +36 -0
  203. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opclass.h +88 -0
  204. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opclass_d.h +65 -0
  205. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_operator.h +107 -0
  206. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_operator_d.h +142 -0
  207. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opfamily.h +63 -0
  208. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_opfamily_d.h +59 -0
  209. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_parameter_acl.h +60 -0
  210. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_parameter_acl_d.h +34 -0
  211. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_partitioned_table.h +74 -0
  212. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_partitioned_table_d.h +36 -0
  213. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_policy.h +58 -0
  214. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_policy_d.h +37 -0
  215. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_proc.h +220 -0
  216. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_proc_d.h +101 -0
  217. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication.h +168 -0
  218. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_d.h +38 -0
  219. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_namespace.h +47 -0
  220. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_namespace_d.h +32 -0
  221. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_rel.h +54 -0
  222. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_publication_rel_d.h +35 -0
  223. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_range.h +72 -0
  224. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_range_d.h +36 -0
  225. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_replication_origin.h +62 -0
  226. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_replication_origin_d.h +33 -0
  227. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_rewrite.h +59 -0
  228. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_rewrite_d.h +37 -0
  229. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_seclabel.h +45 -0
  230. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_seclabel_d.h +33 -0
  231. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_sequence.h +44 -0
  232. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_sequence_d.h +36 -0
  233. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdepend.h +78 -0
  234. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdepend_d.h +36 -0
  235. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdescription.h +65 -0
  236. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shdescription_d.h +33 -0
  237. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shseclabel.h +46 -0
  238. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_shseclabel_d.h +35 -0
  239. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic.h +282 -0
  240. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_d.h +195 -0
  241. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext.h +88 -0
  242. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext_d.h +45 -0
  243. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext_data.h +60 -0
  244. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_statistic_ext_data_d.h +34 -0
  245. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription.h +131 -0
  246. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription_d.h +46 -0
  247. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription_rel.h +94 -0
  248. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_subscription_rel_d.h +51 -0
  249. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_tablespace.h +55 -0
  250. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_tablespace_d.h +38 -0
  251. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_transform.h +48 -0
  252. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_transform_d.h +34 -0
  253. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_trigger.h +153 -0
  254. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_trigger_d.h +109 -0
  255. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config.h +53 -0
  256. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config_d.h +34 -0
  257. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config_map.h +49 -0
  258. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_config_map_d.h +32 -0
  259. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_dict.h +59 -0
  260. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_dict_d.h +35 -0
  261. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_parser.h +60 -0
  262. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_parser_d.h +37 -0
  263. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_template.h +51 -0
  264. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_ts_template_d.h +34 -0
  265. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_type.h +411 -0
  266. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_type_d.h +324 -0
  267. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_user_mapping.h +55 -0
  268. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_user_mapping_d.h +33 -0
  269. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_catalog_version.h +53 -0
  270. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_catalog_version_d.h +32 -0
  271. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_invalidation_messages.h +55 -0
  272. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_invalidation_messages_d.h +33 -0
  273. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_logical_client_version.h +46 -0
  274. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_logical_client_version_d.h +31 -0
  275. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_migration.h +58 -0
  276. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_migration_d.h +32 -0
  277. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_profile.h +47 -0
  278. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_profile_d.h +34 -0
  279. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_role_profile.h +58 -0
  280. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_role_profile_d.h +35 -0
  281. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_tablegroup.h +50 -0
  282. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/pg_yb_tablegroup_d.h +35 -0
  283. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/schemapg.h +276 -0
  284. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/storage.h +50 -0
  285. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/storage_xlog.h +59 -0
  286. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/system_fk_info.h +253 -0
  287. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/toasting.h +30 -0
  288. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_catalog_version.h +65 -0
  289. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_logical_client_version.h +40 -0
  290. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_oid_assignment.h +39 -0
  291. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/catalog/yb_type.h +68 -0
  292. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/alter.h +35 -0
  293. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/async.h +62 -0
  294. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/cluster.h +55 -0
  295. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/collationcmds.h +25 -0
  296. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/comment.h +45 -0
  297. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/conversioncmds.h +23 -0
  298. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/copy.h +120 -0
  299. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/copyfrom_internal.h +176 -0
  300. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/createas.h +34 -0
  301. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/dbcommands.h +36 -0
  302. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/dbcommands_xlog.h +60 -0
  303. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/defrem.h +169 -0
  304. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/discard.h +20 -0
  305. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/event_trigger.h +96 -0
  306. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/explain.h +159 -0
  307. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/extension.h +55 -0
  308. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/lockcmds.h +24 -0
  309. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/matview.h +34 -0
  310. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/policy.h +41 -0
  311. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/portalcmds.h +34 -0
  312. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/prepare.h +62 -0
  313. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/proclang.h +23 -0
  314. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/progress.h +173 -0
  315. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/publicationcmds.h +39 -0
  316. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/schemacmds.h +29 -0
  317. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/seclabel.h +34 -0
  318. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/sequence.h +70 -0
  319. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/subscriptioncmds.h +29 -0
  320. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/tablecmds.h +108 -0
  321. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/tablespace.h +82 -0
  322. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/trigger.h +323 -0
  323. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/typecmds.h +61 -0
  324. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/user.h +37 -0
  325. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/vacuum.h +340 -0
  326. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/variable.h +50 -0
  327. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/view.h +25 -0
  328. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/yb_cmds.h +168 -0
  329. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/yb_profile.h +51 -0
  330. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/commands/yb_tablegroup.h +45 -0
  331. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/archive.h +21 -0
  332. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/base64.h +19 -0
  333. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/checksum_helper.h +72 -0
  334. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/compression.h +45 -0
  335. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/config_info.h +21 -0
  336. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/connect.h +28 -0
  337. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/controldata_utils.h +19 -0
  338. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/cryptohash.h +39 -0
  339. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/fe_memutils.h +73 -0
  340. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/file_perm.h +56 -0
  341. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/file_utils.h +40 -0
  342. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/hashfn.h +104 -0
  343. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/hmac.h +30 -0
  344. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/int.h +441 -0
  345. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/int128.h +276 -0
  346. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/ip.h +31 -0
  347. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/jsonapi.h +169 -0
  348. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/keywords.h +29 -0
  349. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/kwlookup.h +44 -0
  350. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/link-canary.h +17 -0
  351. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/logging.h +158 -0
  352. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/md5.h +37 -0
  353. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/openssl.h +49 -0
  354. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_lzcompress.h +93 -0
  355. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_prng.h +60 -0
  356. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_yb_common.h +160 -0
  357. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/pg_yb_param_status_flags.h +33 -0
  358. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/relpath.h +90 -0
  359. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/restricted_token.h +24 -0
  360. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/saslprep.h +30 -0
  361. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/scram-common.h +62 -0
  362. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/sha1.h +21 -0
  363. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/sha2.h +32 -0
  364. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/shortest_dec.h +63 -0
  365. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/string.h +42 -0
  366. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_combining_table.h +308 -0
  367. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_east_asian_fw_table.h +125 -0
  368. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_norm.h +39 -0
  369. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_norm_hashfunc.h +2956 -0
  370. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_norm_table.h +9042 -0
  371. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/unicode_normprops_table.h +7849 -0
  372. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/common/username.h +15 -0
  373. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/datatype/timestamp.h +236 -0
  374. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execAsync.h +25 -0
  375. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execExpr.h +792 -0
  376. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execParallel.h +51 -0
  377. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execPartition.h +134 -0
  378. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execdebug.h +130 -0
  379. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/execdesc.h +77 -0
  380. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/executor.h +718 -0
  381. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/functions.h +61 -0
  382. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/hashjoin.h +363 -0
  383. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/instrument.h +154 -0
  384. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeAgg.h +333 -0
  385. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeAppend.h +30 -0
  386. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapAnd.h +24 -0
  387. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapHeapscan.h +32 -0
  388. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapIndexscan.h +24 -0
  389. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeBitmapOr.h +24 -0
  390. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeCtescan.h +23 -0
  391. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeCustom.h +42 -0
  392. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeForeignscan.h +44 -0
  393. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeFunctionscan.h +23 -0
  394. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeGather.h +24 -0
  395. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeGatherMerge.h +26 -0
  396. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeGroup.h +23 -0
  397. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeHash.h +79 -0
  398. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeHashjoin.h +34 -0
  399. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeIncrementalSort.h +28 -0
  400. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeIndexonlyscan.h +36 -0
  401. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeIndexscan.h +47 -0
  402. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeLimit.h +23 -0
  403. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeLockRows.h +26 -0
  404. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMaterial.h +25 -0
  405. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMemoize.h +32 -0
  406. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMergeAppend.h +23 -0
  407. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeMergejoin.h +23 -0
  408. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeModifyTable.h +33 -0
  409. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeNamedtuplestorescan.h +23 -0
  410. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeNestloop.h +23 -0
  411. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeProjectSet.h +23 -0
  412. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeRecursiveunion.h +23 -0
  413. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeResult.h +25 -0
  414. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSamplescan.h +23 -0
  415. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSeqscan.h +31 -0
  416. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSetOp.h +23 -0
  417. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSort.h +32 -0
  418. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSubplan.h +29 -0
  419. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeSubqueryscan.h +23 -0
  420. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeTableFuncscan.h +23 -0
  421. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeTidrangescan.h +24 -0
  422. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeTidscan.h +23 -0
  423. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeUnique.h +23 -0
  424. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeValuesscan.h +23 -0
  425. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeWindowAgg.h +23 -0
  426. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeWorktablescan.h +23 -0
  427. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbBatchedNestloop.h +33 -0
  428. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbBitmapIndexscan.h +24 -0
  429. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbBitmapTablescan.h +22 -0
  430. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/nodeYbSeqscan.h +45 -0
  431. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/spi.h +214 -0
  432. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/spi_priv.h +105 -0
  433. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tablefunc.h +67 -0
  434. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tqueue.h +32 -0
  435. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tstoreReceiver.h +31 -0
  436. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/tuptable.h +515 -0
  437. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybExpr.h +64 -0
  438. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybFunction.h +41 -0
  439. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybModifyTable.h +281 -0
  440. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/executor/ybOptimizeModifyTable.h +40 -0
  441. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/archive.h +21 -0
  442. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/cancel.h +32 -0
  443. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/conditional.h +102 -0
  444. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/connect_utils.h +48 -0
  445. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/mbprint.h +29 -0
  446. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/option_utils.h +26 -0
  447. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/parallel_slot.h +77 -0
  448. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/print.h +220 -0
  449. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/psqlscan.h +90 -0
  450. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/psqlscan_int.h +157 -0
  451. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/query_utils.h +26 -0
  452. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/recovery_gen.h +28 -0
  453. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/simple_list.h +70 -0
  454. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fe_utils/string_utils.h +69 -0
  455. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/fmgr.h +788 -0
  456. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/foreign/fdwapi.h +294 -0
  457. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/foreign/foreign.h +84 -0
  458. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/funcapi.h +409 -0
  459. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/getaddrinfo.h +162 -0
  460. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/getopt_long.h +36 -0
  461. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/SectionMemoryManager.h +226 -0
  462. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/jit.h +105 -0
  463. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/llvmjit.h +169 -0
  464. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/llvmjit_backport.h +25 -0
  465. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/jit/llvmjit_emit.h +336 -0
  466. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/binaryheap.h +54 -0
  467. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/bipartite_match.h +46 -0
  468. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/bloomfilter.h +27 -0
  469. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/dshash.h +112 -0
  470. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/hyperloglog.h +68 -0
  471. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/ilist.h +746 -0
  472. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/integerset.h +24 -0
  473. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/knapsack.h +16 -0
  474. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/pairingheap.h +102 -0
  475. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/qunique.h +67 -0
  476. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/rbtree.h +79 -0
  477. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/simplehash.h +1187 -0
  478. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/sort_template.h +441 -0
  479. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/lib/stringinfo.h +161 -0
  480. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/auth.h +31 -0
  481. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/be-fsstubs.h +32 -0
  482. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/be-gssapi-common.h +30 -0
  483. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/crypt.h +53 -0
  484. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/hba.h +191 -0
  485. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/ifaddr.h +30 -0
  486. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/libpq-be.h +365 -0
  487. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/libpq-fs.h +24 -0
  488. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/libpq.h +147 -0
  489. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqcomm.h +194 -0
  490. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqformat.h +210 -0
  491. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqmq.h +24 -0
  492. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/pqsignal.h +42 -0
  493. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/sasl.h +136 -0
  494. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/scram.h +30 -0
  495. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/libpq/yb_pqcomm_extensions.h +24 -0
  496. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/mb/pg_wchar.h +703 -0
  497. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/mb/stringinfo_mb.h +24 -0
  498. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/miscadmin.h +558 -0
  499. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/bitmapset.h +122 -0
  500. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/execnodes.h +3130 -0
  501. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/extensible.h +162 -0
  502. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/lockoptions.h +61 -0
  503. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/makefuncs.h +109 -0
  504. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/memnodes.h +113 -0
  505. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/nodeFuncs.h +165 -0
  506. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/nodes.h +897 -0
  507. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/params.h +170 -0
  508. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/parsenodes.h +3955 -0
  509. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/pathnodes.h +2984 -0
  510. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/pg_list.h +621 -0
  511. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/plannodes.h +1681 -0
  512. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/primnodes.h +1608 -0
  513. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/print.h +34 -0
  514. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/readfuncs.h +40 -0
  515. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/replnodes.h +111 -0
  516. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/subscripting.h +167 -0
  517. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/supportnodes.h +302 -0
  518. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/tidbitmap.h +84 -0
  519. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/value.h +80 -0
  520. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/ybbitmatrix.h +54 -0
  521. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/nodes/ybtidbitmap.h +89 -0
  522. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/appendinfo.h +50 -0
  523. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/clauses.h +62 -0
  524. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/cost.h +309 -0
  525. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo.h +90 -0
  526. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_copy.h +30 -0
  527. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_gene.h +45 -0
  528. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_misc.h +34 -0
  529. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_mutation.h +30 -0
  530. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_pool.h +40 -0
  531. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_random.h +40 -0
  532. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_recombination.h +89 -0
  533. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/geqo_selection.h +33 -0
  534. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/inherit.h +29 -0
  535. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/joininfo.h +30 -0
  536. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/optimizer.h +206 -0
  537. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/orclauses.h +21 -0
  538. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/paramassign.h +34 -0
  539. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/pathnode.h +359 -0
  540. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/paths.h +292 -0
  541. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/placeholder.h +32 -0
  542. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/plancat.h +82 -0
  543. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/planmain.h +136 -0
  544. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/planner.h +70 -0
  545. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/prep.h +57 -0
  546. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/restrictinfo.h +62 -0
  547. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/subselect.h +40 -0
  548. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/tlist.h +56 -0
  549. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/yb_merge_scan.h +52 -0
  550. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/optimizer/ybplan.h +59 -0
  551. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/analyze.h +64 -0
  552. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/gramparse.h +75 -0
  553. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/kwlist.h +502 -0
  554. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_agg.h +63 -0
  555. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_clause.h +54 -0
  556. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_coerce.h +103 -0
  557. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_collate.h +27 -0
  558. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_cte.h +24 -0
  559. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_enr.h +22 -0
  560. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_expr.h +25 -0
  561. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_func.h +74 -0
  562. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_merge.h +21 -0
  563. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_node.h +339 -0
  564. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_oper.h +65 -0
  565. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_param.h +25 -0
  566. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_relation.h +124 -0
  567. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_target.h +58 -0
  568. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_type.h +60 -0
  569. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parse_utilcmd.h +57 -0
  570. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parser.h +68 -0
  571. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/parsetree.h +61 -0
  572. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/scanner.h +150 -0
  573. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/parser/scansup.h +27 -0
  574. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partbounds.h +146 -0
  575. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partdefs.h +26 -0
  576. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partdesc.h +53 -0
  577. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/partitioning/partprune.h +85 -0
  578. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_config_manual.h +410 -0
  579. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_getopt.h +56 -0
  580. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_trace.h +17 -0
  581. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pg_yb_utils.h +1645 -0
  582. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pgstat.h +900 -0
  583. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pgtar.h +45 -0
  584. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/pgtime.h +94 -0
  585. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/aix.h +14 -0
  586. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-arm.h +32 -0
  587. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-hppa.h +17 -0
  588. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-ia64.h +29 -0
  589. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-ppc.h +254 -0
  590. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/arch-x86.h +252 -0
  591. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/fallback.h +170 -0
  592. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-acc.h +106 -0
  593. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-gcc.h +286 -0
  594. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-msvc.h +101 -0
  595. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic-sunpro.h +106 -0
  596. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics/generic.h +401 -0
  597. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/atomics.h +524 -0
  598. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/cygwin.h +23 -0
  599. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/darwin.h +8 -0
  600. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/freebsd.h +10 -0
  601. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/hpux.h +3 -0
  602. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/linux.h +22 -0
  603. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/netbsd.h +1 -0
  604. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/openbsd.h +1 -0
  605. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_bitutils.h +302 -0
  606. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_bswap.h +161 -0
  607. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_crc32c.h +101 -0
  608. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_iovec.h +54 -0
  609. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/pg_pthread.h +41 -0
  610. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/solaris.h +26 -0
  611. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/arpa/inet.h +3 -0
  612. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/dlfcn.h +1 -0
  613. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/grp.h +1 -0
  614. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/netdb.h +1 -0
  615. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/netinet/in.h +3 -0
  616. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/pwd.h +3 -0
  617. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/sys/socket.h +33 -0
  618. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32/sys/wait.h +3 -0
  619. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32.h +81 -0
  620. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/dirent.h +34 -0
  621. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/sys/file.h +1 -0
  622. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/sys/param.h +1 -0
  623. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/sys/time.h +1 -0
  624. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/unistd.h +9 -0
  625. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_msvc/utime.h +3 -0
  626. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32_port.h +572 -0
  627. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port/win32ntdll.h +32 -0
  628. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/port.h +589 -0
  629. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/portability/instr_time.h +256 -0
  630. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/portability/mem.h +48 -0
  631. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postgres.h +819 -0
  632. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postgres_ext.h +74 -0
  633. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postgres_fe.h +29 -0
  634. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/autovacuum.h +83 -0
  635. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/auxprocess.h +20 -0
  636. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/bgworker.h +176 -0
  637. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/bgworker_internals.h +64 -0
  638. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/bgwriter.h +45 -0
  639. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/fork_process.h +17 -0
  640. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/interrupt.h +32 -0
  641. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/pgarch.h +73 -0
  642. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/postmaster.h +86 -0
  643. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/startup.h +41 -0
  644. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/syslogger.h +103 -0
  645. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/postmaster/walwriter.h +21 -0
  646. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regcustom.h +104 -0
  647. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regerrs.h +87 -0
  648. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regex.h +269 -0
  649. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regexport.h +61 -0
  650. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/regex/regguts.h +552 -0
  651. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/decode.h +34 -0
  652. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logical.h +178 -0
  653. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicallauncher.h +29 -0
  654. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicalproto.h +256 -0
  655. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicalrelation.h +50 -0
  656. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/logicalworker.h +19 -0
  657. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/message.h +41 -0
  658. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/origin.h +73 -0
  659. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/output_plugin.h +271 -0
  660. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/pgoutput.h +34 -0
  661. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/reorderbuffer.h +706 -0
  662. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/slot.h +290 -0
  663. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/snapbuild.h +101 -0
  664. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/syncrep.h +118 -0
  665. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/walreceiver.h +472 -0
  666. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/walsender.h +92 -0
  667. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/walsender_private.h +131 -0
  668. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/worker_internal.h +112 -0
  669. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/yb_decode.h +33 -0
  670. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/yb_virtual_wal_client.h +46 -0
  671. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/replication/yb_virtual_wal_client_typedefs.h +31 -0
  672. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/prs2lock.h +46 -0
  673. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteDefine.h +44 -0
  674. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteHandler.h +35 -0
  675. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteManip.h +87 -0
  676. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteRemove.h +21 -0
  677. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteSearchCycle.h +21 -0
  678. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rewriteSupport.h +26 -0
  679. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rewrite/rowsecurity.h +49 -0
  680. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/rusagestub.h +34 -0
  681. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/header.h +67 -0
  682. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/api.h +32 -0
  683. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/header.h +61 -0
  684. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_basque.h +15 -0
  685. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_catalan.h +15 -0
  686. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h +15 -0
  687. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h +15 -0
  688. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_english.h +15 -0
  689. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h +15 -0
  690. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_french.h +15 -0
  691. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_german.h +15 -0
  692. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h +15 -0
  693. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h +15 -0
  694. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h +15 -0
  695. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h +15 -0
  696. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h +15 -0
  697. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h +15 -0
  698. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h +15 -0
  699. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h +15 -0
  700. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h +15 -0
  701. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h +15 -0
  702. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_KOI8_R_russian.h +15 -0
  703. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_arabic.h +15 -0
  704. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_armenian.h +15 -0
  705. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_basque.h +15 -0
  706. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_catalan.h +15 -0
  707. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_danish.h +15 -0
  708. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_dutch.h +15 -0
  709. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_english.h +15 -0
  710. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_finnish.h +15 -0
  711. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_french.h +15 -0
  712. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_german.h +15 -0
  713. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_greek.h +15 -0
  714. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_hindi.h +15 -0
  715. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_hungarian.h +15 -0
  716. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_indonesian.h +15 -0
  717. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_irish.h +15 -0
  718. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_italian.h +15 -0
  719. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h +15 -0
  720. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_nepali.h +15 -0
  721. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_norwegian.h +15 -0
  722. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_porter.h +15 -0
  723. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_portuguese.h +15 -0
  724. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_romanian.h +15 -0
  725. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_russian.h +15 -0
  726. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_serbian.h +15 -0
  727. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_spanish.h +15 -0
  728. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_swedish.h +15 -0
  729. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_tamil.h +15 -0
  730. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_turkish.h +15 -0
  731. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/snowball/libstemmer/stem_UTF_8_yiddish.h +15 -0
  732. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/statistics/extended_stats_internal.h +130 -0
  733. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/statistics/stat_utils.h +41 -0
  734. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/statistics/statistics.h +130 -0
  735. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/backendid.h +37 -0
  736. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/barrier.h +46 -0
  737. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/block.h +115 -0
  738. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/buf.h +46 -0
  739. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/buf_internals.h +345 -0
  740. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/buffile.h +57 -0
  741. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/bufmgr.h +297 -0
  742. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/bufpage.h +457 -0
  743. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/checksum.h +24 -0
  744. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/checksum_impl.h +215 -0
  745. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/condition_variable.h +86 -0
  746. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/copydir.h +19 -0
  747. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/dsm.h +64 -0
  748. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/dsm_impl.h +76 -0
  749. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/fd.h +198 -0
  750. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/fileset.h +40 -0
  751. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/freespace.h +39 -0
  752. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/fsm_internals.h +72 -0
  753. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/indexfsm.h +26 -0
  754. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/ipc.h +87 -0
  755. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/item.h +19 -0
  756. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/itemid.h +184 -0
  757. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/itemptr.h +208 -0
  758. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/large_object.h +100 -0
  759. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/latch.h +189 -0
  760. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lmgr.h +119 -0
  761. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lock.h +621 -0
  762. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lockdefs.h +61 -0
  763. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lwlock.h +220 -0
  764. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/lwlocknames.h +50 -0
  765. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/md.h +52 -0
  766. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/off.h +57 -0
  767. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/pg_sema.h +61 -0
  768. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/pg_shmem.h +95 -0
  769. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/pmsignal.h +105 -0
  770. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/predicate.h +87 -0
  771. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/predicate_internals.h +494 -0
  772. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/proc.h +530 -0
  773. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/procarray.h +101 -0
  774. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/proclist.h +219 -0
  775. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/proclist_types.h +51 -0
  776. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/procsignal.h +81 -0
  777. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/reinit.h +28 -0
  778. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/relfilenode.h +99 -0
  779. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/s_lock.h +1110 -0
  780. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sharedfileset.h +37 -0
  781. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/shm_mq.h +86 -0
  782. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/shm_toc.h +58 -0
  783. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/shmem.h +81 -0
  784. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sinval.h +219 -0
  785. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sinvaladt.h +48 -0
  786. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/smgr.h +114 -0
  787. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/spin.h +96 -0
  788. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/standby.h +106 -0
  789. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/standbydefs.h +74 -0
  790. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/storage/sync.h +66 -0
  791. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/cmdtag.h +58 -0
  792. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/cmdtaglist.h +225 -0
  793. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/deparse_utility.h +108 -0
  794. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/dest.h +149 -0
  795. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/fastpath.h +20 -0
  796. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/pquery.h +60 -0
  797. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/tcopprot.h +108 -0
  798. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tcop/utility.h +112 -0
  799. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/dicts/regis.h +49 -0
  800. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/dicts/spell.h +247 -0
  801. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_cache.h +98 -0
  802. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_locale.h +63 -0
  803. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_public.h +159 -0
  804. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_type.h +242 -0
  805. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/tsearch/ts_utils.h +266 -0
  806. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/acl.h +340 -0
  807. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/aclchk_internal.h +45 -0
  808. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/array.h +472 -0
  809. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/arrayaccess.h +118 -0
  810. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/ascii.h +68 -0
  811. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/attoptcache.h +28 -0
  812. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/backend_progress.h +44 -0
  813. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/backend_status.h +379 -0
  814. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/builtins.h +130 -0
  815. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/bytea.h +28 -0
  816. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/cash.h +25 -0
  817. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/catcache.h +268 -0
  818. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/combocid.h +28 -0
  819. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/date.h +90 -0
  820. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/datetime.h +344 -0
  821. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/datum.h +76 -0
  822. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/dsa.h +123 -0
  823. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/dynahash.h +20 -0
  824. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/elog.h +517 -0
  825. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/errcodes.h +363 -0
  826. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/evtcache.h +37 -0
  827. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/expandeddatum.h +159 -0
  828. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/expandedrecord.h +231 -0
  829. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/float.h +356 -0
  830. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/fmgroids.h +3337 -0
  831. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/fmgrprotos.h +2900 -0
  832. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/fmgrtab.h +53 -0
  833. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/formatting.h +35 -0
  834. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/freepage.h +99 -0
  835. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/geo_decls.h +221 -0
  836. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/guc.h +517 -0
  837. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/guc_tables.h +312 -0
  838. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/help_config.h +17 -0
  839. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/hsearch.h +153 -0
  840. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/index_selfuncs.h +74 -0
  841. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/inet.h +149 -0
  842. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/inval.h +74 -0
  843. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/json.h +24 -0
  844. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/jsonb.h +415 -0
  845. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/jsonfuncs.h +66 -0
  846. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/jsonpath.h +251 -0
  847. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/logtape.h +77 -0
  848. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/lsyscache.h +211 -0
  849. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/memdebug.h +82 -0
  850. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/memutils.h +306 -0
  851. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/multirangetypes.h +135 -0
  852. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/numeric.h +99 -0
  853. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/old_snapshot.h +75 -0
  854. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/palloc.h +222 -0
  855. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/partcache.h +105 -0
  856. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_crc.h +107 -0
  857. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_locale.h +129 -0
  858. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_lsn.h +29 -0
  859. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pg_rusage.h +37 -0
  860. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pgstat_internal.h +803 -0
  861. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/pidfile.h +56 -0
  862. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/plancache.h +259 -0
  863. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/portal.h +252 -0
  864. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/ps_status.h +25 -0
  865. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/queryenvironment.h +74 -0
  866. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/queryjumble.h +88 -0
  867. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/rangetypes.h +151 -0
  868. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/regproc.h +39 -0
  869. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/rel.h +760 -0
  870. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relcache.h +180 -0
  871. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relfilenodemap.h +18 -0
  872. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relmapper.h +72 -0
  873. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/relptr.h +93 -0
  874. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/reltrigger.h +81 -0
  875. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/resowner.h +86 -0
  876. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/resowner_private.h +123 -0
  877. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/rls.h +50 -0
  878. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/ruleutils.h +59 -0
  879. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/sampling.h +64 -0
  880. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/selfuncs.h +250 -0
  881. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/sharedtuplestore.h +61 -0
  882. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/snapmgr.h +189 -0
  883. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/snapshot.h +231 -0
  884. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/sortsupport.h +391 -0
  885. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/spccache.h +24 -0
  886. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/syscache.h +319 -0
  887. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/timeout.h +95 -0
  888. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/timestamp.h +120 -0
  889. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/tuplesort.h +291 -0
  890. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/tuplestore.h +91 -0
  891. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/typcache.h +209 -0
  892. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/tzparser.h +39 -0
  893. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/uuid.h +31 -0
  894. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/varbit.h +74 -0
  895. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/varlena.h +41 -0
  896. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/wait_event.h +351 -0
  897. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/xid8.h +22 -0
  898. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/xml.h +84 -0
  899. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_inheritscache.h +49 -0
  900. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_jumblefuncs.h +35 -0
  901. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_like_support.h +37 -0
  902. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_queryjumble.h +73 -0
  903. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_rowtypes.h +24 -0
  904. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/utils/yb_tuplecache.h +66 -0
  905. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/windowapi.h +64 -0
  906. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_ash.h +92 -0
  907. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_file_utils.h +38 -0
  908. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_overflow_utils.h +110 -0
  909. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_qpm.h +45 -0
  910. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_query_diagnostics.h +237 -0
  911. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_tcmalloc_utils.h +41 -0
  912. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_terminated_queries.h +35 -0
  913. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/yb_ysql_conn_mgr_helper.h +154 -0
  914. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybctid.h +55 -0
  915. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_api-test.h +78 -0
  916. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_api.h +283 -0
  917. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_cpp_util.h +78 -0
  918. data/ext/yb_ddl_parser/vendor/yugabyte-postgres/src/include/ybgate/ybgate_status.h +136 -0
  919. data/ext/yb_ddl_parser/yb_ddl_parser_ext.c +1740 -0
  920. data/ext/yb_ddl_parser/yb_parser_stubs.c +459 -0
  921. data/lib/yb_ddl_parser/ast.rb +276 -0
  922. data/lib/yb_ddl_parser/version.rb +6 -0
  923. data/lib/yb_ddl_parser.rb +32 -0
  924. data/test/test_helper.rb +5 -0
  925. data/test/yb_ddl_parser_test.rb +353 -0
  926. 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 */