embedded-postgres 18.6.0__py3-none-win_amd64.whl

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 (1378) hide show
  1. embedded_postgres/__init__.py +2 -0
  2. embedded_postgres/_commands.py +71 -0
  3. embedded_postgres/pginstall/bin/clusterdb.exe +0 -0
  4. embedded_postgres/pginstall/bin/createdb.exe +0 -0
  5. embedded_postgres/pginstall/bin/createuser.exe +0 -0
  6. embedded_postgres/pginstall/bin/dropdb.exe +0 -0
  7. embedded_postgres/pginstall/bin/dropuser.exe +0 -0
  8. embedded_postgres/pginstall/bin/ecpg.exe +0 -0
  9. embedded_postgres/pginstall/bin/initdb.exe +0 -0
  10. embedded_postgres/pginstall/bin/libecpg.dll +0 -0
  11. embedded_postgres/pginstall/bin/libecpg_compat.dll +0 -0
  12. embedded_postgres/pginstall/bin/libpgtypes.dll +0 -0
  13. embedded_postgres/pginstall/bin/libpq.dll +0 -0
  14. embedded_postgres/pginstall/bin/oid2name.exe +0 -0
  15. embedded_postgres/pginstall/bin/pg_amcheck.exe +0 -0
  16. embedded_postgres/pginstall/bin/pg_archivecleanup.exe +0 -0
  17. embedded_postgres/pginstall/bin/pg_basebackup.exe +0 -0
  18. embedded_postgres/pginstall/bin/pg_checksums.exe +0 -0
  19. embedded_postgres/pginstall/bin/pg_combinebackup.exe +0 -0
  20. embedded_postgres/pginstall/bin/pg_config.exe +0 -0
  21. embedded_postgres/pginstall/bin/pg_controldata.exe +0 -0
  22. embedded_postgres/pginstall/bin/pg_createsubscriber.exe +0 -0
  23. embedded_postgres/pginstall/bin/pg_ctl.exe +0 -0
  24. embedded_postgres/pginstall/bin/pg_dump.exe +0 -0
  25. embedded_postgres/pginstall/bin/pg_dumpall.exe +0 -0
  26. embedded_postgres/pginstall/bin/pg_isready.exe +0 -0
  27. embedded_postgres/pginstall/bin/pg_receivewal.exe +0 -0
  28. embedded_postgres/pginstall/bin/pg_recvlogical.exe +0 -0
  29. embedded_postgres/pginstall/bin/pg_resetwal.exe +0 -0
  30. embedded_postgres/pginstall/bin/pg_restore.exe +0 -0
  31. embedded_postgres/pginstall/bin/pg_rewind.exe +0 -0
  32. embedded_postgres/pginstall/bin/pg_test_fsync.exe +0 -0
  33. embedded_postgres/pginstall/bin/pg_test_timing.exe +0 -0
  34. embedded_postgres/pginstall/bin/pg_upgrade.exe +0 -0
  35. embedded_postgres/pginstall/bin/pg_verifybackup.exe +0 -0
  36. embedded_postgres/pginstall/bin/pg_waldump.exe +0 -0
  37. embedded_postgres/pginstall/bin/pg_walsummary.exe +0 -0
  38. embedded_postgres/pginstall/bin/pgbench.exe +0 -0
  39. embedded_postgres/pginstall/bin/postgres.exe +0 -0
  40. embedded_postgres/pginstall/bin/psql.exe +0 -0
  41. embedded_postgres/pginstall/bin/reindexdb.exe +0 -0
  42. embedded_postgres/pginstall/bin/vacuumdb.exe +0 -0
  43. embedded_postgres/pginstall/bin/vacuumlo.exe +0 -0
  44. embedded_postgres/pginstall/include/ecpg_config.h +9 -0
  45. embedded_postgres/pginstall/include/ecpg_informix.h +90 -0
  46. embedded_postgres/pginstall/include/ecpgerrno.h +80 -0
  47. embedded_postgres/pginstall/include/ecpglib.h +79 -0
  48. embedded_postgres/pginstall/include/ecpgtype.h +109 -0
  49. embedded_postgres/pginstall/include/informix/esql/datetime.h +14 -0
  50. embedded_postgres/pginstall/include/informix/esql/decimal.h +13 -0
  51. embedded_postgres/pginstall/include/informix/esql/sqltypes.h +59 -0
  52. embedded_postgres/pginstall/include/internal/c.h +1364 -0
  53. embedded_postgres/pginstall/include/internal/fe-auth-sasl.h +153 -0
  54. embedded_postgres/pginstall/include/internal/libpq/pqcomm.h +175 -0
  55. embedded_postgres/pginstall/include/internal/libpq/protocol.h +89 -0
  56. embedded_postgres/pginstall/include/internal/libpq-int.h +980 -0
  57. embedded_postgres/pginstall/include/internal/port.h +565 -0
  58. embedded_postgres/pginstall/include/internal/postgres_fe.h +34 -0
  59. embedded_postgres/pginstall/include/internal/pqexpbuffer.h +192 -0
  60. embedded_postgres/pginstall/include/libpq/libpq-fs.h +24 -0
  61. embedded_postgres/pginstall/include/libpq-events.h +94 -0
  62. embedded_postgres/pginstall/include/libpq-fe.h +837 -0
  63. embedded_postgres/pginstall/include/pg_config.h +824 -0
  64. embedded_postgres/pginstall/include/pg_config_manual.h +363 -0
  65. embedded_postgres/pginstall/include/pg_config_os.h +59 -0
  66. embedded_postgres/pginstall/include/pgtypes.h +17 -0
  67. embedded_postgres/pginstall/include/pgtypes_date.h +32 -0
  68. embedded_postgres/pginstall/include/pgtypes_error.h +18 -0
  69. embedded_postgres/pginstall/include/pgtypes_interval.h +40 -0
  70. embedded_postgres/pginstall/include/pgtypes_numeric.h +69 -0
  71. embedded_postgres/pginstall/include/pgtypes_timestamp.h +31 -0
  72. embedded_postgres/pginstall/include/postgres_ext.h +74 -0
  73. embedded_postgres/pginstall/include/server/access/amapi.h +332 -0
  74. embedded_postgres/pginstall/include/server/access/amvalidate.h +40 -0
  75. embedded_postgres/pginstall/include/server/access/attmap.h +54 -0
  76. embedded_postgres/pginstall/include/server/access/attnum.h +64 -0
  77. embedded_postgres/pginstall/include/server/access/brin.h +58 -0
  78. embedded_postgres/pginstall/include/server/access/brin_internal.h +116 -0
  79. embedded_postgres/pginstall/include/server/access/brin_page.h +96 -0
  80. embedded_postgres/pginstall/include/server/access/brin_pageops.h +38 -0
  81. embedded_postgres/pginstall/include/server/access/brin_revmap.h +41 -0
  82. embedded_postgres/pginstall/include/server/access/brin_tuple.h +112 -0
  83. embedded_postgres/pginstall/include/server/access/brin_xlog.h +151 -0
  84. embedded_postgres/pginstall/include/server/access/bufmask.h +32 -0
  85. embedded_postgres/pginstall/include/server/access/clog.h +62 -0
  86. embedded_postgres/pginstall/include/server/access/cmptype.h +44 -0
  87. embedded_postgres/pginstall/include/server/access/commit_ts.h +73 -0
  88. embedded_postgres/pginstall/include/server/access/detoast.h +82 -0
  89. embedded_postgres/pginstall/include/server/access/genam.h +278 -0
  90. embedded_postgres/pginstall/include/server/access/generic_xlog.h +45 -0
  91. embedded_postgres/pginstall/include/server/access/gin.h +106 -0
  92. embedded_postgres/pginstall/include/server/access/gin_private.h +506 -0
  93. embedded_postgres/pginstall/include/server/access/gin_tuple.h +44 -0
  94. embedded_postgres/pginstall/include/server/access/ginblock.h +346 -0
  95. embedded_postgres/pginstall/include/server/access/ginxlog.h +216 -0
  96. embedded_postgres/pginstall/include/server/access/gist.h +253 -0
  97. embedded_postgres/pginstall/include/server/access/gist_private.h +571 -0
  98. embedded_postgres/pginstall/include/server/access/gistscan.h +24 -0
  99. embedded_postgres/pginstall/include/server/access/gistxlog.h +117 -0
  100. embedded_postgres/pginstall/include/server/access/hash.h +490 -0
  101. embedded_postgres/pginstall/include/server/access/hash_xlog.h +270 -0
  102. embedded_postgres/pginstall/include/server/access/heapam.h +455 -0
  103. embedded_postgres/pginstall/include/server/access/heapam_xlog.h +538 -0
  104. embedded_postgres/pginstall/include/server/access/heaptoast.h +149 -0
  105. embedded_postgres/pginstall/include/server/access/hio.h +62 -0
  106. embedded_postgres/pginstall/include/server/access/htup.h +89 -0
  107. embedded_postgres/pginstall/include/server/access/htup_details.h +923 -0
  108. embedded_postgres/pginstall/include/server/access/itup.h +186 -0
  109. embedded_postgres/pginstall/include/server/access/multixact.h +161 -0
  110. embedded_postgres/pginstall/include/server/access/nbtree.h +1367 -0
  111. embedded_postgres/pginstall/include/server/access/nbtxlog.h +367 -0
  112. embedded_postgres/pginstall/include/server/access/parallel.h +81 -0
  113. embedded_postgres/pginstall/include/server/access/printsimple.h +23 -0
  114. embedded_postgres/pginstall/include/server/access/printtup.h +35 -0
  115. embedded_postgres/pginstall/include/server/access/relation.h +28 -0
  116. embedded_postgres/pginstall/include/server/access/reloptions.h +260 -0
  117. embedded_postgres/pginstall/include/server/access/relscan.h +217 -0
  118. embedded_postgres/pginstall/include/server/access/rewriteheap.h +57 -0
  119. embedded_postgres/pginstall/include/server/access/rmgr.h +62 -0
  120. embedded_postgres/pginstall/include/server/access/rmgrdesc_utils.h +22 -0
  121. embedded_postgres/pginstall/include/server/access/rmgrlist.h +49 -0
  122. embedded_postgres/pginstall/include/server/access/sdir.h +67 -0
  123. embedded_postgres/pginstall/include/server/access/sequence.h +23 -0
  124. embedded_postgres/pginstall/include/server/access/session.h +44 -0
  125. embedded_postgres/pginstall/include/server/access/skey.h +151 -0
  126. embedded_postgres/pginstall/include/server/access/slru.h +218 -0
  127. embedded_postgres/pginstall/include/server/access/spgist.h +229 -0
  128. embedded_postgres/pginstall/include/server/access/spgist_private.h +549 -0
  129. embedded_postgres/pginstall/include/server/access/spgxlog.h +259 -0
  130. embedded_postgres/pginstall/include/server/access/stratnum.h +85 -0
  131. embedded_postgres/pginstall/include/server/access/subtrans.h +26 -0
  132. embedded_postgres/pginstall/include/server/access/syncscan.h +30 -0
  133. embedded_postgres/pginstall/include/server/access/sysattr.h +29 -0
  134. embedded_postgres/pginstall/include/server/access/table.h +28 -0
  135. embedded_postgres/pginstall/include/server/access/tableam.h +2060 -0
  136. embedded_postgres/pginstall/include/server/access/tidstore.h +54 -0
  137. embedded_postgres/pginstall/include/server/access/timeline.h +44 -0
  138. embedded_postgres/pginstall/include/server/access/toast_compression.h +73 -0
  139. embedded_postgres/pginstall/include/server/access/toast_helper.h +116 -0
  140. embedded_postgres/pginstall/include/server/access/toast_internals.h +63 -0
  141. embedded_postgres/pginstall/include/server/access/transam.h +418 -0
  142. embedded_postgres/pginstall/include/server/access/tsmapi.h +82 -0
  143. embedded_postgres/pginstall/include/server/access/tupconvert.h +54 -0
  144. embedded_postgres/pginstall/include/server/access/tupdesc.h +251 -0
  145. embedded_postgres/pginstall/include/server/access/tupdesc_details.h +28 -0
  146. embedded_postgres/pginstall/include/server/access/tupmacs.h +235 -0
  147. embedded_postgres/pginstall/include/server/access/twophase.h +70 -0
  148. embedded_postgres/pginstall/include/server/access/twophase_rmgr.h +40 -0
  149. embedded_postgres/pginstall/include/server/access/valid.h +58 -0
  150. embedded_postgres/pginstall/include/server/access/visibilitymap.h +48 -0
  151. embedded_postgres/pginstall/include/server/access/visibilitymapdefs.h +34 -0
  152. embedded_postgres/pginstall/include/server/access/xact.h +536 -0
  153. embedded_postgres/pginstall/include/server/access/xlog.h +317 -0
  154. embedded_postgres/pginstall/include/server/access/xlog_internal.h +405 -0
  155. embedded_postgres/pginstall/include/server/access/xlogarchive.h +35 -0
  156. embedded_postgres/pginstall/include/server/access/xlogbackup.h +43 -0
  157. embedded_postgres/pginstall/include/server/access/xlogdefs.h +83 -0
  158. embedded_postgres/pginstall/include/server/access/xloginsert.h +68 -0
  159. embedded_postgres/pginstall/include/server/access/xlogprefetcher.h +55 -0
  160. embedded_postgres/pginstall/include/server/access/xlogreader.h +444 -0
  161. embedded_postgres/pginstall/include/server/access/xlogrecord.h +248 -0
  162. embedded_postgres/pginstall/include/server/access/xlogrecovery.h +158 -0
  163. embedded_postgres/pginstall/include/server/access/xlogstats.h +43 -0
  164. embedded_postgres/pginstall/include/server/access/xlogutils.h +123 -0
  165. embedded_postgres/pginstall/include/server/archive/archive_module.h +67 -0
  166. embedded_postgres/pginstall/include/server/archive/shell_archive.h +24 -0
  167. embedded_postgres/pginstall/include/server/bootstrap/bootstrap.h +69 -0
  168. embedded_postgres/pginstall/include/server/c.h +1364 -0
  169. embedded_postgres/pginstall/include/server/catalog/binary_upgrade.h +38 -0
  170. embedded_postgres/pginstall/include/server/catalog/catalog.h +48 -0
  171. embedded_postgres/pginstall/include/server/catalog/catversion.h +62 -0
  172. embedded_postgres/pginstall/include/server/catalog/dependency.h +234 -0
  173. embedded_postgres/pginstall/include/server/catalog/genbki.h +149 -0
  174. embedded_postgres/pginstall/include/server/catalog/heap.h +168 -0
  175. embedded_postgres/pginstall/include/server/catalog/index.h +220 -0
  176. embedded_postgres/pginstall/include/server/catalog/indexing.h +54 -0
  177. embedded_postgres/pginstall/include/server/catalog/namespace.h +189 -0
  178. embedded_postgres/pginstall/include/server/catalog/objectaccess.h +267 -0
  179. embedded_postgres/pginstall/include/server/catalog/objectaddress.h +93 -0
  180. embedded_postgres/pginstall/include/server/catalog/partition.h +34 -0
  181. embedded_postgres/pginstall/include/server/catalog/pg_aggregate.h +182 -0
  182. embedded_postgres/pginstall/include/server/catalog/pg_aggregate_d.h +85 -0
  183. embedded_postgres/pginstall/include/server/catalog/pg_am.h +66 -0
  184. embedded_postgres/pginstall/include/server/catalog/pg_am_d.h +54 -0
  185. embedded_postgres/pginstall/include/server/catalog/pg_amop.h +105 -0
  186. embedded_postgres/pginstall/include/server/catalog/pg_amop_d.h +51 -0
  187. embedded_postgres/pginstall/include/server/catalog/pg_amproc.h +75 -0
  188. embedded_postgres/pginstall/include/server/catalog/pg_amproc_d.h +42 -0
  189. embedded_postgres/pginstall/include/server/catalog/pg_attrdef.h +69 -0
  190. embedded_postgres/pginstall/include/server/catalog/pg_attrdef_d.h +40 -0
  191. embedded_postgres/pginstall/include/server/catalog/pg_attribute.h +234 -0
  192. embedded_postgres/pginstall/include/server/catalog/pg_attribute_d.h +69 -0
  193. embedded_postgres/pginstall/include/server/catalog/pg_auth_members.h +56 -0
  194. embedded_postgres/pginstall/include/server/catalog/pg_auth_members_d.h +46 -0
  195. embedded_postgres/pginstall/include/server/catalog/pg_authid.h +64 -0
  196. embedded_postgres/pginstall/include/server/catalog/pg_authid_d.h +66 -0
  197. embedded_postgres/pginstall/include/server/catalog/pg_cast.h +106 -0
  198. embedded_postgres/pginstall/include/server/catalog/pg_cast_d.h +71 -0
  199. embedded_postgres/pginstall/include/server/catalog/pg_class.h +238 -0
  200. embedded_postgres/pginstall/include/server/catalog/pg_class_d.h +140 -0
  201. embedded_postgres/pginstall/include/server/catalog/pg_collation.h +106 -0
  202. embedded_postgres/pginstall/include/server/catalog/pg_collation_d.h +72 -0
  203. embedded_postgres/pginstall/include/server/catalog/pg_constraint.h +301 -0
  204. embedded_postgres/pginstall/include/server/catalog/pg_constraint_d.h +83 -0
  205. embedded_postgres/pginstall/include/server/catalog/pg_control.h +266 -0
  206. embedded_postgres/pginstall/include/server/catalog/pg_conversion.h +79 -0
  207. embedded_postgres/pginstall/include/server/catalog/pg_conversion_d.h +45 -0
  208. embedded_postgres/pginstall/include/server/catalog/pg_database.h +129 -0
  209. embedded_postgres/pginstall/include/server/catalog/pg_database_d.h +60 -0
  210. embedded_postgres/pginstall/include/server/catalog/pg_db_role_setting.h +61 -0
  211. embedded_postgres/pginstall/include/server/catalog/pg_db_role_setting_d.h +40 -0
  212. embedded_postgres/pginstall/include/server/catalog/pg_default_acl.h +75 -0
  213. embedded_postgres/pginstall/include/server/catalog/pg_default_acl_d.h +54 -0
  214. embedded_postgres/pginstall/include/server/catalog/pg_depend.h +77 -0
  215. embedded_postgres/pginstall/include/server/catalog/pg_depend_d.h +43 -0
  216. embedded_postgres/pginstall/include/server/catalog/pg_description.h +73 -0
  217. embedded_postgres/pginstall/include/server/catalog/pg_description_d.h +39 -0
  218. embedded_postgres/pginstall/include/server/catalog/pg_enum.h +69 -0
  219. embedded_postgres/pginstall/include/server/catalog/pg_enum_d.h +41 -0
  220. embedded_postgres/pginstall/include/server/catalog/pg_event_trigger.h +60 -0
  221. embedded_postgres/pginstall/include/server/catalog/pg_event_trigger_d.h +43 -0
  222. embedded_postgres/pginstall/include/server/catalog/pg_extension.h +62 -0
  223. embedded_postgres/pginstall/include/server/catalog/pg_extension_d.h +44 -0
  224. embedded_postgres/pginstall/include/server/catalog/pg_foreign_data_wrapper.h +61 -0
  225. embedded_postgres/pginstall/include/server/catalog/pg_foreign_data_wrapper_d.h +43 -0
  226. embedded_postgres/pginstall/include/server/catalog/pg_foreign_server.h +58 -0
  227. embedded_postgres/pginstall/include/server/catalog/pg_foreign_server_d.h +44 -0
  228. embedded_postgres/pginstall/include/server/catalog/pg_foreign_table.h +51 -0
  229. embedded_postgres/pginstall/include/server/catalog/pg_foreign_table_d.h +38 -0
  230. embedded_postgres/pginstall/include/server/catalog/pg_index.h +94 -0
  231. embedded_postgres/pginstall/include/server/catalog/pg_index_d.h +68 -0
  232. embedded_postgres/pginstall/include/server/catalog/pg_inherits.h +67 -0
  233. embedded_postgres/pginstall/include/server/catalog/pg_inherits_d.h +40 -0
  234. embedded_postgres/pginstall/include/server/catalog/pg_init_privs.h +83 -0
  235. embedded_postgres/pginstall/include/server/catalog/pg_init_privs_d.h +40 -0
  236. embedded_postgres/pginstall/include/server/catalog/pg_language.h +75 -0
  237. embedded_postgres/pginstall/include/server/catalog/pg_language_d.h +48 -0
  238. embedded_postgres/pginstall/include/server/catalog/pg_largeobject.h +55 -0
  239. embedded_postgres/pginstall/include/server/catalog/pg_largeobject_d.h +38 -0
  240. embedded_postgres/pginstall/include/server/catalog/pg_largeobject_metadata.h +51 -0
  241. embedded_postgres/pginstall/include/server/catalog/pg_largeobject_metadata_d.h +38 -0
  242. embedded_postgres/pginstall/include/server/catalog/pg_namespace.h +67 -0
  243. embedded_postgres/pginstall/include/server/catalog/pg_namespace_d.h +43 -0
  244. embedded_postgres/pginstall/include/server/catalog/pg_opclass.h +91 -0
  245. embedded_postgres/pginstall/include/server/catalog/pg_opclass_d.h +58 -0
  246. embedded_postgres/pginstall/include/server/catalog/pg_operator.h +124 -0
  247. embedded_postgres/pginstall/include/server/catalog/pg_operator_d.h +153 -0
  248. embedded_postgres/pginstall/include/server/catalog/pg_opfamily.h +67 -0
  249. embedded_postgres/pginstall/include/server/catalog/pg_opfamily_d.h +58 -0
  250. embedded_postgres/pginstall/include/server/catalog/pg_parameter_acl.h +62 -0
  251. embedded_postgres/pginstall/include/server/catalog/pg_parameter_acl_d.h +41 -0
  252. embedded_postgres/pginstall/include/server/catalog/pg_partitioned_table.h +76 -0
  253. embedded_postgres/pginstall/include/server/catalog/pg_partitioned_table_d.h +43 -0
  254. embedded_postgres/pginstall/include/server/catalog/pg_policy.h +58 -0
  255. embedded_postgres/pginstall/include/server/catalog/pg_policy_d.h +44 -0
  256. embedded_postgres/pginstall/include/server/catalog/pg_proc.h +224 -0
  257. embedded_postgres/pginstall/include/server/catalog/pg_proc_d.h +108 -0
  258. embedded_postgres/pginstall/include/server/catalog/pg_publication.h +194 -0
  259. embedded_postgres/pginstall/include/server/catalog/pg_publication_d.h +57 -0
  260. embedded_postgres/pginstall/include/server/catalog/pg_publication_namespace.h +50 -0
  261. embedded_postgres/pginstall/include/server/catalog/pg_publication_namespace_d.h +39 -0
  262. embedded_postgres/pginstall/include/server/catalog/pg_publication_rel.h +57 -0
  263. embedded_postgres/pginstall/include/server/catalog/pg_publication_rel_d.h +42 -0
  264. embedded_postgres/pginstall/include/server/catalog/pg_range.h +75 -0
  265. embedded_postgres/pginstall/include/server/catalog/pg_range_d.h +43 -0
  266. embedded_postgres/pginstall/include/server/catalog/pg_replication_origin.h +63 -0
  267. embedded_postgres/pginstall/include/server/catalog/pg_replication_origin_d.h +38 -0
  268. embedded_postgres/pginstall/include/server/catalog/pg_rewrite.h +61 -0
  269. embedded_postgres/pginstall/include/server/catalog/pg_rewrite_d.h +44 -0
  270. embedded_postgres/pginstall/include/server/catalog/pg_seclabel.h +45 -0
  271. embedded_postgres/pginstall/include/server/catalog/pg_seclabel_d.h +40 -0
  272. embedded_postgres/pginstall/include/server/catalog/pg_sequence.h +46 -0
  273. embedded_postgres/pginstall/include/server/catalog/pg_sequence_d.h +43 -0
  274. embedded_postgres/pginstall/include/server/catalog/pg_shdepend.h +78 -0
  275. embedded_postgres/pginstall/include/server/catalog/pg_shdepend_d.h +43 -0
  276. embedded_postgres/pginstall/include/server/catalog/pg_shdescription.h +65 -0
  277. embedded_postgres/pginstall/include/server/catalog/pg_shdescription_d.h +40 -0
  278. embedded_postgres/pginstall/include/server/catalog/pg_shseclabel.h +46 -0
  279. embedded_postgres/pginstall/include/server/catalog/pg_shseclabel_d.h +42 -0
  280. embedded_postgres/pginstall/include/server/catalog/pg_statistic.h +288 -0
  281. embedded_postgres/pginstall/include/server/catalog/pg_statistic_d.h +206 -0
  282. embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext.h +91 -0
  283. embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext_d.h +52 -0
  284. embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext_data.h +61 -0
  285. embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext_data_d.h +41 -0
  286. embedded_postgres/pginstall/include/server/catalog/pg_subscription.h +190 -0
  287. embedded_postgres/pginstall/include/server/catalog/pg_subscription_d.h +93 -0
  288. embedded_postgres/pginstall/include/server/catalog/pg_subscription_rel.h +95 -0
  289. embedded_postgres/pginstall/include/server/catalog/pg_subscription_rel_d.h +58 -0
  290. embedded_postgres/pginstall/include/server/catalog/pg_tablespace.h +57 -0
  291. embedded_postgres/pginstall/include/server/catalog/pg_tablespace_d.h +45 -0
  292. embedded_postgres/pginstall/include/server/catalog/pg_transform.h +51 -0
  293. embedded_postgres/pginstall/include/server/catalog/pg_transform_d.h +41 -0
  294. embedded_postgres/pginstall/include/server/catalog/pg_trigger.h +153 -0
  295. embedded_postgres/pginstall/include/server/catalog/pg_trigger_d.h +116 -0
  296. embedded_postgres/pginstall/include/server/catalog/pg_ts_config.h +56 -0
  297. embedded_postgres/pginstall/include/server/catalog/pg_ts_config_d.h +41 -0
  298. embedded_postgres/pginstall/include/server/catalog/pg_ts_config_map.h +51 -0
  299. embedded_postgres/pginstall/include/server/catalog/pg_ts_config_map_d.h +39 -0
  300. embedded_postgres/pginstall/include/server/catalog/pg_ts_dict.h +62 -0
  301. embedded_postgres/pginstall/include/server/catalog/pg_ts_dict_d.h +42 -0
  302. embedded_postgres/pginstall/include/server/catalog/pg_ts_parser.h +63 -0
  303. embedded_postgres/pginstall/include/server/catalog/pg_ts_parser_d.h +44 -0
  304. embedded_postgres/pginstall/include/server/catalog/pg_ts_template.h +54 -0
  305. embedded_postgres/pginstall/include/server/catalog/pg_ts_template_d.h +41 -0
  306. embedded_postgres/pginstall/include/server/catalog/pg_type.h +407 -0
  307. embedded_postgres/pginstall/include/server/catalog/pg_type_d.h +331 -0
  308. embedded_postgres/pginstall/include/server/catalog/pg_user_mapping.h +58 -0
  309. embedded_postgres/pginstall/include/server/catalog/pg_user_mapping_d.h +40 -0
  310. embedded_postgres/pginstall/include/server/catalog/schemapg.h +242 -0
  311. embedded_postgres/pginstall/include/server/catalog/storage.h +50 -0
  312. embedded_postgres/pginstall/include/server/catalog/storage_xlog.h +59 -0
  313. embedded_postgres/pginstall/include/server/catalog/syscache_ids.h +106 -0
  314. embedded_postgres/pginstall/include/server/catalog/syscache_info.h +581 -0
  315. embedded_postgres/pginstall/include/server/catalog/system_fk_info.h +253 -0
  316. embedded_postgres/pginstall/include/server/catalog/toasting.h +30 -0
  317. embedded_postgres/pginstall/include/server/commands/alter.h +34 -0
  318. embedded_postgres/pginstall/include/server/commands/async.h +52 -0
  319. embedded_postgres/pginstall/include/server/commands/cluster.h +51 -0
  320. embedded_postgres/pginstall/include/server/commands/collationcmds.h +25 -0
  321. embedded_postgres/pginstall/include/server/commands/comment.h +45 -0
  322. embedded_postgres/pginstall/include/server/commands/conversioncmds.h +23 -0
  323. embedded_postgres/pginstall/include/server/commands/copy.h +130 -0
  324. embedded_postgres/pginstall/include/server/commands/copyapi.h +105 -0
  325. embedded_postgres/pginstall/include/server/commands/copyfrom_internal.h +197 -0
  326. embedded_postgres/pginstall/include/server/commands/createas.h +34 -0
  327. embedded_postgres/pginstall/include/server/commands/dbcommands.h +37 -0
  328. embedded_postgres/pginstall/include/server/commands/dbcommands_xlog.h +60 -0
  329. embedded_postgres/pginstall/include/server/commands/defrem.h +165 -0
  330. embedded_postgres/pginstall/include/server/commands/discard.h +20 -0
  331. embedded_postgres/pginstall/include/server/commands/event_trigger.h +97 -0
  332. embedded_postgres/pginstall/include/server/commands/explain.h +84 -0
  333. embedded_postgres/pginstall/include/server/commands/explain_dr.h +32 -0
  334. embedded_postgres/pginstall/include/server/commands/explain_format.h +58 -0
  335. embedded_postgres/pginstall/include/server/commands/explain_state.h +100 -0
  336. embedded_postgres/pginstall/include/server/commands/extension.h +60 -0
  337. embedded_postgres/pginstall/include/server/commands/lockcmds.h +24 -0
  338. embedded_postgres/pginstall/include/server/commands/matview.h +36 -0
  339. embedded_postgres/pginstall/include/server/commands/policy.h +38 -0
  340. embedded_postgres/pginstall/include/server/commands/portalcmds.h +34 -0
  341. embedded_postgres/pginstall/include/server/commands/prepare.h +62 -0
  342. embedded_postgres/pginstall/include/server/commands/proclang.h +23 -0
  343. embedded_postgres/pginstall/include/server/commands/progress.h +160 -0
  344. embedded_postgres/pginstall/include/server/commands/publicationcmds.h +43 -0
  345. embedded_postgres/pginstall/include/server/commands/schemacmds.h +29 -0
  346. embedded_postgres/pginstall/include/server/commands/seclabel.h +34 -0
  347. embedded_postgres/pginstall/include/server/commands/sequence.h +70 -0
  348. embedded_postgres/pginstall/include/server/commands/subscriptioncmds.h +31 -0
  349. embedded_postgres/pginstall/include/server/commands/tablecmds.h +110 -0
  350. embedded_postgres/pginstall/include/server/commands/tablespace.h +71 -0
  351. embedded_postgres/pginstall/include/server/commands/trigger.h +292 -0
  352. embedded_postgres/pginstall/include/server/commands/typecmds.h +64 -0
  353. embedded_postgres/pginstall/include/server/commands/user.h +43 -0
  354. embedded_postgres/pginstall/include/server/commands/vacuum.h +410 -0
  355. embedded_postgres/pginstall/include/server/commands/view.h +25 -0
  356. embedded_postgres/pginstall/include/server/common/archive.h +21 -0
  357. embedded_postgres/pginstall/include/server/common/base64.h +19 -0
  358. embedded_postgres/pginstall/include/server/common/blkreftable.h +116 -0
  359. embedded_postgres/pginstall/include/server/common/checksum_helper.h +72 -0
  360. embedded_postgres/pginstall/include/server/common/compression.h +53 -0
  361. embedded_postgres/pginstall/include/server/common/config_info.h +21 -0
  362. embedded_postgres/pginstall/include/server/common/connect.h +28 -0
  363. embedded_postgres/pginstall/include/server/common/controldata_utils.h +21 -0
  364. embedded_postgres/pginstall/include/server/common/cryptohash.h +39 -0
  365. embedded_postgres/pginstall/include/server/common/fe_memutils.h +101 -0
  366. embedded_postgres/pginstall/include/server/common/file_perm.h +56 -0
  367. embedded_postgres/pginstall/include/server/common/file_utils.h +66 -0
  368. embedded_postgres/pginstall/include/server/common/hashfn.h +119 -0
  369. embedded_postgres/pginstall/include/server/common/hashfn_unstable.h +407 -0
  370. embedded_postgres/pginstall/include/server/common/hmac.h +30 -0
  371. embedded_postgres/pginstall/include/server/common/int.h +742 -0
  372. embedded_postgres/pginstall/include/server/common/int128.h +276 -0
  373. embedded_postgres/pginstall/include/server/common/ip.h +33 -0
  374. embedded_postgres/pginstall/include/server/common/jsonapi.h +267 -0
  375. embedded_postgres/pginstall/include/server/common/keywords.h +29 -0
  376. embedded_postgres/pginstall/include/server/common/kwlookup.h +44 -0
  377. embedded_postgres/pginstall/include/server/common/link-canary.h +17 -0
  378. embedded_postgres/pginstall/include/server/common/logging.h +163 -0
  379. embedded_postgres/pginstall/include/server/common/md5.h +37 -0
  380. embedded_postgres/pginstall/include/server/common/oauth-common.h +19 -0
  381. embedded_postgres/pginstall/include/server/common/openssl.h +43 -0
  382. embedded_postgres/pginstall/include/server/common/parse_manifest.h +57 -0
  383. embedded_postgres/pginstall/include/server/common/percentrepl.h +18 -0
  384. embedded_postgres/pginstall/include/server/common/pg_lzcompress.h +93 -0
  385. embedded_postgres/pginstall/include/server/common/pg_prng.h +62 -0
  386. embedded_postgres/pginstall/include/server/common/relpath.h +154 -0
  387. embedded_postgres/pginstall/include/server/common/restricted_token.h +24 -0
  388. embedded_postgres/pginstall/include/server/common/saslprep.h +30 -0
  389. embedded_postgres/pginstall/include/server/common/scram-common.h +70 -0
  390. embedded_postgres/pginstall/include/server/common/sha1.h +21 -0
  391. embedded_postgres/pginstall/include/server/common/sha2.h +32 -0
  392. embedded_postgres/pginstall/include/server/common/shortest_dec.h +63 -0
  393. embedded_postgres/pginstall/include/server/common/string.h +44 -0
  394. embedded_postgres/pginstall/include/server/common/unicode_case.h +35 -0
  395. embedded_postgres/pginstall/include/server/common/unicode_case_table.h +13630 -0
  396. embedded_postgres/pginstall/include/server/common/unicode_category.h +91 -0
  397. embedded_postgres/pginstall/include/server/common/unicode_category_table.h +7153 -0
  398. embedded_postgres/pginstall/include/server/common/unicode_east_asian_fw_table.h +126 -0
  399. embedded_postgres/pginstall/include/server/common/unicode_nonspacing_table.h +338 -0
  400. embedded_postgres/pginstall/include/server/common/unicode_norm.h +39 -0
  401. embedded_postgres/pginstall/include/server/common/unicode_norm_hashfunc.h +3016 -0
  402. embedded_postgres/pginstall/include/server/common/unicode_norm_table.h +9202 -0
  403. embedded_postgres/pginstall/include/server/common/unicode_normprops_table.h +8025 -0
  404. embedded_postgres/pginstall/include/server/common/unicode_version.h +14 -0
  405. embedded_postgres/pginstall/include/server/common/username.h +15 -0
  406. embedded_postgres/pginstall/include/server/datatype/timestamp.h +269 -0
  407. embedded_postgres/pginstall/include/server/executor/execAsync.h +25 -0
  408. embedded_postgres/pginstall/include/server/executor/execExpr.h +924 -0
  409. embedded_postgres/pginstall/include/server/executor/execParallel.h +51 -0
  410. embedded_postgres/pginstall/include/server/executor/execPartition.h +143 -0
  411. embedded_postgres/pginstall/include/server/executor/execScan.h +254 -0
  412. embedded_postgres/pginstall/include/server/executor/execdebug.h +130 -0
  413. embedded_postgres/pginstall/include/server/executor/execdesc.h +70 -0
  414. embedded_postgres/pginstall/include/server/executor/executor.h +789 -0
  415. embedded_postgres/pginstall/include/server/executor/functions.h +55 -0
  416. embedded_postgres/pginstall/include/server/executor/hashjoin.h +365 -0
  417. embedded_postgres/pginstall/include/server/executor/instrument.h +121 -0
  418. embedded_postgres/pginstall/include/server/executor/nodeAgg.h +341 -0
  419. embedded_postgres/pginstall/include/server/executor/nodeAppend.h +30 -0
  420. embedded_postgres/pginstall/include/server/executor/nodeBitmapAnd.h +24 -0
  421. embedded_postgres/pginstall/include/server/executor/nodeBitmapHeapscan.h +33 -0
  422. embedded_postgres/pginstall/include/server/executor/nodeBitmapIndexscan.h +30 -0
  423. embedded_postgres/pginstall/include/server/executor/nodeBitmapOr.h +24 -0
  424. embedded_postgres/pginstall/include/server/executor/nodeCtescan.h +23 -0
  425. embedded_postgres/pginstall/include/server/executor/nodeCustom.h +42 -0
  426. embedded_postgres/pginstall/include/server/executor/nodeForeignscan.h +38 -0
  427. embedded_postgres/pginstall/include/server/executor/nodeFunctionscan.h +23 -0
  428. embedded_postgres/pginstall/include/server/executor/nodeGather.h +24 -0
  429. embedded_postgres/pginstall/include/server/executor/nodeGatherMerge.h +26 -0
  430. embedded_postgres/pginstall/include/server/executor/nodeGroup.h +23 -0
  431. embedded_postgres/pginstall/include/server/executor/nodeHash.h +75 -0
  432. embedded_postgres/pginstall/include/server/executor/nodeHashjoin.h +34 -0
  433. embedded_postgres/pginstall/include/server/executor/nodeIncrementalSort.h +28 -0
  434. embedded_postgres/pginstall/include/server/executor/nodeIndexonlyscan.h +37 -0
  435. embedded_postgres/pginstall/include/server/executor/nodeIndexscan.h +48 -0
  436. embedded_postgres/pginstall/include/server/executor/nodeLimit.h +23 -0
  437. embedded_postgres/pginstall/include/server/executor/nodeLockRows.h +23 -0
  438. embedded_postgres/pginstall/include/server/executor/nodeMaterial.h +25 -0
  439. embedded_postgres/pginstall/include/server/executor/nodeMemoize.h +32 -0
  440. embedded_postgres/pginstall/include/server/executor/nodeMergeAppend.h +23 -0
  441. embedded_postgres/pginstall/include/server/executor/nodeMergejoin.h +23 -0
  442. embedded_postgres/pginstall/include/server/executor/nodeModifyTable.h +33 -0
  443. embedded_postgres/pginstall/include/server/executor/nodeNamedtuplestorescan.h +22 -0
  444. embedded_postgres/pginstall/include/server/executor/nodeNestloop.h +23 -0
  445. embedded_postgres/pginstall/include/server/executor/nodeProjectSet.h +23 -0
  446. embedded_postgres/pginstall/include/server/executor/nodeRecursiveunion.h +23 -0
  447. embedded_postgres/pginstall/include/server/executor/nodeResult.h +25 -0
  448. embedded_postgres/pginstall/include/server/executor/nodeSamplescan.h +23 -0
  449. embedded_postgres/pginstall/include/server/executor/nodeSeqscan.h +31 -0
  450. embedded_postgres/pginstall/include/server/executor/nodeSetOp.h +23 -0
  451. embedded_postgres/pginstall/include/server/executor/nodeSort.h +32 -0
  452. embedded_postgres/pginstall/include/server/executor/nodeSubplan.h +29 -0
  453. embedded_postgres/pginstall/include/server/executor/nodeSubqueryscan.h +23 -0
  454. embedded_postgres/pginstall/include/server/executor/nodeTableFuncscan.h +23 -0
  455. embedded_postgres/pginstall/include/server/executor/nodeTidrangescan.h +24 -0
  456. embedded_postgres/pginstall/include/server/executor/nodeTidscan.h +23 -0
  457. embedded_postgres/pginstall/include/server/executor/nodeUnique.h +23 -0
  458. embedded_postgres/pginstall/include/server/executor/nodeValuesscan.h +22 -0
  459. embedded_postgres/pginstall/include/server/executor/nodeWindowAgg.h +23 -0
  460. embedded_postgres/pginstall/include/server/executor/nodeWorktablescan.h +22 -0
  461. embedded_postgres/pginstall/include/server/executor/spi.h +207 -0
  462. embedded_postgres/pginstall/include/server/executor/spi_priv.h +105 -0
  463. embedded_postgres/pginstall/include/server/executor/tablefunc.h +67 -0
  464. embedded_postgres/pginstall/include/server/executor/tqueue.h +32 -0
  465. embedded_postgres/pginstall/include/server/executor/tstoreReceiver.h +31 -0
  466. embedded_postgres/pginstall/include/server/executor/tuptable.h +539 -0
  467. embedded_postgres/pginstall/include/server/extension/cube/cubedata.h +82 -0
  468. embedded_postgres/pginstall/include/server/extension/hstore/hstore.h +205 -0
  469. embedded_postgres/pginstall/include/server/extension/isn/isn.h +34 -0
  470. embedded_postgres/pginstall/include/server/extension/ltree/ltree.h +319 -0
  471. embedded_postgres/pginstall/include/server/extension/seg/segdata.h +33 -0
  472. embedded_postgres/pginstall/include/server/extension/vector/halfvec.h +77 -0
  473. embedded_postgres/pginstall/include/server/extension/vector/sparsevec.h +51 -0
  474. embedded_postgres/pginstall/include/server/extension/vector/vector.h +37 -0
  475. embedded_postgres/pginstall/include/server/fe_utils/archive.h +21 -0
  476. embedded_postgres/pginstall/include/server/fe_utils/astreamer.h +231 -0
  477. embedded_postgres/pginstall/include/server/fe_utils/cancel.h +32 -0
  478. embedded_postgres/pginstall/include/server/fe_utils/conditional.h +107 -0
  479. embedded_postgres/pginstall/include/server/fe_utils/connect_utils.h +48 -0
  480. embedded_postgres/pginstall/include/server/fe_utils/mbprint.h +30 -0
  481. embedded_postgres/pginstall/include/server/fe_utils/option_utils.h +28 -0
  482. embedded_postgres/pginstall/include/server/fe_utils/parallel_slot.h +77 -0
  483. embedded_postgres/pginstall/include/server/fe_utils/print.h +236 -0
  484. embedded_postgres/pginstall/include/server/fe_utils/psqlscan.h +98 -0
  485. embedded_postgres/pginstall/include/server/fe_utils/psqlscan_int.h +181 -0
  486. embedded_postgres/pginstall/include/server/fe_utils/query_utils.h +24 -0
  487. embedded_postgres/pginstall/include/server/fe_utils/recovery_gen.h +30 -0
  488. embedded_postgres/pginstall/include/server/fe_utils/simple_list.h +71 -0
  489. embedded_postgres/pginstall/include/server/fe_utils/string_utils.h +71 -0
  490. embedded_postgres/pginstall/include/server/fmgr.h +851 -0
  491. embedded_postgres/pginstall/include/server/foreign/fdwapi.h +294 -0
  492. embedded_postgres/pginstall/include/server/foreign/foreign.h +85 -0
  493. embedded_postgres/pginstall/include/server/funcapi.h +360 -0
  494. embedded_postgres/pginstall/include/server/getopt_long.h +37 -0
  495. embedded_postgres/pginstall/include/server/jit/SectionMemoryManager.h +226 -0
  496. embedded_postgres/pginstall/include/server/jit/jit.h +106 -0
  497. embedded_postgres/pginstall/include/server/jit/llvmjit.h +152 -0
  498. embedded_postgres/pginstall/include/server/jit/llvmjit_backport.h +22 -0
  499. embedded_postgres/pginstall/include/server/jit/llvmjit_emit.h +320 -0
  500. embedded_postgres/pginstall/include/server/lib/binaryheap.h +69 -0
  501. embedded_postgres/pginstall/include/server/lib/bipartite_match.h +46 -0
  502. embedded_postgres/pginstall/include/server/lib/bloomfilter.h +27 -0
  503. embedded_postgres/pginstall/include/server/lib/dshash.h +130 -0
  504. embedded_postgres/pginstall/include/server/lib/hyperloglog.h +68 -0
  505. embedded_postgres/pginstall/include/server/lib/ilist.h +1159 -0
  506. embedded_postgres/pginstall/include/server/lib/integerset.h +24 -0
  507. embedded_postgres/pginstall/include/server/lib/knapsack.h +16 -0
  508. embedded_postgres/pginstall/include/server/lib/pairingheap.h +102 -0
  509. embedded_postgres/pginstall/include/server/lib/qunique.h +67 -0
  510. embedded_postgres/pginstall/include/server/lib/radixtree.h +3026 -0
  511. embedded_postgres/pginstall/include/server/lib/rbtree.h +81 -0
  512. embedded_postgres/pginstall/include/server/lib/simplehash.h +1210 -0
  513. embedded_postgres/pginstall/include/server/lib/sort_template.h +445 -0
  514. embedded_postgres/pginstall/include/server/lib/stringinfo.h +270 -0
  515. embedded_postgres/pginstall/include/server/libpq/auth.h +54 -0
  516. embedded_postgres/pginstall/include/server/libpq/be-fsstubs.h +32 -0
  517. embedded_postgres/pginstall/include/server/libpq/be-gssapi-common.h +27 -0
  518. embedded_postgres/pginstall/include/server/libpq/crypt.h +60 -0
  519. embedded_postgres/pginstall/include/server/libpq/hba.h +191 -0
  520. embedded_postgres/pginstall/include/server/libpq/ifaddr.h +30 -0
  521. embedded_postgres/pginstall/include/server/libpq/libpq-be-fe-helpers.h +457 -0
  522. embedded_postgres/pginstall/include/server/libpq/libpq-be.h +370 -0
  523. embedded_postgres/pginstall/include/server/libpq/libpq-fs.h +24 -0
  524. embedded_postgres/pginstall/include/server/libpq/libpq.h +145 -0
  525. embedded_postgres/pginstall/include/server/libpq/oauth.h +101 -0
  526. embedded_postgres/pginstall/include/server/libpq/pg-gssapi.h +42 -0
  527. embedded_postgres/pginstall/include/server/libpq/pqcomm.h +175 -0
  528. embedded_postgres/pginstall/include/server/libpq/pqformat.h +209 -0
  529. embedded_postgres/pginstall/include/server/libpq/pqmq.h +24 -0
  530. embedded_postgres/pginstall/include/server/libpq/pqsignal.h +54 -0
  531. embedded_postgres/pginstall/include/server/libpq/protocol.h +89 -0
  532. embedded_postgres/pginstall/include/server/libpq/sasl.h +147 -0
  533. embedded_postgres/pginstall/include/server/libpq/scram.h +37 -0
  534. embedded_postgres/pginstall/include/server/mb/pg_wchar.h +802 -0
  535. embedded_postgres/pginstall/include/server/mb/stringinfo_mb.h +24 -0
  536. embedded_postgres/pginstall/include/server/miscadmin.h +543 -0
  537. embedded_postgres/pginstall/include/server/nodes/bitmapset.h +140 -0
  538. embedded_postgres/pginstall/include/server/nodes/execnodes.h +2924 -0
  539. embedded_postgres/pginstall/include/server/nodes/extensible.h +164 -0
  540. embedded_postgres/pginstall/include/server/nodes/lockoptions.h +61 -0
  541. embedded_postgres/pginstall/include/server/nodes/makefuncs.h +128 -0
  542. embedded_postgres/pginstall/include/server/nodes/memnodes.h +152 -0
  543. embedded_postgres/pginstall/include/server/nodes/miscnodes.h +57 -0
  544. embedded_postgres/pginstall/include/server/nodes/multibitmapset.h +39 -0
  545. embedded_postgres/pginstall/include/server/nodes/nodeFuncs.h +224 -0
  546. embedded_postgres/pginstall/include/server/nodes/nodes.h +441 -0
  547. embedded_postgres/pginstall/include/server/nodes/nodetags.h +496 -0
  548. embedded_postgres/pginstall/include/server/nodes/params.h +170 -0
  549. embedded_postgres/pginstall/include/server/nodes/parsenodes.h +4335 -0
  550. embedded_postgres/pginstall/include/server/nodes/pathnodes.h +3609 -0
  551. embedded_postgres/pginstall/include/server/nodes/pg_list.h +686 -0
  552. embedded_postgres/pginstall/include/server/nodes/plannodes.h +1767 -0
  553. embedded_postgres/pginstall/include/server/nodes/primnodes.h +2374 -0
  554. embedded_postgres/pginstall/include/server/nodes/print.h +34 -0
  555. embedded_postgres/pginstall/include/server/nodes/queryjumble.h +113 -0
  556. embedded_postgres/pginstall/include/server/nodes/readfuncs.h +38 -0
  557. embedded_postgres/pginstall/include/server/nodes/replnodes.h +132 -0
  558. embedded_postgres/pginstall/include/server/nodes/subscripting.h +167 -0
  559. embedded_postgres/pginstall/include/server/nodes/supportnodes.h +393 -0
  560. embedded_postgres/pginstall/include/server/nodes/tidbitmap.h +128 -0
  561. embedded_postgres/pginstall/include/server/nodes/value.h +90 -0
  562. embedded_postgres/pginstall/include/server/optimizer/appendinfo.h +50 -0
  563. embedded_postgres/pginstall/include/server/optimizer/clauses.h +72 -0
  564. embedded_postgres/pginstall/include/server/optimizer/cost.h +226 -0
  565. embedded_postgres/pginstall/include/server/optimizer/geqo.h +90 -0
  566. embedded_postgres/pginstall/include/server/optimizer/geqo_copy.h +30 -0
  567. embedded_postgres/pginstall/include/server/optimizer/geqo_gene.h +45 -0
  568. embedded_postgres/pginstall/include/server/optimizer/geqo_misc.h +34 -0
  569. embedded_postgres/pginstall/include/server/optimizer/geqo_mutation.h +30 -0
  570. embedded_postgres/pginstall/include/server/optimizer/geqo_pool.h +40 -0
  571. embedded_postgres/pginstall/include/server/optimizer/geqo_random.h +38 -0
  572. embedded_postgres/pginstall/include/server/optimizer/geqo_recombination.h +89 -0
  573. embedded_postgres/pginstall/include/server/optimizer/geqo_selection.h +33 -0
  574. embedded_postgres/pginstall/include/server/optimizer/inherit.h +29 -0
  575. embedded_postgres/pginstall/include/server/optimizer/joininfo.h +30 -0
  576. embedded_postgres/pginstall/include/server/optimizer/optimizer.h +215 -0
  577. embedded_postgres/pginstall/include/server/optimizer/orclauses.h +21 -0
  578. embedded_postgres/pginstall/include/server/optimizer/paramassign.h +39 -0
  579. embedded_postgres/pginstall/include/server/optimizer/pathnode.h +356 -0
  580. embedded_postgres/pginstall/include/server/optimizer/paths.h +282 -0
  581. embedded_postgres/pginstall/include/server/optimizer/placeholder.h +37 -0
  582. embedded_postgres/pginstall/include/server/optimizer/plancat.h +82 -0
  583. embedded_postgres/pginstall/include/server/optimizer/planmain.h +134 -0
  584. embedded_postgres/pginstall/include/server/optimizer/planner.h +62 -0
  585. embedded_postgres/pginstall/include/server/optimizer/prep.h +58 -0
  586. embedded_postgres/pginstall/include/server/optimizer/restrictinfo.h +93 -0
  587. embedded_postgres/pginstall/include/server/optimizer/subselect.h +46 -0
  588. embedded_postgres/pginstall/include/server/optimizer/tlist.h +61 -0
  589. embedded_postgres/pginstall/include/server/parser/analyze.h +68 -0
  590. embedded_postgres/pginstall/include/server/parser/kwlist.h +521 -0
  591. embedded_postgres/pginstall/include/server/parser/parse_agg.h +65 -0
  592. embedded_postgres/pginstall/include/server/parser/parse_clause.h +57 -0
  593. embedded_postgres/pginstall/include/server/parser/parse_coerce.h +105 -0
  594. embedded_postgres/pginstall/include/server/parser/parse_collate.h +27 -0
  595. embedded_postgres/pginstall/include/server/parser/parse_cte.h +24 -0
  596. embedded_postgres/pginstall/include/server/parser/parse_enr.h +22 -0
  597. embedded_postgres/pginstall/include/server/parser/parse_expr.h +25 -0
  598. embedded_postgres/pginstall/include/server/parser/parse_func.h +74 -0
  599. embedded_postgres/pginstall/include/server/parser/parse_merge.h +21 -0
  600. embedded_postgres/pginstall/include/server/parser/parse_node.h +368 -0
  601. embedded_postgres/pginstall/include/server/parser/parse_oper.h +68 -0
  602. embedded_postgres/pginstall/include/server/parser/parse_param.h +25 -0
  603. embedded_postgres/pginstall/include/server/parser/parse_relation.h +133 -0
  604. embedded_postgres/pginstall/include/server/parser/parse_target.h +58 -0
  605. embedded_postgres/pginstall/include/server/parser/parse_type.h +61 -0
  606. embedded_postgres/pginstall/include/server/parser/parse_utilcmd.h +44 -0
  607. embedded_postgres/pginstall/include/server/parser/parser.h +68 -0
  608. embedded_postgres/pginstall/include/server/parser/parsetree.h +61 -0
  609. embedded_postgres/pginstall/include/server/parser/scanner.h +150 -0
  610. embedded_postgres/pginstall/include/server/parser/scansup.h +27 -0
  611. embedded_postgres/pginstall/include/server/partitioning/partbounds.h +146 -0
  612. embedded_postgres/pginstall/include/server/partitioning/partdefs.h +26 -0
  613. embedded_postgres/pginstall/include/server/partitioning/partdesc.h +75 -0
  614. embedded_postgres/pginstall/include/server/partitioning/partprune.h +81 -0
  615. embedded_postgres/pginstall/include/server/pg_config.h +824 -0
  616. embedded_postgres/pginstall/include/server/pg_config_manual.h +363 -0
  617. embedded_postgres/pginstall/include/server/pg_config_os.h +59 -0
  618. embedded_postgres/pginstall/include/server/pg_getopt.h +57 -0
  619. embedded_postgres/pginstall/include/server/pg_trace.h +17 -0
  620. embedded_postgres/pginstall/include/server/pgstat.h +842 -0
  621. embedded_postgres/pginstall/include/server/pgtar.h +89 -0
  622. embedded_postgres/pginstall/include/server/pgtime.h +101 -0
  623. embedded_postgres/pginstall/include/server/plpgsql.h +1336 -0
  624. embedded_postgres/pginstall/include/server/port/atomics/arch-arm.h +32 -0
  625. embedded_postgres/pginstall/include/server/port/atomics/arch-ppc.h +256 -0
  626. embedded_postgres/pginstall/include/server/port/atomics/arch-x86.h +246 -0
  627. embedded_postgres/pginstall/include/server/port/atomics/fallback.h +42 -0
  628. embedded_postgres/pginstall/include/server/port/atomics/generic-gcc.h +327 -0
  629. embedded_postgres/pginstall/include/server/port/atomics/generic-msvc.h +115 -0
  630. embedded_postgres/pginstall/include/server/port/atomics/generic-sunpro.h +113 -0
  631. embedded_postgres/pginstall/include/server/port/atomics/generic.h +427 -0
  632. embedded_postgres/pginstall/include/server/port/atomics.h +611 -0
  633. embedded_postgres/pginstall/include/server/port/cygwin.h +23 -0
  634. embedded_postgres/pginstall/include/server/port/darwin.h +13 -0
  635. embedded_postgres/pginstall/include/server/port/freebsd.h +8 -0
  636. embedded_postgres/pginstall/include/server/port/linux.h +22 -0
  637. embedded_postgres/pginstall/include/server/port/netbsd.h +1 -0
  638. embedded_postgres/pginstall/include/server/port/openbsd.h +1 -0
  639. embedded_postgres/pginstall/include/server/port/pg_bitutils.h +445 -0
  640. embedded_postgres/pginstall/include/server/port/pg_bswap.h +161 -0
  641. embedded_postgres/pginstall/include/server/port/pg_crc32c.h +169 -0
  642. embedded_postgres/pginstall/include/server/port/pg_iovec.h +127 -0
  643. embedded_postgres/pginstall/include/server/port/pg_lfind.h +209 -0
  644. embedded_postgres/pginstall/include/server/port/pg_numa.h +42 -0
  645. embedded_postgres/pginstall/include/server/port/pg_pthread.h +41 -0
  646. embedded_postgres/pginstall/include/server/port/simd.h +422 -0
  647. embedded_postgres/pginstall/include/server/port/solaris.h +35 -0
  648. embedded_postgres/pginstall/include/server/port/win32/arpa/inet.h +3 -0
  649. embedded_postgres/pginstall/include/server/port/win32/dlfcn.h +1 -0
  650. embedded_postgres/pginstall/include/server/port/win32/grp.h +1 -0
  651. embedded_postgres/pginstall/include/server/port/win32/netdb.h +7 -0
  652. embedded_postgres/pginstall/include/server/port/win32/netinet/in.h +3 -0
  653. embedded_postgres/pginstall/include/server/port/win32/netinet/tcp.h +7 -0
  654. embedded_postgres/pginstall/include/server/port/win32/pwd.h +3 -0
  655. embedded_postgres/pginstall/include/server/port/win32/sys/resource.h +20 -0
  656. embedded_postgres/pginstall/include/server/port/win32/sys/select.h +3 -0
  657. embedded_postgres/pginstall/include/server/port/win32/sys/socket.h +34 -0
  658. embedded_postgres/pginstall/include/server/port/win32/sys/un.h +17 -0
  659. embedded_postgres/pginstall/include/server/port/win32/sys/wait.h +3 -0
  660. embedded_postgres/pginstall/include/server/port/win32.h +59 -0
  661. embedded_postgres/pginstall/include/server/port/win32_msvc/dirent.h +34 -0
  662. embedded_postgres/pginstall/include/server/port/win32_msvc/sys/file.h +1 -0
  663. embedded_postgres/pginstall/include/server/port/win32_msvc/sys/param.h +1 -0
  664. embedded_postgres/pginstall/include/server/port/win32_msvc/sys/time.h +1 -0
  665. embedded_postgres/pginstall/include/server/port/win32_msvc/unistd.h +9 -0
  666. embedded_postgres/pginstall/include/server/port/win32_msvc/utime.h +3 -0
  667. embedded_postgres/pginstall/include/server/port/win32_port.h +589 -0
  668. embedded_postgres/pginstall/include/server/port/win32ntdll.h +34 -0
  669. embedded_postgres/pginstall/include/server/port.h +565 -0
  670. embedded_postgres/pginstall/include/server/portability/instr_time.h +197 -0
  671. embedded_postgres/pginstall/include/server/portability/mem.h +48 -0
  672. embedded_postgres/pginstall/include/server/postgres.h +584 -0
  673. embedded_postgres/pginstall/include/server/postgres_ext.h +74 -0
  674. embedded_postgres/pginstall/include/server/postgres_fe.h +34 -0
  675. embedded_postgres/pginstall/include/server/postmaster/autovacuum.h +71 -0
  676. embedded_postgres/pginstall/include/server/postmaster/auxprocess.h +18 -0
  677. embedded_postgres/pginstall/include/server/postmaster/bgworker.h +164 -0
  678. embedded_postgres/pginstall/include/server/postmaster/bgworker_internals.h +57 -0
  679. embedded_postgres/pginstall/include/server/postmaster/bgwriter.h +45 -0
  680. embedded_postgres/pginstall/include/server/postmaster/fork_process.h +17 -0
  681. embedded_postgres/pginstall/include/server/postmaster/interrupt.h +32 -0
  682. embedded_postgres/pginstall/include/server/postmaster/pgarch.h +36 -0
  683. embedded_postgres/pginstall/include/server/postmaster/postmaster.h +145 -0
  684. embedded_postgres/pginstall/include/server/postmaster/startup.h +41 -0
  685. embedded_postgres/pginstall/include/server/postmaster/syslogger.h +105 -0
  686. embedded_postgres/pginstall/include/server/postmaster/walsummarizer.h +35 -0
  687. embedded_postgres/pginstall/include/server/postmaster/walwriter.h +23 -0
  688. embedded_postgres/pginstall/include/server/regex/regcustom.h +99 -0
  689. embedded_postgres/pginstall/include/server/regex/regerrs.h +83 -0
  690. embedded_postgres/pginstall/include/server/regex/regex.h +272 -0
  691. embedded_postgres/pginstall/include/server/regex/regexport.h +61 -0
  692. embedded_postgres/pginstall/include/server/regex/regguts.h +563 -0
  693. embedded_postgres/pginstall/include/server/replication/conflict.h +90 -0
  694. embedded_postgres/pginstall/include/server/replication/decode.h +34 -0
  695. embedded_postgres/pginstall/include/server/replication/logical.h +158 -0
  696. embedded_postgres/pginstall/include/server/replication/logicallauncher.h +34 -0
  697. embedded_postgres/pginstall/include/server/replication/logicalproto.h +280 -0
  698. embedded_postgres/pginstall/include/server/replication/logicalrelation.h +54 -0
  699. embedded_postgres/pginstall/include/server/replication/logicalworker.h +33 -0
  700. embedded_postgres/pginstall/include/server/replication/message.h +42 -0
  701. embedded_postgres/pginstall/include/server/replication/origin.h +83 -0
  702. embedded_postgres/pginstall/include/server/replication/output_plugin.h +250 -0
  703. embedded_postgres/pginstall/include/server/replication/pgoutput.h +39 -0
  704. embedded_postgres/pginstall/include/server/replication/reorderbuffer.h +783 -0
  705. embedded_postgres/pginstall/include/server/replication/slot.h +327 -0
  706. embedded_postgres/pginstall/include/server/replication/slotsync.h +45 -0
  707. embedded_postgres/pginstall/include/server/replication/snapbuild.h +101 -0
  708. embedded_postgres/pginstall/include/server/replication/snapbuild_internal.h +199 -0
  709. embedded_postgres/pginstall/include/server/replication/syncrep.h +110 -0
  710. embedded_postgres/pginstall/include/server/replication/walreceiver.h +513 -0
  711. embedded_postgres/pginstall/include/server/replication/walsender.h +75 -0
  712. embedded_postgres/pginstall/include/server/replication/walsender_private.h +155 -0
  713. embedded_postgres/pginstall/include/server/replication/worker_internal.h +354 -0
  714. embedded_postgres/pginstall/include/server/rewrite/prs2lock.h +46 -0
  715. embedded_postgres/pginstall/include/server/rewrite/rewriteDefine.h +44 -0
  716. embedded_postgres/pginstall/include/server/rewrite/rewriteHandler.h +44 -0
  717. embedded_postgres/pginstall/include/server/rewrite/rewriteManip.h +122 -0
  718. embedded_postgres/pginstall/include/server/rewrite/rewriteRemove.h +21 -0
  719. embedded_postgres/pginstall/include/server/rewrite/rewriteSearchCycle.h +21 -0
  720. embedded_postgres/pginstall/include/server/rewrite/rewriteSupport.h +26 -0
  721. embedded_postgres/pginstall/include/server/rewrite/rowsecurity.h +49 -0
  722. embedded_postgres/pginstall/include/server/snowball/header.h +67 -0
  723. embedded_postgres/pginstall/include/server/snowball/libstemmer/api.h +32 -0
  724. embedded_postgres/pginstall/include/server/snowball/libstemmer/header.h +61 -0
  725. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_basque.h +15 -0
  726. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_catalan.h +15 -0
  727. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_danish.h +15 -0
  728. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_dutch.h +15 -0
  729. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_english.h +15 -0
  730. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_finnish.h +15 -0
  731. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_french.h +15 -0
  732. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_german.h +15 -0
  733. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_indonesian.h +15 -0
  734. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_irish.h +15 -0
  735. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_italian.h +15 -0
  736. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_norwegian.h +15 -0
  737. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_porter.h +15 -0
  738. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_portuguese.h +15 -0
  739. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_spanish.h +15 -0
  740. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_swedish.h +15 -0
  741. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_2_hungarian.h +15 -0
  742. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_KOI8_R_russian.h +15 -0
  743. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_arabic.h +15 -0
  744. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_armenian.h +15 -0
  745. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_basque.h +15 -0
  746. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_catalan.h +15 -0
  747. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_danish.h +15 -0
  748. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_dutch.h +15 -0
  749. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_english.h +15 -0
  750. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_estonian.h +15 -0
  751. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_finnish.h +15 -0
  752. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_french.h +15 -0
  753. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_german.h +15 -0
  754. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_greek.h +15 -0
  755. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_hindi.h +15 -0
  756. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_hungarian.h +15 -0
  757. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_indonesian.h +15 -0
  758. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_irish.h +15 -0
  759. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_italian.h +15 -0
  760. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_lithuanian.h +15 -0
  761. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_nepali.h +15 -0
  762. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_norwegian.h +15 -0
  763. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_porter.h +15 -0
  764. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_portuguese.h +15 -0
  765. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_romanian.h +15 -0
  766. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_russian.h +15 -0
  767. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_serbian.h +15 -0
  768. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_spanish.h +15 -0
  769. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_swedish.h +15 -0
  770. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_tamil.h +15 -0
  771. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_turkish.h +15 -0
  772. embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_yiddish.h +15 -0
  773. embedded_postgres/pginstall/include/server/statistics/extended_stats_internal.h +130 -0
  774. embedded_postgres/pginstall/include/server/statistics/stat_utils.h +43 -0
  775. embedded_postgres/pginstall/include/server/statistics/statistics.h +130 -0
  776. embedded_postgres/pginstall/include/server/storage/aio.h +369 -0
  777. embedded_postgres/pginstall/include/server/storage/aio_internal.h +416 -0
  778. embedded_postgres/pginstall/include/server/storage/aio_subsys.h +37 -0
  779. embedded_postgres/pginstall/include/server/storage/aio_types.h +137 -0
  780. embedded_postgres/pginstall/include/server/storage/barrier.h +46 -0
  781. embedded_postgres/pginstall/include/server/storage/block.h +108 -0
  782. embedded_postgres/pginstall/include/server/storage/buf.h +46 -0
  783. embedded_postgres/pginstall/include/server/storage/buf_internals.h +494 -0
  784. embedded_postgres/pginstall/include/server/storage/buffile.h +59 -0
  785. embedded_postgres/pginstall/include/server/storage/bufmgr.h +424 -0
  786. embedded_postgres/pginstall/include/server/storage/bufpage.h +511 -0
  787. embedded_postgres/pginstall/include/server/storage/bulk_write.h +41 -0
  788. embedded_postgres/pginstall/include/server/storage/checksum.h +24 -0
  789. embedded_postgres/pginstall/include/server/storage/checksum_impl.h +215 -0
  790. embedded_postgres/pginstall/include/server/storage/condition_variable.h +73 -0
  791. embedded_postgres/pginstall/include/server/storage/copydir.h +28 -0
  792. embedded_postgres/pginstall/include/server/storage/dsm.h +61 -0
  793. embedded_postgres/pginstall/include/server/storage/dsm_impl.h +79 -0
  794. embedded_postgres/pginstall/include/server/storage/dsm_registry.h +23 -0
  795. embedded_postgres/pginstall/include/server/storage/fd.h +233 -0
  796. embedded_postgres/pginstall/include/server/storage/fileset.h +40 -0
  797. embedded_postgres/pginstall/include/server/storage/freespace.h +39 -0
  798. embedded_postgres/pginstall/include/server/storage/fsm_internals.h +72 -0
  799. embedded_postgres/pginstall/include/server/storage/indexfsm.h +26 -0
  800. embedded_postgres/pginstall/include/server/storage/io_worker.h +22 -0
  801. embedded_postgres/pginstall/include/server/storage/ipc.h +87 -0
  802. embedded_postgres/pginstall/include/server/storage/item.h +19 -0
  803. embedded_postgres/pginstall/include/server/storage/itemid.h +184 -0
  804. embedded_postgres/pginstall/include/server/storage/itemptr.h +245 -0
  805. embedded_postgres/pginstall/include/server/storage/large_object.h +100 -0
  806. embedded_postgres/pginstall/include/server/storage/latch.h +140 -0
  807. embedded_postgres/pginstall/include/server/storage/lmgr.h +127 -0
  808. embedded_postgres/pginstall/include/server/storage/lock.h +630 -0
  809. embedded_postgres/pginstall/include/server/storage/lockdefs.h +61 -0
  810. embedded_postgres/pginstall/include/server/storage/lwlock.h +234 -0
  811. embedded_postgres/pginstall/include/server/storage/lwlocklist.h +86 -0
  812. embedded_postgres/pginstall/include/server/storage/lwlocknames.h +48 -0
  813. embedded_postgres/pginstall/include/server/storage/md.h +65 -0
  814. embedded_postgres/pginstall/include/server/storage/off.h +57 -0
  815. embedded_postgres/pginstall/include/server/storage/pg_sema.h +61 -0
  816. embedded_postgres/pginstall/include/server/storage/pg_shmem.h +94 -0
  817. embedded_postgres/pginstall/include/server/storage/pmsignal.h +110 -0
  818. embedded_postgres/pginstall/include/server/storage/predicate.h +84 -0
  819. embedded_postgres/pginstall/include/server/storage/predicate_internals.h +478 -0
  820. embedded_postgres/pginstall/include/server/storage/proc.h +516 -0
  821. embedded_postgres/pginstall/include/server/storage/procarray.h +103 -0
  822. embedded_postgres/pginstall/include/server/storage/proclist.h +219 -0
  823. embedded_postgres/pginstall/include/server/storage/proclist_types.h +53 -0
  824. embedded_postgres/pginstall/include/server/storage/procnumber.h +56 -0
  825. embedded_postgres/pginstall/include/server/storage/procsignal.h +95 -0
  826. embedded_postgres/pginstall/include/server/storage/read_stream.h +106 -0
  827. embedded_postgres/pginstall/include/server/storage/reinit.h +30 -0
  828. embedded_postgres/pginstall/include/server/storage/relfilelocator.h +100 -0
  829. embedded_postgres/pginstall/include/server/storage/s_lock.h +755 -0
  830. embedded_postgres/pginstall/include/server/storage/sharedfileset.h +37 -0
  831. embedded_postgres/pginstall/include/server/storage/shm_mq.h +86 -0
  832. embedded_postgres/pginstall/include/server/storage/shm_toc.h +58 -0
  833. embedded_postgres/pginstall/include/server/storage/shmem.h +62 -0
  834. embedded_postgres/pginstall/include/server/storage/sinval.h +167 -0
  835. embedded_postgres/pginstall/include/server/storage/sinvaladt.h +41 -0
  836. embedded_postgres/pginstall/include/server/storage/smgr.h +144 -0
  837. embedded_postgres/pginstall/include/server/storage/spin.h +65 -0
  838. embedded_postgres/pginstall/include/server/storage/standby.h +109 -0
  839. embedded_postgres/pginstall/include/server/storage/standbydefs.h +74 -0
  840. embedded_postgres/pginstall/include/server/storage/sync.h +66 -0
  841. embedded_postgres/pginstall/include/server/storage/waiteventset.h +98 -0
  842. embedded_postgres/pginstall/include/server/tcop/backend_startup.h +122 -0
  843. embedded_postgres/pginstall/include/server/tcop/cmdtag.h +62 -0
  844. embedded_postgres/pginstall/include/server/tcop/cmdtaglist.h +219 -0
  845. embedded_postgres/pginstall/include/server/tcop/deparse_utility.h +108 -0
  846. embedded_postgres/pginstall/include/server/tcop/dest.h +148 -0
  847. embedded_postgres/pginstall/include/server/tcop/fastpath.h +20 -0
  848. embedded_postgres/pginstall/include/server/tcop/pquery.h +51 -0
  849. embedded_postgres/pginstall/include/server/tcop/tcopprot.h +94 -0
  850. embedded_postgres/pginstall/include/server/tcop/utility.h +112 -0
  851. embedded_postgres/pginstall/include/server/tsearch/dicts/regis.h +49 -0
  852. embedded_postgres/pginstall/include/server/tsearch/dicts/spell.h +241 -0
  853. embedded_postgres/pginstall/include/server/tsearch/ts_cache.h +96 -0
  854. embedded_postgres/pginstall/include/server/tsearch/ts_locale.h +74 -0
  855. embedded_postgres/pginstall/include/server/tsearch/ts_public.h +159 -0
  856. embedded_postgres/pginstall/include/server/tsearch/ts_type.h +290 -0
  857. embedded_postgres/pginstall/include/server/tsearch/ts_utils.h +281 -0
  858. embedded_postgres/pginstall/include/server/utils/acl.h +293 -0
  859. embedded_postgres/pginstall/include/server/utils/aclchk_internal.h +45 -0
  860. embedded_postgres/pginstall/include/server/utils/array.h +481 -0
  861. embedded_postgres/pginstall/include/server/utils/arrayaccess.h +118 -0
  862. embedded_postgres/pginstall/include/server/utils/ascii.h +84 -0
  863. embedded_postgres/pginstall/include/server/utils/attoptcache.h +28 -0
  864. embedded_postgres/pginstall/include/server/utils/backend_progress.h +46 -0
  865. embedded_postgres/pginstall/include/server/utils/backend_status.h +349 -0
  866. embedded_postgres/pginstall/include/server/utils/builtins.h +140 -0
  867. embedded_postgres/pginstall/include/server/utils/bytea.h +28 -0
  868. embedded_postgres/pginstall/include/server/utils/cash.h +35 -0
  869. embedded_postgres/pginstall/include/server/utils/catcache.h +232 -0
  870. embedded_postgres/pginstall/include/server/utils/combocid.h +28 -0
  871. embedded_postgres/pginstall/include/server/utils/conffiles.h +27 -0
  872. embedded_postgres/pginstall/include/server/utils/date.h +118 -0
  873. embedded_postgres/pginstall/include/server/utils/datetime.h +369 -0
  874. embedded_postgres/pginstall/include/server/utils/datum.h +76 -0
  875. embedded_postgres/pginstall/include/server/utils/dsa.h +166 -0
  876. embedded_postgres/pginstall/include/server/utils/dynahash.h +20 -0
  877. embedded_postgres/pginstall/include/server/utils/elog.h +532 -0
  878. embedded_postgres/pginstall/include/server/utils/errcodes.h +356 -0
  879. embedded_postgres/pginstall/include/server/utils/evtcache.h +38 -0
  880. embedded_postgres/pginstall/include/server/utils/expandeddatum.h +170 -0
  881. embedded_postgres/pginstall/include/server/utils/expandedrecord.h +241 -0
  882. embedded_postgres/pginstall/include/server/utils/float.h +357 -0
  883. embedded_postgres/pginstall/include/server/utils/fmgroids.h +3430 -0
  884. embedded_postgres/pginstall/include/server/utils/fmgrprotos.h +2982 -0
  885. embedded_postgres/pginstall/include/server/utils/fmgrtab.h +49 -0
  886. embedded_postgres/pginstall/include/server/utils/formatting.h +35 -0
  887. embedded_postgres/pginstall/include/server/utils/freepage.h +99 -0
  888. embedded_postgres/pginstall/include/server/utils/funccache.h +134 -0
  889. embedded_postgres/pginstall/include/server/utils/geo_decls.h +285 -0
  890. embedded_postgres/pginstall/include/server/utils/guc.h +489 -0
  891. embedded_postgres/pginstall/include/server/utils/guc_hooks.h +178 -0
  892. embedded_postgres/pginstall/include/server/utils/guc_tables.h +341 -0
  893. embedded_postgres/pginstall/include/server/utils/help_config.h +17 -0
  894. embedded_postgres/pginstall/include/server/utils/hsearch.h +158 -0
  895. embedded_postgres/pginstall/include/server/utils/index_selfuncs.h +74 -0
  896. embedded_postgres/pginstall/include/server/utils/inet.h +184 -0
  897. embedded_postgres/pginstall/include/server/utils/injection_point.h +54 -0
  898. embedded_postgres/pginstall/include/server/utils/inval.h +84 -0
  899. embedded_postgres/pginstall/include/server/utils/json.h +33 -0
  900. embedded_postgres/pginstall/include/server/utils/jsonb.h +440 -0
  901. embedded_postgres/pginstall/include/server/utils/jsonfuncs.h +99 -0
  902. embedded_postgres/pginstall/include/server/utils/jsonpath.h +310 -0
  903. embedded_postgres/pginstall/include/server/utils/logtape.h +77 -0
  904. embedded_postgres/pginstall/include/server/utils/lsyscache.h +224 -0
  905. embedded_postgres/pginstall/include/server/utils/memdebug.h +82 -0
  906. embedded_postgres/pginstall/include/server/utils/memutils.h +322 -0
  907. embedded_postgres/pginstall/include/server/utils/memutils_internal.h +176 -0
  908. embedded_postgres/pginstall/include/server/utils/memutils_memorychunk.h +253 -0
  909. embedded_postgres/pginstall/include/server/utils/multirangetypes.h +150 -0
  910. embedded_postgres/pginstall/include/server/utils/numeric.h +115 -0
  911. embedded_postgres/pginstall/include/server/utils/palloc.h +165 -0
  912. embedded_postgres/pginstall/include/server/utils/partcache.h +103 -0
  913. embedded_postgres/pginstall/include/server/utils/pg_crc.h +107 -0
  914. embedded_postgres/pginstall/include/server/utils/pg_locale.h +185 -0
  915. embedded_postgres/pginstall/include/server/utils/pg_lsn.h +38 -0
  916. embedded_postgres/pginstall/include/server/utils/pg_rusage.h +32 -0
  917. embedded_postgres/pginstall/include/server/utils/pgstat_internal.h +945 -0
  918. embedded_postgres/pginstall/include/server/utils/pgstat_kind.h +72 -0
  919. embedded_postgres/pginstall/include/server/utils/pidfile.h +56 -0
  920. embedded_postgres/pginstall/include/server/utils/plancache.h +256 -0
  921. embedded_postgres/pginstall/include/server/utils/portal.h +251 -0
  922. embedded_postgres/pginstall/include/server/utils/probes.h +114 -0
  923. embedded_postgres/pginstall/include/server/utils/ps_status.h +47 -0
  924. embedded_postgres/pginstall/include/server/utils/queryenvironment.h +74 -0
  925. embedded_postgres/pginstall/include/server/utils/rangetypes.h +168 -0
  926. embedded_postgres/pginstall/include/server/utils/regproc.h +39 -0
  927. embedded_postgres/pginstall/include/server/utils/rel.h +731 -0
  928. embedded_postgres/pginstall/include/server/utils/relcache.h +163 -0
  929. embedded_postgres/pginstall/include/server/utils/relfilenumbermap.h +21 -0
  930. embedded_postgres/pginstall/include/server/utils/relmapper.h +73 -0
  931. embedded_postgres/pginstall/include/server/utils/relptr.h +93 -0
  932. embedded_postgres/pginstall/include/server/utils/reltrigger.h +81 -0
  933. embedded_postgres/pginstall/include/server/utils/resowner.h +172 -0
  934. embedded_postgres/pginstall/include/server/utils/rls.h +50 -0
  935. embedded_postgres/pginstall/include/server/utils/ruleutils.h +57 -0
  936. embedded_postgres/pginstall/include/server/utils/sampling.h +64 -0
  937. embedded_postgres/pginstall/include/server/utils/selfuncs.h +251 -0
  938. embedded_postgres/pginstall/include/server/utils/sharedtuplestore.h +61 -0
  939. embedded_postgres/pginstall/include/server/utils/skipsupport.h +98 -0
  940. embedded_postgres/pginstall/include/server/utils/snapmgr.h +122 -0
  941. embedded_postgres/pginstall/include/server/utils/snapshot.h +212 -0
  942. embedded_postgres/pginstall/include/server/utils/sortsupport.h +391 -0
  943. embedded_postgres/pginstall/include/server/utils/spccache.h +21 -0
  944. embedded_postgres/pginstall/include/server/utils/syscache.h +136 -0
  945. embedded_postgres/pginstall/include/server/utils/timeout.h +96 -0
  946. embedded_postgres/pginstall/include/server/utils/timestamp.h +159 -0
  947. embedded_postgres/pginstall/include/server/utils/tuplesort.h +480 -0
  948. embedded_postgres/pginstall/include/server/utils/tuplestore.h +91 -0
  949. embedded_postgres/pginstall/include/server/utils/typcache.h +215 -0
  950. embedded_postgres/pginstall/include/server/utils/tzparser.h +39 -0
  951. embedded_postgres/pginstall/include/server/utils/usercontext.h +26 -0
  952. embedded_postgres/pginstall/include/server/utils/uuid.h +42 -0
  953. embedded_postgres/pginstall/include/server/utils/varbit.h +89 -0
  954. embedded_postgres/pginstall/include/server/utils/varlena.h +53 -0
  955. embedded_postgres/pginstall/include/server/utils/wait_classes.h +29 -0
  956. embedded_postgres/pginstall/include/server/utils/wait_event.h +92 -0
  957. embedded_postgres/pginstall/include/server/utils/wait_event_types.h +225 -0
  958. embedded_postgres/pginstall/include/server/utils/xid8.h +32 -0
  959. embedded_postgres/pginstall/include/server/utils/xml.h +94 -0
  960. embedded_postgres/pginstall/include/server/varatt.h +358 -0
  961. embedded_postgres/pginstall/include/server/windowapi.h +64 -0
  962. embedded_postgres/pginstall/include/sql3types.h +43 -0
  963. embedded_postgres/pginstall/include/sqlca.h +66 -0
  964. embedded_postgres/pginstall/include/sqlda-compat.h +47 -0
  965. embedded_postgres/pginstall/include/sqlda-native.h +43 -0
  966. embedded_postgres/pginstall/include/sqlda.h +18 -0
  967. embedded_postgres/pginstall/lib/_int.dll +0 -0
  968. embedded_postgres/pginstall/lib/amcheck.dll +0 -0
  969. embedded_postgres/pginstall/lib/auth_delay.dll +0 -0
  970. embedded_postgres/pginstall/lib/auto_explain.dll +0 -0
  971. embedded_postgres/pginstall/lib/autoinc.dll +0 -0
  972. embedded_postgres/pginstall/lib/basebackup_to_shell.dll +0 -0
  973. embedded_postgres/pginstall/lib/basic_archive.dll +0 -0
  974. embedded_postgres/pginstall/lib/bloom.dll +0 -0
  975. embedded_postgres/pginstall/lib/btree_gin.dll +0 -0
  976. embedded_postgres/pginstall/lib/btree_gist.dll +0 -0
  977. embedded_postgres/pginstall/lib/citext.dll +0 -0
  978. embedded_postgres/pginstall/lib/cube.dll +0 -0
  979. embedded_postgres/pginstall/lib/cyrillic_and_mic.dll +0 -0
  980. embedded_postgres/pginstall/lib/dblink.dll +0 -0
  981. embedded_postgres/pginstall/lib/dict_int.dll +0 -0
  982. embedded_postgres/pginstall/lib/dict_snowball.dll +0 -0
  983. embedded_postgres/pginstall/lib/dict_xsyn.dll +0 -0
  984. embedded_postgres/pginstall/lib/earthdistance.dll +0 -0
  985. embedded_postgres/pginstall/lib/euc2004_sjis2004.dll +0 -0
  986. embedded_postgres/pginstall/lib/euc_cn_and_mic.dll +0 -0
  987. embedded_postgres/pginstall/lib/euc_jp_and_sjis.dll +0 -0
  988. embedded_postgres/pginstall/lib/euc_kr_and_mic.dll +0 -0
  989. embedded_postgres/pginstall/lib/euc_tw_and_big5.dll +0 -0
  990. embedded_postgres/pginstall/lib/file_fdw.dll +0 -0
  991. embedded_postgres/pginstall/lib/fuzzystrmatch.dll +0 -0
  992. embedded_postgres/pginstall/lib/hstore.dll +0 -0
  993. embedded_postgres/pginstall/lib/insert_username.dll +0 -0
  994. embedded_postgres/pginstall/lib/isn.dll +0 -0
  995. embedded_postgres/pginstall/lib/latin2_and_win1250.dll +0 -0
  996. embedded_postgres/pginstall/lib/latin_and_mic.dll +0 -0
  997. embedded_postgres/pginstall/lib/libecpg.a +0 -0
  998. embedded_postgres/pginstall/lib/libecpg.dll +0 -0
  999. embedded_postgres/pginstall/lib/libecpg_compat.a +0 -0
  1000. embedded_postgres/pginstall/lib/libecpg_compat.dll +0 -0
  1001. embedded_postgres/pginstall/lib/libpgcommon.a +0 -0
  1002. embedded_postgres/pginstall/lib/libpgcommon_shlib.a +0 -0
  1003. embedded_postgres/pginstall/lib/libpgfeutils.a +0 -0
  1004. embedded_postgres/pginstall/lib/libpgport.a +0 -0
  1005. embedded_postgres/pginstall/lib/libpgport_shlib.a +0 -0
  1006. embedded_postgres/pginstall/lib/libpgtypes.a +0 -0
  1007. embedded_postgres/pginstall/lib/libpgtypes.dll +0 -0
  1008. embedded_postgres/pginstall/lib/libpostgres.a +0 -0
  1009. embedded_postgres/pginstall/lib/libpq.a +0 -0
  1010. embedded_postgres/pginstall/lib/libpq.dll +0 -0
  1011. embedded_postgres/pginstall/lib/libpqwalreceiver.dll +0 -0
  1012. embedded_postgres/pginstall/lib/lo.dll +0 -0
  1013. embedded_postgres/pginstall/lib/ltree.dll +0 -0
  1014. embedded_postgres/pginstall/lib/moddatetime.dll +0 -0
  1015. embedded_postgres/pginstall/lib/pageinspect.dll +0 -0
  1016. embedded_postgres/pginstall/lib/passwordcheck.dll +0 -0
  1017. embedded_postgres/pginstall/lib/pg_buffercache.dll +0 -0
  1018. embedded_postgres/pginstall/lib/pg_freespacemap.dll +0 -0
  1019. embedded_postgres/pginstall/lib/pg_logicalinspect.dll +0 -0
  1020. embedded_postgres/pginstall/lib/pg_overexplain.dll +0 -0
  1021. embedded_postgres/pginstall/lib/pg_prewarm.dll +0 -0
  1022. embedded_postgres/pginstall/lib/pg_stat_statements.dll +0 -0
  1023. embedded_postgres/pginstall/lib/pg_surgery.dll +0 -0
  1024. embedded_postgres/pginstall/lib/pg_trgm.dll +0 -0
  1025. embedded_postgres/pginstall/lib/pg_visibility.dll +0 -0
  1026. embedded_postgres/pginstall/lib/pg_walinspect.dll +0 -0
  1027. embedded_postgres/pginstall/lib/pgevent.dll +0 -0
  1028. embedded_postgres/pginstall/lib/pgoutput.dll +0 -0
  1029. embedded_postgres/pginstall/lib/pgrowlocks.dll +0 -0
  1030. embedded_postgres/pginstall/lib/pgstattuple.dll +0 -0
  1031. embedded_postgres/pginstall/lib/pgxs/config/install-sh +527 -0
  1032. embedded_postgres/pginstall/lib/pgxs/config/missing +54 -0
  1033. embedded_postgres/pginstall/lib/pgxs/src/Makefile.global +1139 -0
  1034. embedded_postgres/pginstall/lib/pgxs/src/Makefile.port +83 -0
  1035. embedded_postgres/pginstall/lib/pgxs/src/Makefile.shlib +436 -0
  1036. embedded_postgres/pginstall/lib/pgxs/src/makefiles/pgxs.mk +476 -0
  1037. embedded_postgres/pginstall/lib/pgxs/src/nls-global.mk +182 -0
  1038. embedded_postgres/pginstall/lib/pgxs/src/test/isolation/isolationtester.exe +0 -0
  1039. embedded_postgres/pginstall/lib/pgxs/src/test/isolation/pg_isolation_regress.exe +0 -0
  1040. embedded_postgres/pginstall/lib/pgxs/src/test/regress/pg_regress.exe +0 -0
  1041. embedded_postgres/pginstall/lib/pkgconfig/libecpg.pc +14 -0
  1042. embedded_postgres/pginstall/lib/pkgconfig/libecpg_compat.pc +14 -0
  1043. embedded_postgres/pginstall/lib/pkgconfig/libpgtypes.pc +14 -0
  1044. embedded_postgres/pginstall/lib/pkgconfig/libpq.pc +14 -0
  1045. embedded_postgres/pginstall/lib/plpgsql.dll +0 -0
  1046. embedded_postgres/pginstall/lib/postgres_fdw.dll +0 -0
  1047. embedded_postgres/pginstall/lib/refint.dll +0 -0
  1048. embedded_postgres/pginstall/lib/seg.dll +0 -0
  1049. embedded_postgres/pginstall/lib/tablefunc.dll +0 -0
  1050. embedded_postgres/pginstall/lib/tcn.dll +0 -0
  1051. embedded_postgres/pginstall/lib/test_decoding.dll +0 -0
  1052. embedded_postgres/pginstall/lib/tsm_system_rows.dll +0 -0
  1053. embedded_postgres/pginstall/lib/tsm_system_time.dll +0 -0
  1054. embedded_postgres/pginstall/lib/unaccent.dll +0 -0
  1055. embedded_postgres/pginstall/lib/utf8_and_big5.dll +0 -0
  1056. embedded_postgres/pginstall/lib/utf8_and_cyrillic.dll +0 -0
  1057. embedded_postgres/pginstall/lib/utf8_and_euc2004.dll +0 -0
  1058. embedded_postgres/pginstall/lib/utf8_and_euc_cn.dll +0 -0
  1059. embedded_postgres/pginstall/lib/utf8_and_euc_jp.dll +0 -0
  1060. embedded_postgres/pginstall/lib/utf8_and_euc_kr.dll +0 -0
  1061. embedded_postgres/pginstall/lib/utf8_and_euc_tw.dll +0 -0
  1062. embedded_postgres/pginstall/lib/utf8_and_gb18030.dll +0 -0
  1063. embedded_postgres/pginstall/lib/utf8_and_gbk.dll +0 -0
  1064. embedded_postgres/pginstall/lib/utf8_and_iso8859.dll +0 -0
  1065. embedded_postgres/pginstall/lib/utf8_and_iso8859_1.dll +0 -0
  1066. embedded_postgres/pginstall/lib/utf8_and_johab.dll +0 -0
  1067. embedded_postgres/pginstall/lib/utf8_and_sjis.dll +0 -0
  1068. embedded_postgres/pginstall/lib/utf8_and_sjis2004.dll +0 -0
  1069. embedded_postgres/pginstall/lib/utf8_and_uhc.dll +0 -0
  1070. embedded_postgres/pginstall/lib/utf8_and_win.dll +0 -0
  1071. embedded_postgres/pginstall/lib/vector.dll +0 -0
  1072. embedded_postgres/pginstall/share/doc/extension/autoinc.example +35 -0
  1073. embedded_postgres/pginstall/share/doc/extension/insert_username.example +20 -0
  1074. embedded_postgres/pginstall/share/doc/extension/moddatetime.example +27 -0
  1075. embedded_postgres/pginstall/share/doc/extension/refint.example +82 -0
  1076. embedded_postgres/pginstall/share/errcodes.txt +501 -0
  1077. embedded_postgres/pginstall/share/extension/amcheck--1.0--1.1.sql +29 -0
  1078. embedded_postgres/pginstall/share/extension/amcheck--1.0.sql +24 -0
  1079. embedded_postgres/pginstall/share/extension/amcheck--1.1--1.2.sql +19 -0
  1080. embedded_postgres/pginstall/share/extension/amcheck--1.2--1.3.sql +30 -0
  1081. embedded_postgres/pginstall/share/extension/amcheck--1.3--1.4.sql +29 -0
  1082. embedded_postgres/pginstall/share/extension/amcheck--1.4--1.5.sql +14 -0
  1083. embedded_postgres/pginstall/share/extension/amcheck.control +5 -0
  1084. embedded_postgres/pginstall/share/extension/autoinc--1.0.sql +9 -0
  1085. embedded_postgres/pginstall/share/extension/autoinc.control +5 -0
  1086. embedded_postgres/pginstall/share/extension/bloom--1.0.sql +25 -0
  1087. embedded_postgres/pginstall/share/extension/bloom.control +5 -0
  1088. embedded_postgres/pginstall/share/extension/btree_gin--1.0--1.1.sql +35 -0
  1089. embedded_postgres/pginstall/share/extension/btree_gin--1.0.sql +689 -0
  1090. embedded_postgres/pginstall/share/extension/btree_gin--1.1--1.2.sql +47 -0
  1091. embedded_postgres/pginstall/share/extension/btree_gin--1.2--1.3.sql +128 -0
  1092. embedded_postgres/pginstall/share/extension/btree_gin.control +6 -0
  1093. embedded_postgres/pginstall/share/extension/btree_gist--1.0--1.1.sql +127 -0
  1094. embedded_postgres/pginstall/share/extension/btree_gist--1.1--1.2.sql +79 -0
  1095. embedded_postgres/pginstall/share/extension/btree_gist--1.2--1.3.sql +65 -0
  1096. embedded_postgres/pginstall/share/extension/btree_gist--1.2.sql +1570 -0
  1097. embedded_postgres/pginstall/share/extension/btree_gist--1.3--1.4.sql +64 -0
  1098. embedded_postgres/pginstall/share/extension/btree_gist--1.4--1.5.sql +69 -0
  1099. embedded_postgres/pginstall/share/extension/btree_gist--1.5--1.6.sql +191 -0
  1100. embedded_postgres/pginstall/share/extension/btree_gist--1.6--1.7.sql +77 -0
  1101. embedded_postgres/pginstall/share/extension/btree_gist--1.7--1.8.sql +284 -0
  1102. embedded_postgres/pginstall/share/extension/btree_gist.control +6 -0
  1103. embedded_postgres/pginstall/share/extension/citext--1.0--1.1.sql +21 -0
  1104. embedded_postgres/pginstall/share/extension/citext--1.1--1.2.sql +68 -0
  1105. embedded_postgres/pginstall/share/extension/citext--1.2--1.3.sql +21 -0
  1106. embedded_postgres/pginstall/share/extension/citext--1.3--1.4.sql +12 -0
  1107. embedded_postgres/pginstall/share/extension/citext--1.4--1.5.sql +88 -0
  1108. embedded_postgres/pginstall/share/extension/citext--1.4.sql +501 -0
  1109. embedded_postgres/pginstall/share/extension/citext--1.5--1.6.sql +12 -0
  1110. embedded_postgres/pginstall/share/extension/citext--1.6--1.7.sql +45 -0
  1111. embedded_postgres/pginstall/share/extension/citext--1.7--1.8.sql +60 -0
  1112. embedded_postgres/pginstall/share/extension/citext.control +6 -0
  1113. embedded_postgres/pginstall/share/extension/cube--1.0--1.1.sql +59 -0
  1114. embedded_postgres/pginstall/share/extension/cube--1.1--1.2.sql +75 -0
  1115. embedded_postgres/pginstall/share/extension/cube--1.2--1.3.sql +12 -0
  1116. embedded_postgres/pginstall/share/extension/cube--1.2.sql +378 -0
  1117. embedded_postgres/pginstall/share/extension/cube--1.3--1.4.sql +58 -0
  1118. embedded_postgres/pginstall/share/extension/cube--1.4--1.5.sql +21 -0
  1119. embedded_postgres/pginstall/share/extension/cube.control +6 -0
  1120. embedded_postgres/pginstall/share/extension/dblink--1.0--1.1.sql +14 -0
  1121. embedded_postgres/pginstall/share/extension/dblink--1.1--1.2.sql +46 -0
  1122. embedded_postgres/pginstall/share/extension/dblink--1.2.sql +235 -0
  1123. embedded_postgres/pginstall/share/extension/dblink.control +5 -0
  1124. embedded_postgres/pginstall/share/extension/dict_int--1.0.sql +25 -0
  1125. embedded_postgres/pginstall/share/extension/dict_int.control +6 -0
  1126. embedded_postgres/pginstall/share/extension/dict_xsyn--1.0.sql +25 -0
  1127. embedded_postgres/pginstall/share/extension/dict_xsyn.control +5 -0
  1128. embedded_postgres/pginstall/share/extension/earthdistance--1.0--1.1.sql +14 -0
  1129. embedded_postgres/pginstall/share/extension/earthdistance--1.1--1.2.sql +73 -0
  1130. embedded_postgres/pginstall/share/extension/earthdistance--1.1.sql +98 -0
  1131. embedded_postgres/pginstall/share/extension/earthdistance.control +6 -0
  1132. embedded_postgres/pginstall/share/extension/file_fdw--1.0.sql +18 -0
  1133. embedded_postgres/pginstall/share/extension/file_fdw.control +5 -0
  1134. embedded_postgres/pginstall/share/extension/fuzzystrmatch--1.0--1.1.sql +15 -0
  1135. embedded_postgres/pginstall/share/extension/fuzzystrmatch--1.1--1.2.sql +8 -0
  1136. embedded_postgres/pginstall/share/extension/fuzzystrmatch--1.1.sql +44 -0
  1137. embedded_postgres/pginstall/share/extension/fuzzystrmatch.control +6 -0
  1138. embedded_postgres/pginstall/share/extension/hstore--1.1--1.2.sql +53 -0
  1139. embedded_postgres/pginstall/share/extension/hstore--1.2--1.3.sql +17 -0
  1140. embedded_postgres/pginstall/share/extension/hstore--1.3--1.4.sql +99 -0
  1141. embedded_postgres/pginstall/share/extension/hstore--1.4--1.5.sql +14 -0
  1142. embedded_postgres/pginstall/share/extension/hstore--1.4.sql +550 -0
  1143. embedded_postgres/pginstall/share/extension/hstore--1.5--1.6.sql +12 -0
  1144. embedded_postgres/pginstall/share/extension/hstore--1.6--1.7.sql +27 -0
  1145. embedded_postgres/pginstall/share/extension/hstore--1.7--1.8.sql +17 -0
  1146. embedded_postgres/pginstall/share/extension/hstore.control +6 -0
  1147. embedded_postgres/pginstall/share/extension/insert_username--1.0.sql +9 -0
  1148. embedded_postgres/pginstall/share/extension/insert_username.control +5 -0
  1149. embedded_postgres/pginstall/share/extension/intagg--1.0--1.1.sql +23 -0
  1150. embedded_postgres/pginstall/share/extension/intagg--1.1.sql +37 -0
  1151. embedded_postgres/pginstall/share/extension/intagg.control +4 -0
  1152. embedded_postgres/pginstall/share/extension/intarray--1.0--1.1.sql +49 -0
  1153. embedded_postgres/pginstall/share/extension/intarray--1.1--1.2.sql +94 -0
  1154. embedded_postgres/pginstall/share/extension/intarray--1.2--1.3.sql +20 -0
  1155. embedded_postgres/pginstall/share/extension/intarray--1.2.sql +520 -0
  1156. embedded_postgres/pginstall/share/extension/intarray--1.3--1.4.sql +21 -0
  1157. embedded_postgres/pginstall/share/extension/intarray--1.4--1.5.sql +8 -0
  1158. embedded_postgres/pginstall/share/extension/intarray.control +6 -0
  1159. embedded_postgres/pginstall/share/extension/isn--1.0--1.1.sql +250 -0
  1160. embedded_postgres/pginstall/share/extension/isn--1.1--1.2.sql +228 -0
  1161. embedded_postgres/pginstall/share/extension/isn--1.1.sql +3434 -0
  1162. embedded_postgres/pginstall/share/extension/isn--1.2--1.3.sql +7 -0
  1163. embedded_postgres/pginstall/share/extension/isn.control +6 -0
  1164. embedded_postgres/pginstall/share/extension/lo--1.0--1.1.sql +6 -0
  1165. embedded_postgres/pginstall/share/extension/lo--1.1--1.2.sql +8 -0
  1166. embedded_postgres/pginstall/share/extension/lo--1.1.sql +25 -0
  1167. embedded_postgres/pginstall/share/extension/lo.control +6 -0
  1168. embedded_postgres/pginstall/share/extension/ltree--1.0--1.1.sql +115 -0
  1169. embedded_postgres/pginstall/share/extension/ltree--1.1--1.2.sql +139 -0
  1170. embedded_postgres/pginstall/share/extension/ltree--1.1.sql +872 -0
  1171. embedded_postgres/pginstall/share/extension/ltree--1.2--1.3.sql +23 -0
  1172. embedded_postgres/pginstall/share/extension/ltree.control +6 -0
  1173. embedded_postgres/pginstall/share/extension/moddatetime--1.0.sql +9 -0
  1174. embedded_postgres/pginstall/share/extension/moddatetime.control +5 -0
  1175. embedded_postgres/pginstall/share/extension/pageinspect--1.0--1.1.sql +18 -0
  1176. embedded_postgres/pginstall/share/extension/pageinspect--1.1--1.2.sql +18 -0
  1177. embedded_postgres/pginstall/share/extension/pageinspect--1.10--1.11.sql +28 -0
  1178. embedded_postgres/pginstall/share/extension/pageinspect--1.11--1.12.sql +40 -0
  1179. embedded_postgres/pginstall/share/extension/pageinspect--1.12--1.13.sql +74 -0
  1180. embedded_postgres/pginstall/share/extension/pageinspect--1.2--1.3.sql +82 -0
  1181. embedded_postgres/pginstall/share/extension/pageinspect--1.3--1.4.sql +118 -0
  1182. embedded_postgres/pginstall/share/extension/pageinspect--1.4--1.5.sql +24 -0
  1183. embedded_postgres/pginstall/share/extension/pageinspect--1.5--1.6.sql +99 -0
  1184. embedded_postgres/pginstall/share/extension/pageinspect--1.5.sql +279 -0
  1185. embedded_postgres/pginstall/share/extension/pageinspect--1.6--1.7.sql +26 -0
  1186. embedded_postgres/pginstall/share/extension/pageinspect--1.7--1.8.sql +69 -0
  1187. embedded_postgres/pginstall/share/extension/pageinspect--1.8--1.9.sql +137 -0
  1188. embedded_postgres/pginstall/share/extension/pageinspect--1.9--1.10.sql +21 -0
  1189. embedded_postgres/pginstall/share/extension/pageinspect.control +5 -0
  1190. embedded_postgres/pginstall/share/extension/pg_buffercache--1.0--1.1.sql +11 -0
  1191. embedded_postgres/pginstall/share/extension/pg_buffercache--1.1--1.2.sql +6 -0
  1192. embedded_postgres/pginstall/share/extension/pg_buffercache--1.2--1.3.sql +7 -0
  1193. embedded_postgres/pginstall/share/extension/pg_buffercache--1.2.sql +21 -0
  1194. embedded_postgres/pginstall/share/extension/pg_buffercache--1.3--1.4.sql +28 -0
  1195. embedded_postgres/pginstall/share/extension/pg_buffercache--1.4--1.5.sql +6 -0
  1196. embedded_postgres/pginstall/share/extension/pg_buffercache--1.5--1.6.sql +46 -0
  1197. embedded_postgres/pginstall/share/extension/pg_buffercache.control +5 -0
  1198. embedded_postgres/pginstall/share/extension/pg_freespacemap--1.0--1.1.sql +7 -0
  1199. embedded_postgres/pginstall/share/extension/pg_freespacemap--1.1--1.2.sql +7 -0
  1200. embedded_postgres/pginstall/share/extension/pg_freespacemap--1.1.sql +25 -0
  1201. embedded_postgres/pginstall/share/extension/pg_freespacemap--1.2--1.3.sql +13 -0
  1202. embedded_postgres/pginstall/share/extension/pg_freespacemap.control +5 -0
  1203. embedded_postgres/pginstall/share/extension/pg_logicalinspect--1.0.sql +43 -0
  1204. embedded_postgres/pginstall/share/extension/pg_logicalinspect.control +5 -0
  1205. embedded_postgres/pginstall/share/extension/pg_prewarm--1.0--1.1.sql +6 -0
  1206. embedded_postgres/pginstall/share/extension/pg_prewarm--1.1--1.2.sql +14 -0
  1207. embedded_postgres/pginstall/share/extension/pg_prewarm--1.1.sql +14 -0
  1208. embedded_postgres/pginstall/share/extension/pg_prewarm.control +5 -0
  1209. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.0--1.1.sql +42 -0
  1210. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.1--1.2.sql +43 -0
  1211. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.10--1.11.sql +82 -0
  1212. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.11--1.12.sql +76 -0
  1213. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.2--1.3.sql +47 -0
  1214. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.3--1.4.sql +7 -0
  1215. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.4--1.5.sql +6 -0
  1216. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.4.sql +48 -0
  1217. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.5--1.6.sql +7 -0
  1218. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.6--1.7.sql +22 -0
  1219. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.7--1.8.sql +56 -0
  1220. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.8--1.9.sql +71 -0
  1221. embedded_postgres/pginstall/share/extension/pg_stat_statements--1.9--1.10.sql +67 -0
  1222. embedded_postgres/pginstall/share/extension/pg_stat_statements.control +5 -0
  1223. embedded_postgres/pginstall/share/extension/pg_surgery--1.0.sql +18 -0
  1224. embedded_postgres/pginstall/share/extension/pg_surgery.control +5 -0
  1225. embedded_postgres/pginstall/share/extension/pg_trgm--1.0--1.1.sql +12 -0
  1226. embedded_postgres/pginstall/share/extension/pg_trgm--1.1--1.2.sql +74 -0
  1227. embedded_postgres/pginstall/share/extension/pg_trgm--1.2--1.3.sql +65 -0
  1228. embedded_postgres/pginstall/share/extension/pg_trgm--1.3--1.4.sql +68 -0
  1229. embedded_postgres/pginstall/share/extension/pg_trgm--1.3.sql +254 -0
  1230. embedded_postgres/pginstall/share/extension/pg_trgm--1.4--1.5.sql +23 -0
  1231. embedded_postgres/pginstall/share/extension/pg_trgm--1.5--1.6.sql +10 -0
  1232. embedded_postgres/pginstall/share/extension/pg_trgm.control +6 -0
  1233. embedded_postgres/pginstall/share/extension/pg_visibility--1.0--1.1.sql +24 -0
  1234. embedded_postgres/pginstall/share/extension/pg_visibility--1.1--1.2.sql +13 -0
  1235. embedded_postgres/pginstall/share/extension/pg_visibility--1.1.sql +75 -0
  1236. embedded_postgres/pginstall/share/extension/pg_visibility.control +5 -0
  1237. embedded_postgres/pginstall/share/extension/pg_walinspect--1.0--1.1.sql +42 -0
  1238. embedded_postgres/pginstall/share/extension/pg_walinspect--1.0.sql +118 -0
  1239. embedded_postgres/pginstall/share/extension/pg_walinspect.control +5 -0
  1240. embedded_postgres/pginstall/share/extension/pgrowlocks--1.0--1.1.sql +17 -0
  1241. embedded_postgres/pginstall/share/extension/pgrowlocks--1.1--1.2.sql +6 -0
  1242. embedded_postgres/pginstall/share/extension/pgrowlocks--1.2.sql +15 -0
  1243. embedded_postgres/pginstall/share/extension/pgrowlocks.control +5 -0
  1244. embedded_postgres/pginstall/share/extension/pgstattuple--1.0--1.1.sql +11 -0
  1245. embedded_postgres/pginstall/share/extension/pgstattuple--1.1--1.2.sql +39 -0
  1246. embedded_postgres/pginstall/share/extension/pgstattuple--1.2--1.3.sql +18 -0
  1247. embedded_postgres/pginstall/share/extension/pgstattuple--1.3--1.4.sql +13 -0
  1248. embedded_postgres/pginstall/share/extension/pgstattuple--1.4--1.5.sql +136 -0
  1249. embedded_postgres/pginstall/share/extension/pgstattuple--1.4.sql +95 -0
  1250. embedded_postgres/pginstall/share/extension/pgstattuple.control +5 -0
  1251. embedded_postgres/pginstall/share/extension/plpgsql--1.0.sql +20 -0
  1252. embedded_postgres/pginstall/share/extension/plpgsql.control +8 -0
  1253. embedded_postgres/pginstall/share/extension/postgres_fdw--1.0--1.1.sql +20 -0
  1254. embedded_postgres/pginstall/share/extension/postgres_fdw--1.0.sql +18 -0
  1255. embedded_postgres/pginstall/share/extension/postgres_fdw--1.1--1.2.sql +18 -0
  1256. embedded_postgres/pginstall/share/extension/postgres_fdw.control +5 -0
  1257. embedded_postgres/pginstall/share/extension/refint--1.0.sql +14 -0
  1258. embedded_postgres/pginstall/share/extension/refint.control +5 -0
  1259. embedded_postgres/pginstall/share/extension/seg--1.0--1.1.sql +63 -0
  1260. embedded_postgres/pginstall/share/extension/seg--1.1--1.2.sql +14 -0
  1261. embedded_postgres/pginstall/share/extension/seg--1.1.sql +395 -0
  1262. embedded_postgres/pginstall/share/extension/seg--1.2--1.3.sql +58 -0
  1263. embedded_postgres/pginstall/share/extension/seg--1.3--1.4.sql +8 -0
  1264. embedded_postgres/pginstall/share/extension/seg.control +6 -0
  1265. embedded_postgres/pginstall/share/extension/tablefunc--1.0.sql +88 -0
  1266. embedded_postgres/pginstall/share/extension/tablefunc.control +6 -0
  1267. embedded_postgres/pginstall/share/extension/tcn--1.0.sql +9 -0
  1268. embedded_postgres/pginstall/share/extension/tcn.control +6 -0
  1269. embedded_postgres/pginstall/share/extension/tsm_system_rows--1.0.sql +9 -0
  1270. embedded_postgres/pginstall/share/extension/tsm_system_rows.control +6 -0
  1271. embedded_postgres/pginstall/share/extension/tsm_system_time--1.0.sql +9 -0
  1272. embedded_postgres/pginstall/share/extension/tsm_system_time.control +6 -0
  1273. embedded_postgres/pginstall/share/extension/unaccent--1.0--1.1.sql +9 -0
  1274. embedded_postgres/pginstall/share/extension/unaccent--1.1.sql +34 -0
  1275. embedded_postgres/pginstall/share/extension/unaccent.control +6 -0
  1276. embedded_postgres/pginstall/share/extension/vector--0.1.0--0.1.1.sql +39 -0
  1277. embedded_postgres/pginstall/share/extension/vector--0.1.1--0.1.3.sql +2 -0
  1278. embedded_postgres/pginstall/share/extension/vector--0.1.3--0.1.4.sql +2 -0
  1279. embedded_postgres/pginstall/share/extension/vector--0.1.4--0.1.5.sql +2 -0
  1280. embedded_postgres/pginstall/share/extension/vector--0.1.5--0.1.6.sql +2 -0
  1281. embedded_postgres/pginstall/share/extension/vector--0.1.6--0.1.7.sql +8 -0
  1282. embedded_postgres/pginstall/share/extension/vector--0.1.7--0.1.8.sql +8 -0
  1283. embedded_postgres/pginstall/share/extension/vector--0.1.8--0.2.0.sql +2 -0
  1284. embedded_postgres/pginstall/share/extension/vector--0.2.0--0.2.1.sql +19 -0
  1285. embedded_postgres/pginstall/share/extension/vector--0.2.1--0.2.2.sql +2 -0
  1286. embedded_postgres/pginstall/share/extension/vector--0.2.2--0.2.3.sql +2 -0
  1287. embedded_postgres/pginstall/share/extension/vector--0.2.3--0.2.4.sql +2 -0
  1288. embedded_postgres/pginstall/share/extension/vector--0.2.4--0.2.5.sql +2 -0
  1289. embedded_postgres/pginstall/share/extension/vector--0.2.5--0.2.6.sql +2 -0
  1290. embedded_postgres/pginstall/share/extension/vector--0.2.6--0.2.7.sql +2 -0
  1291. embedded_postgres/pginstall/share/extension/vector--0.2.7--0.3.0.sql +2 -0
  1292. embedded_postgres/pginstall/share/extension/vector--0.3.0--0.3.1.sql +2 -0
  1293. embedded_postgres/pginstall/share/extension/vector--0.3.1--0.3.2.sql +2 -0
  1294. embedded_postgres/pginstall/share/extension/vector--0.3.2--0.4.0.sql +23 -0
  1295. embedded_postgres/pginstall/share/extension/vector--0.4.0--0.4.1.sql +2 -0
  1296. embedded_postgres/pginstall/share/extension/vector--0.4.1--0.4.2.sql +2 -0
  1297. embedded_postgres/pginstall/share/extension/vector--0.4.2--0.4.3.sql +2 -0
  1298. embedded_postgres/pginstall/share/extension/vector--0.4.3--0.4.4.sql +2 -0
  1299. embedded_postgres/pginstall/share/extension/vector--0.4.4--0.5.0.sql +43 -0
  1300. embedded_postgres/pginstall/share/extension/vector--0.5.0--0.5.1.sql +2 -0
  1301. embedded_postgres/pginstall/share/extension/vector--0.5.1--0.6.0.sql +5 -0
  1302. embedded_postgres/pginstall/share/extension/vector--0.6.0--0.6.1.sql +16 -0
  1303. embedded_postgres/pginstall/share/extension/vector--0.6.1--0.6.2.sql +2 -0
  1304. embedded_postgres/pginstall/share/extension/vector--0.6.2--0.7.0.sql +569 -0
  1305. embedded_postgres/pginstall/share/extension/vector--0.7.0--0.7.1.sql +2 -0
  1306. embedded_postgres/pginstall/share/extension/vector--0.7.1--0.7.2.sql +2 -0
  1307. embedded_postgres/pginstall/share/extension/vector--0.7.2--0.7.3.sql +2 -0
  1308. embedded_postgres/pginstall/share/extension/vector--0.7.3--0.7.4.sql +2 -0
  1309. embedded_postgres/pginstall/share/extension/vector--0.7.4--0.8.0.sql +26 -0
  1310. embedded_postgres/pginstall/share/extension/vector--0.8.0--0.8.1.sql +2 -0
  1311. embedded_postgres/pginstall/share/extension/vector--0.8.1--0.8.2.sql +2 -0
  1312. embedded_postgres/pginstall/share/extension/vector--0.8.2--0.8.3.sql +2 -0
  1313. embedded_postgres/pginstall/share/extension/vector--0.8.3--0.8.4.sql +2 -0
  1314. embedded_postgres/pginstall/share/extension/vector--0.8.4--0.8.5.sql +2 -0
  1315. embedded_postgres/pginstall/share/extension/vector--0.8.5--0.8.6.sql +2 -0
  1316. embedded_postgres/pginstall/share/extension/vector--0.8.6.sql +918 -0
  1317. embedded_postgres/pginstall/share/extension/vector.control +4 -0
  1318. embedded_postgres/pginstall/share/information_schema.sql +3011 -0
  1319. embedded_postgres/pginstall/share/pg_hba.conf.sample +122 -0
  1320. embedded_postgres/pginstall/share/pg_ident.conf.sample +72 -0
  1321. embedded_postgres/pginstall/share/pg_service.conf.sample +17 -0
  1322. embedded_postgres/pginstall/share/postgres.bki +11870 -0
  1323. embedded_postgres/pginstall/share/postgresql.conf.sample +889 -0
  1324. embedded_postgres/pginstall/share/psqlrc.sample +8 -0
  1325. embedded_postgres/pginstall/share/snowball_create.sql +1253 -0
  1326. embedded_postgres/pginstall/share/sql_features.txt +755 -0
  1327. embedded_postgres/pginstall/share/system_constraints.sql +220 -0
  1328. embedded_postgres/pginstall/share/system_functions.sql +808 -0
  1329. embedded_postgres/pginstall/share/system_views.sql +1409 -0
  1330. embedded_postgres/pginstall/share/timezonesets/Africa.txt +176 -0
  1331. embedded_postgres/pginstall/share/timezonesets/America.txt +257 -0
  1332. embedded_postgres/pginstall/share/timezonesets/Antarctica.txt +27 -0
  1333. embedded_postgres/pginstall/share/timezonesets/Asia.txt +190 -0
  1334. embedded_postgres/pginstall/share/timezonesets/Atlantic.txt +85 -0
  1335. embedded_postgres/pginstall/share/timezonesets/Australia +27 -0
  1336. embedded_postgres/pginstall/share/timezonesets/Australia.txt +71 -0
  1337. embedded_postgres/pginstall/share/timezonesets/Default +629 -0
  1338. embedded_postgres/pginstall/share/timezonesets/Etc.txt +34 -0
  1339. embedded_postgres/pginstall/share/timezonesets/Europe.txt +217 -0
  1340. embedded_postgres/pginstall/share/timezonesets/India +19 -0
  1341. embedded_postgres/pginstall/share/timezonesets/Indian.txt +30 -0
  1342. embedded_postgres/pginstall/share/timezonesets/Pacific.txt +84 -0
  1343. embedded_postgres/pginstall/share/tsearch_data/danish.stop +94 -0
  1344. embedded_postgres/pginstall/share/tsearch_data/dutch.stop +101 -0
  1345. embedded_postgres/pginstall/share/tsearch_data/english.stop +127 -0
  1346. embedded_postgres/pginstall/share/tsearch_data/finnish.stop +235 -0
  1347. embedded_postgres/pginstall/share/tsearch_data/french.stop +155 -0
  1348. embedded_postgres/pginstall/share/tsearch_data/german.stop +231 -0
  1349. embedded_postgres/pginstall/share/tsearch_data/hungarian.stop +199 -0
  1350. embedded_postgres/pginstall/share/tsearch_data/hunspell_sample.affix +23 -0
  1351. embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_long.affix +53 -0
  1352. embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_long.dict +11 -0
  1353. embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_num.affix +33 -0
  1354. embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_num.dict +9 -0
  1355. embedded_postgres/pginstall/share/tsearch_data/ispell_sample.affix +26 -0
  1356. embedded_postgres/pginstall/share/tsearch_data/ispell_sample.dict +8 -0
  1357. embedded_postgres/pginstall/share/tsearch_data/italian.stop +279 -0
  1358. embedded_postgres/pginstall/share/tsearch_data/nepali.stop +304 -0
  1359. embedded_postgres/pginstall/share/tsearch_data/norwegian.stop +176 -0
  1360. embedded_postgres/pginstall/share/tsearch_data/portuguese.stop +203 -0
  1361. embedded_postgres/pginstall/share/tsearch_data/russian.stop +151 -0
  1362. embedded_postgres/pginstall/share/tsearch_data/spanish.stop +313 -0
  1363. embedded_postgres/pginstall/share/tsearch_data/swedish.stop +114 -0
  1364. embedded_postgres/pginstall/share/tsearch_data/synonym_sample.syn +5 -0
  1365. embedded_postgres/pginstall/share/tsearch_data/thesaurus_sample.ths +17 -0
  1366. embedded_postgres/pginstall/share/tsearch_data/turkish.stop +53 -0
  1367. embedded_postgres/pginstall/share/tsearch_data/unaccent.rules +2661 -0
  1368. embedded_postgres/pginstall/share/tsearch_data/xsyn_sample.rules +6 -0
  1369. embedded_postgres/postgres_server.py +291 -0
  1370. embedded_postgres/py.typed +0 -0
  1371. embedded_postgres/utils.py +278 -0
  1372. embedded_postgres-18.6.0.dist-info/METADATA +106 -0
  1373. embedded_postgres-18.6.0.dist-info/RECORD +1378 -0
  1374. embedded_postgres-18.6.0.dist-info/WHEEL +5 -0
  1375. embedded_postgres-18.6.0.dist-info/licenses/LICENSE +201 -0
  1376. embedded_postgres-18.6.0.dist-info/licenses/NOTICE +10 -0
  1377. embedded_postgres-18.6.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +53 -0
  1378. embedded_postgres-18.6.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1367 @@
1
+ /*-------------------------------------------------------------------------
2
+ *
3
+ * nbtree.h
4
+ * header file for postgres btree access method implementation.
5
+ *
6
+ *
7
+ * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8
+ * Portions Copyright (c) 1994, Regents of the University of California
9
+ *
10
+ * src/include/access/nbtree.h
11
+ *
12
+ *-------------------------------------------------------------------------
13
+ */
14
+ #ifndef NBTREE_H
15
+ #define NBTREE_H
16
+
17
+ #include "access/amapi.h"
18
+ #include "access/itup.h"
19
+ #include "access/sdir.h"
20
+ #include "access/tableam.h"
21
+ #include "access/xlogreader.h"
22
+ #include "catalog/pg_am_d.h"
23
+ #include "catalog/pg_index.h"
24
+ #include "lib/stringinfo.h"
25
+ #include "storage/bufmgr.h"
26
+ #include "storage/shm_toc.h"
27
+ #include "utils/skipsupport.h"
28
+
29
+ /* There's room for a 16-bit vacuum cycle ID in BTPageOpaqueData */
30
+ typedef uint16 BTCycleId;
31
+
32
+ /*
33
+ * BTPageOpaqueData -- At the end of every page, we store a pointer
34
+ * to both siblings in the tree. This is used to do forward/backward
35
+ * index scans. The next-page link is also critical for recovery when
36
+ * a search has navigated to the wrong page due to concurrent page splits
37
+ * or deletions; see src/backend/access/nbtree/README for more info.
38
+ *
39
+ * In addition, we store the page's btree level (counting upwards from
40
+ * zero at a leaf page) as well as some flag bits indicating the page type
41
+ * and status. If the page is deleted, a BTDeletedPageData struct is stored
42
+ * in the page's tuple area, while a standard BTPageOpaqueData struct is
43
+ * stored in the page special area.
44
+ *
45
+ * We also store a "vacuum cycle ID". When a page is split while VACUUM is
46
+ * processing the index, a nonzero value associated with the VACUUM run is
47
+ * stored into both halves of the split page. (If VACUUM is not running,
48
+ * both pages receive zero cycleids.) This allows VACUUM to detect whether
49
+ * a page was split since it started, with a small probability of false match
50
+ * if the page was last split some exact multiple of MAX_BT_CYCLE_ID VACUUMs
51
+ * ago. Also, during a split, the BTP_SPLIT_END flag is cleared in the left
52
+ * (original) page, and set in the right page, but only if the next page
53
+ * to its right has a different cycleid.
54
+ *
55
+ * NOTE: the BTP_LEAF flag bit is redundant since level==0 could be tested
56
+ * instead.
57
+ *
58
+ * NOTE: the btpo_level field used to be a union type in order to allow
59
+ * deleted pages to store a 32-bit safexid in the same field. We now store
60
+ * 64-bit/full safexid values using BTDeletedPageData instead.
61
+ */
62
+
63
+ typedef struct BTPageOpaqueData
64
+ {
65
+ BlockNumber btpo_prev; /* left sibling, or P_NONE if leftmost */
66
+ BlockNumber btpo_next; /* right sibling, or P_NONE if rightmost */
67
+ uint32 btpo_level; /* tree level --- zero for leaf pages */
68
+ uint16 btpo_flags; /* flag bits, see below */
69
+ BTCycleId btpo_cycleid; /* vacuum cycle ID of latest split */
70
+ } BTPageOpaqueData;
71
+
72
+ typedef BTPageOpaqueData *BTPageOpaque;
73
+
74
+ #define BTPageGetOpaque(page) ((BTPageOpaque) PageGetSpecialPointer(page))
75
+
76
+ /* Bits defined in btpo_flags */
77
+ #define BTP_LEAF (1 << 0) /* leaf page, i.e. not internal page */
78
+ #define BTP_ROOT (1 << 1) /* root page (has no parent) */
79
+ #define BTP_DELETED (1 << 2) /* page has been deleted from tree */
80
+ #define BTP_META (1 << 3) /* meta-page */
81
+ #define BTP_HALF_DEAD (1 << 4) /* empty, but still in tree */
82
+ #define BTP_SPLIT_END (1 << 5) /* rightmost page of split group */
83
+ #define BTP_HAS_GARBAGE (1 << 6) /* page has LP_DEAD tuples (deprecated) */
84
+ #define BTP_INCOMPLETE_SPLIT (1 << 7) /* right sibling's downlink is missing */
85
+ #define BTP_HAS_FULLXID (1 << 8) /* contains BTDeletedPageData */
86
+
87
+ /*
88
+ * The max allowed value of a cycle ID is a bit less than 64K. This is
89
+ * for convenience of pg_filedump and similar utilities: we want to use
90
+ * the last 2 bytes of special space as an index type indicator, and
91
+ * restricting cycle ID lets btree use that space for vacuum cycle IDs
92
+ * while still allowing index type to be identified.
93
+ */
94
+ #define MAX_BT_CYCLE_ID 0xFF7F
95
+
96
+
97
+ /*
98
+ * The Meta page is always the first page in the btree index.
99
+ * Its primary purpose is to point to the location of the btree root page.
100
+ * We also point to the "fast" root, which is the current effective root;
101
+ * see README for discussion.
102
+ */
103
+
104
+ typedef struct BTMetaPageData
105
+ {
106
+ uint32 btm_magic; /* should contain BTREE_MAGIC */
107
+ uint32 btm_version; /* nbtree version (always <= BTREE_VERSION) */
108
+ BlockNumber btm_root; /* current root location */
109
+ uint32 btm_level; /* tree level of the root page */
110
+ BlockNumber btm_fastroot; /* current "fast" root location */
111
+ uint32 btm_fastlevel; /* tree level of the "fast" root page */
112
+ /* remaining fields only valid when btm_version >= BTREE_NOVAC_VERSION */
113
+
114
+ /* number of deleted, non-recyclable pages during last cleanup */
115
+ uint32 btm_last_cleanup_num_delpages;
116
+ /* number of heap tuples during last cleanup (deprecated) */
117
+ float8 btm_last_cleanup_num_heap_tuples;
118
+
119
+ bool btm_allequalimage; /* are all columns "equalimage"? */
120
+ } BTMetaPageData;
121
+
122
+ #define BTPageGetMeta(p) \
123
+ ((BTMetaPageData *) PageGetContents(p))
124
+
125
+ /*
126
+ * The current Btree version is 4. That's what you'll get when you create
127
+ * a new index.
128
+ *
129
+ * Btree version 3 was used in PostgreSQL v11. It is mostly the same as
130
+ * version 4, but heap TIDs were not part of the keyspace. Index tuples
131
+ * with duplicate keys could be stored in any order. We continue to
132
+ * support reading and writing Btree versions 2 and 3, so that they don't
133
+ * need to be immediately re-indexed at pg_upgrade. In order to get the
134
+ * new heapkeyspace semantics, however, a REINDEX is needed.
135
+ *
136
+ * Deduplication is safe to use when the btm_allequalimage field is set to
137
+ * true. It's safe to read the btm_allequalimage field on version 3, but
138
+ * only version 4 indexes make use of deduplication. Even version 4
139
+ * indexes created on PostgreSQL v12 will need a REINDEX to make use of
140
+ * deduplication, though, since there is no other way to set
141
+ * btm_allequalimage to true (pg_upgrade hasn't been taught to set the
142
+ * metapage field).
143
+ *
144
+ * Btree version 2 is mostly the same as version 3. There are two new
145
+ * fields in the metapage that were introduced in version 3. A version 2
146
+ * metapage will be automatically upgraded to version 3 on the first
147
+ * insert to it. INCLUDE indexes cannot use version 2.
148
+ */
149
+ #define BTREE_METAPAGE 0 /* first page is meta */
150
+ #define BTREE_MAGIC 0x053162 /* magic number in metapage */
151
+ #define BTREE_VERSION 4 /* current version number */
152
+ #define BTREE_MIN_VERSION 2 /* minimum supported version */
153
+ #define BTREE_NOVAC_VERSION 3 /* version with all meta fields set */
154
+
155
+ /*
156
+ * Maximum size of a btree index entry, including its tuple header.
157
+ *
158
+ * We actually need to be able to fit three items on every page,
159
+ * so restrict any one item to 1/3 the per-page available space.
160
+ *
161
+ * There are rare cases where _bt_truncate() will need to enlarge
162
+ * a heap index tuple to make space for a tiebreaker heap TID
163
+ * attribute, which we account for here.
164
+ */
165
+ #define BTMaxItemSize \
166
+ (MAXALIGN_DOWN((BLCKSZ - \
167
+ MAXALIGN(SizeOfPageHeaderData + 3*sizeof(ItemIdData)) - \
168
+ MAXALIGN(sizeof(BTPageOpaqueData))) / 3) - \
169
+ MAXALIGN(sizeof(ItemPointerData)))
170
+ #define BTMaxItemSizeNoHeapTid \
171
+ MAXALIGN_DOWN((BLCKSZ - \
172
+ MAXALIGN(SizeOfPageHeaderData + 3*sizeof(ItemIdData)) - \
173
+ MAXALIGN(sizeof(BTPageOpaqueData))) / 3)
174
+
175
+ /*
176
+ * MaxTIDsPerBTreePage is an upper bound on the number of heap TIDs tuples
177
+ * that may be stored on a btree leaf page. It is used to size the
178
+ * per-page temporary buffers.
179
+ *
180
+ * Note: we don't bother considering per-tuple overheads here to keep
181
+ * things simple (value is based on how many elements a single array of
182
+ * heap TIDs must have to fill the space between the page header and
183
+ * special area). The value is slightly higher (i.e. more conservative)
184
+ * than necessary as a result, which is considered acceptable.
185
+ */
186
+ #define MaxTIDsPerBTreePage \
187
+ (int) ((BLCKSZ - SizeOfPageHeaderData - sizeof(BTPageOpaqueData)) / \
188
+ sizeof(ItemPointerData))
189
+
190
+ /*
191
+ * The leaf-page fillfactor defaults to 90% but is user-adjustable.
192
+ * For pages above the leaf level, we use a fixed 70% fillfactor.
193
+ * The fillfactor is applied during index build and when splitting
194
+ * a rightmost page; when splitting non-rightmost pages we try to
195
+ * divide the data equally. When splitting a page that's entirely
196
+ * filled with a single value (duplicates), the effective leaf-page
197
+ * fillfactor is 96%, regardless of whether the page is a rightmost
198
+ * page.
199
+ */
200
+ #define BTREE_MIN_FILLFACTOR 10
201
+ #define BTREE_DEFAULT_FILLFACTOR 90
202
+ #define BTREE_NONLEAF_FILLFACTOR 70
203
+ #define BTREE_SINGLEVAL_FILLFACTOR 96
204
+
205
+ /*
206
+ * In general, the btree code tries to localize its knowledge about
207
+ * page layout to a couple of routines. However, we need a special
208
+ * value to indicate "no page number" in those places where we expect
209
+ * page numbers. We can use zero for this because we never need to
210
+ * make a pointer to the metadata page.
211
+ */
212
+
213
+ #define P_NONE 0
214
+
215
+ /*
216
+ * Macros to test whether a page is leftmost or rightmost on its tree level,
217
+ * as well as other state info kept in the opaque data.
218
+ */
219
+ #define P_LEFTMOST(opaque) ((opaque)->btpo_prev == P_NONE)
220
+ #define P_RIGHTMOST(opaque) ((opaque)->btpo_next == P_NONE)
221
+ #define P_ISLEAF(opaque) (((opaque)->btpo_flags & BTP_LEAF) != 0)
222
+ #define P_ISROOT(opaque) (((opaque)->btpo_flags & BTP_ROOT) != 0)
223
+ #define P_ISDELETED(opaque) (((opaque)->btpo_flags & BTP_DELETED) != 0)
224
+ #define P_ISMETA(opaque) (((opaque)->btpo_flags & BTP_META) != 0)
225
+ #define P_ISHALFDEAD(opaque) (((opaque)->btpo_flags & BTP_HALF_DEAD) != 0)
226
+ #define P_IGNORE(opaque) (((opaque)->btpo_flags & (BTP_DELETED|BTP_HALF_DEAD)) != 0)
227
+ #define P_HAS_GARBAGE(opaque) (((opaque)->btpo_flags & BTP_HAS_GARBAGE) != 0)
228
+ #define P_INCOMPLETE_SPLIT(opaque) (((opaque)->btpo_flags & BTP_INCOMPLETE_SPLIT) != 0)
229
+ #define P_HAS_FULLXID(opaque) (((opaque)->btpo_flags & BTP_HAS_FULLXID) != 0)
230
+
231
+ /*
232
+ * BTDeletedPageData is the page contents of a deleted page
233
+ */
234
+ typedef struct BTDeletedPageData
235
+ {
236
+ FullTransactionId safexid; /* See BTPageIsRecyclable() */
237
+ } BTDeletedPageData;
238
+
239
+ static inline void
240
+ BTPageSetDeleted(Page page, FullTransactionId safexid)
241
+ {
242
+ BTPageOpaque opaque;
243
+ PageHeader header;
244
+ BTDeletedPageData *contents;
245
+
246
+ opaque = BTPageGetOpaque(page);
247
+ header = ((PageHeader) page);
248
+
249
+ opaque->btpo_flags &= ~BTP_HALF_DEAD;
250
+ opaque->btpo_flags |= BTP_DELETED | BTP_HAS_FULLXID;
251
+ header->pd_lower = MAXALIGN(SizeOfPageHeaderData) +
252
+ sizeof(BTDeletedPageData);
253
+ header->pd_upper = header->pd_special;
254
+
255
+ /* Set safexid in deleted page */
256
+ contents = ((BTDeletedPageData *) PageGetContents(page));
257
+ contents->safexid = safexid;
258
+ }
259
+
260
+ static inline FullTransactionId
261
+ BTPageGetDeleteXid(Page page)
262
+ {
263
+ BTPageOpaque opaque;
264
+ BTDeletedPageData *contents;
265
+
266
+ /* We only expect to be called with a deleted page */
267
+ Assert(!PageIsNew(page));
268
+ opaque = BTPageGetOpaque(page);
269
+ Assert(P_ISDELETED(opaque));
270
+
271
+ /* pg_upgrade'd deleted page -- must be safe to recycle now */
272
+ if (!P_HAS_FULLXID(opaque))
273
+ return FirstNormalFullTransactionId;
274
+
275
+ /* Get safexid from deleted page */
276
+ contents = ((BTDeletedPageData *) PageGetContents(page));
277
+ return contents->safexid;
278
+ }
279
+
280
+ /*
281
+ * Is an existing page recyclable?
282
+ *
283
+ * This exists to centralize the policy on which deleted pages are now safe to
284
+ * re-use. However, _bt_pendingfsm_finalize() duplicates some of the same
285
+ * logic because it doesn't work directly with pages -- keep the two in sync.
286
+ *
287
+ * Note: PageIsNew() pages are always safe to recycle, but we can't deal with
288
+ * them here (caller is responsible for that case themselves). Caller might
289
+ * well need special handling for new pages anyway.
290
+ */
291
+ static inline bool
292
+ BTPageIsRecyclable(Page page, Relation heaprel)
293
+ {
294
+ BTPageOpaque opaque;
295
+
296
+ Assert(!PageIsNew(page));
297
+ Assert(heaprel != NULL);
298
+
299
+ /* Recycling okay iff page is deleted and safexid is old enough */
300
+ opaque = BTPageGetOpaque(page);
301
+ if (P_ISDELETED(opaque))
302
+ {
303
+ FullTransactionId safexid = BTPageGetDeleteXid(page);
304
+
305
+ /*
306
+ * The page was deleted, but when? If it was just deleted, a scan
307
+ * might have seen the downlink to it, and will read the page later.
308
+ * As long as that can happen, we must keep the deleted page around as
309
+ * a tombstone.
310
+ *
311
+ * For that check if the deletion XID could still be visible to
312
+ * anyone. If not, then no scan that's still in progress could have
313
+ * seen its downlink, and we can recycle it.
314
+ */
315
+ return GlobalVisCheckRemovableFullXid(heaprel, safexid);
316
+ }
317
+
318
+ return false;
319
+ }
320
+
321
+ /*
322
+ * BTVacState and BTPendingFSM are private nbtree.c state used during VACUUM.
323
+ * They are exported for use by page deletion related code in nbtpage.c.
324
+ */
325
+ typedef struct BTPendingFSM
326
+ {
327
+ BlockNumber target; /* Page deleted by current VACUUM */
328
+ FullTransactionId safexid; /* Page's BTDeletedPageData.safexid */
329
+ } BTPendingFSM;
330
+
331
+ typedef struct BTVacState
332
+ {
333
+ IndexVacuumInfo *info;
334
+ IndexBulkDeleteResult *stats;
335
+ IndexBulkDeleteCallback callback;
336
+ void *callback_state;
337
+ BTCycleId cycleid;
338
+ MemoryContext pagedelcontext;
339
+
340
+ /*
341
+ * _bt_pendingfsm_finalize() state
342
+ */
343
+ int bufsize; /* pendingpages space (in # elements) */
344
+ int maxbufsize; /* max bufsize that respects work_mem */
345
+ BTPendingFSM *pendingpages; /* One entry per newly deleted page */
346
+ int npendingpages; /* current # valid pendingpages */
347
+ } BTVacState;
348
+
349
+ /*
350
+ * Lehman and Yao's algorithm requires a ``high key'' on every non-rightmost
351
+ * page. The high key is not a tuple that is used to visit the heap. It is
352
+ * a pivot tuple (see "Notes on B-Tree tuple format" below for definition).
353
+ * The high key on a page is required to be greater than or equal to any
354
+ * other key that appears on the page. If we find ourselves trying to
355
+ * insert a key that is strictly > high key, we know we need to move right
356
+ * (this should only happen if the page was split since we examined the
357
+ * parent page).
358
+ *
359
+ * Our insertion algorithm guarantees that we can use the initial least key
360
+ * on our right sibling as the high key. Once a page is created, its high
361
+ * key changes only if the page is split.
362
+ *
363
+ * On a non-rightmost page, the high key lives in item 1 and data items
364
+ * start in item 2. Rightmost pages have no high key, so we store data
365
+ * items beginning in item 1.
366
+ */
367
+
368
+ #define P_HIKEY ((OffsetNumber) 1)
369
+ #define P_FIRSTKEY ((OffsetNumber) 2)
370
+ #define P_FIRSTDATAKEY(opaque) (P_RIGHTMOST(opaque) ? P_HIKEY : P_FIRSTKEY)
371
+
372
+ /*
373
+ * Notes on B-Tree tuple format, and key and non-key attributes:
374
+ *
375
+ * INCLUDE B-Tree indexes have non-key attributes. These are extra
376
+ * attributes that may be returned by index-only scans, but do not influence
377
+ * the order of items in the index (formally, non-key attributes are not
378
+ * considered to be part of the key space). Non-key attributes are only
379
+ * present in leaf index tuples whose item pointers actually point to heap
380
+ * tuples (non-pivot tuples). _bt_check_natts() enforces the rules
381
+ * described here.
382
+ *
383
+ * Non-pivot tuple format (plain/non-posting variant):
384
+ *
385
+ * t_tid | t_info | key values | INCLUDE columns, if any
386
+ *
387
+ * t_tid points to the heap TID, which is a tiebreaker key column as of
388
+ * BTREE_VERSION 4.
389
+ *
390
+ * Non-pivot tuples complement pivot tuples, which only have key columns.
391
+ * The sole purpose of pivot tuples is to represent how the key space is
392
+ * separated. In general, any B-Tree index that has more than one level
393
+ * (i.e. any index that does not just consist of a metapage and a single
394
+ * leaf root page) must have some number of pivot tuples, since pivot
395
+ * tuples are used for traversing the tree. Suffix truncation can omit
396
+ * trailing key columns when a new pivot is formed, which makes minus
397
+ * infinity their logical value. Since BTREE_VERSION 4 indexes treat heap
398
+ * TID as a trailing key column that ensures that all index tuples are
399
+ * physically unique, it is necessary to represent heap TID as a trailing
400
+ * key column in pivot tuples, though very often this can be truncated
401
+ * away, just like any other key column. (Actually, the heap TID is
402
+ * omitted rather than truncated, since its representation is different to
403
+ * the non-pivot representation.)
404
+ *
405
+ * Pivot tuple format:
406
+ *
407
+ * t_tid | t_info | key values | [heap TID]
408
+ *
409
+ * We store the number of columns present inside pivot tuples by abusing
410
+ * their t_tid offset field, since pivot tuples never need to store a real
411
+ * offset (pivot tuples generally store a downlink in t_tid, though). The
412
+ * offset field only stores the number of columns/attributes when the
413
+ * INDEX_ALT_TID_MASK bit is set, which doesn't count the trailing heap
414
+ * TID column sometimes stored in pivot tuples -- that's represented by
415
+ * the presence of BT_PIVOT_HEAP_TID_ATTR. The INDEX_ALT_TID_MASK bit in
416
+ * t_info is always set on BTREE_VERSION 4 pivot tuples, since
417
+ * BTreeTupleIsPivot() must work reliably on heapkeyspace versions.
418
+ *
419
+ * In version 2 or version 3 (!heapkeyspace) indexes, INDEX_ALT_TID_MASK
420
+ * might not be set in pivot tuples. BTreeTupleIsPivot() won't work
421
+ * reliably as a result. The number of columns stored is implicitly the
422
+ * same as the number of columns in the index, just like any non-pivot
423
+ * tuple. (The number of columns stored should not vary, since suffix
424
+ * truncation of key columns is unsafe within any !heapkeyspace index.)
425
+ *
426
+ * The 12 least significant bits from t_tid's offset number are used to
427
+ * represent the number of key columns within a pivot tuple. This leaves 4
428
+ * status bits (BT_STATUS_OFFSET_MASK bits), which are shared by all tuples
429
+ * that have the INDEX_ALT_TID_MASK bit set (set in t_info) to store basic
430
+ * tuple metadata. BTreeTupleIsPivot() and BTreeTupleIsPosting() use the
431
+ * BT_STATUS_OFFSET_MASK bits.
432
+ *
433
+ * Sometimes non-pivot tuples also use a representation that repurposes
434
+ * t_tid to store metadata rather than a TID. PostgreSQL v13 introduced a
435
+ * new non-pivot tuple format to support deduplication: posting list
436
+ * tuples. Deduplication merges together multiple equal non-pivot tuples
437
+ * into a logically equivalent, space efficient representation. A posting
438
+ * list is an array of ItemPointerData elements. Non-pivot tuples are
439
+ * merged together to form posting list tuples lazily, at the point where
440
+ * we'd otherwise have to split a leaf page.
441
+ *
442
+ * Posting tuple format (alternative non-pivot tuple representation):
443
+ *
444
+ * t_tid | t_info | key values | posting list (TID array)
445
+ *
446
+ * Posting list tuples are recognized as such by having the
447
+ * INDEX_ALT_TID_MASK status bit set in t_info and the BT_IS_POSTING status
448
+ * bit set in t_tid's offset number. These flags redefine the content of
449
+ * the posting tuple's t_tid to store the location of the posting list
450
+ * (instead of a block number), as well as the total number of heap TIDs
451
+ * present in the tuple (instead of a real offset number).
452
+ *
453
+ * The 12 least significant bits from t_tid's offset number are used to
454
+ * represent the number of heap TIDs present in the tuple, leaving 4 status
455
+ * bits (the BT_STATUS_OFFSET_MASK bits). Like any non-pivot tuple, the
456
+ * number of columns stored is always implicitly the total number in the
457
+ * index (in practice there can never be non-key columns stored, since
458
+ * deduplication is not supported with INCLUDE indexes).
459
+ */
460
+ #define INDEX_ALT_TID_MASK INDEX_AM_RESERVED_BIT
461
+
462
+ /* Item pointer offset bit masks */
463
+ #define BT_OFFSET_MASK 0x0FFF
464
+ #define BT_STATUS_OFFSET_MASK 0xF000
465
+ /* BT_STATUS_OFFSET_MASK status bits */
466
+ #define BT_PIVOT_HEAP_TID_ATTR 0x1000
467
+ #define BT_IS_POSTING 0x2000
468
+
469
+ /*
470
+ * Mask allocated for number of keys in index tuple must be able to fit
471
+ * maximum possible number of index attributes
472
+ */
473
+ StaticAssertDecl(BT_OFFSET_MASK >= INDEX_MAX_KEYS,
474
+ "BT_OFFSET_MASK can't fit INDEX_MAX_KEYS");
475
+
476
+ /*
477
+ * Note: BTreeTupleIsPivot() can have false negatives (but not false
478
+ * positives) when used with !heapkeyspace indexes
479
+ */
480
+ static inline bool
481
+ BTreeTupleIsPivot(IndexTuple itup)
482
+ {
483
+ if ((itup->t_info & INDEX_ALT_TID_MASK) == 0)
484
+ return false;
485
+ /* absence of BT_IS_POSTING in offset number indicates pivot tuple */
486
+ if ((ItemPointerGetOffsetNumberNoCheck(&itup->t_tid) & BT_IS_POSTING) != 0)
487
+ return false;
488
+
489
+ return true;
490
+ }
491
+
492
+ static inline bool
493
+ BTreeTupleIsPosting(IndexTuple itup)
494
+ {
495
+ if ((itup->t_info & INDEX_ALT_TID_MASK) == 0)
496
+ return false;
497
+ /* presence of BT_IS_POSTING in offset number indicates posting tuple */
498
+ if ((ItemPointerGetOffsetNumberNoCheck(&itup->t_tid) & BT_IS_POSTING) == 0)
499
+ return false;
500
+
501
+ return true;
502
+ }
503
+
504
+ static inline void
505
+ BTreeTupleSetPosting(IndexTuple itup, uint16 nhtids, int postingoffset)
506
+ {
507
+ Assert(nhtids > 1);
508
+ Assert((nhtids & BT_STATUS_OFFSET_MASK) == 0);
509
+ Assert((size_t) postingoffset == MAXALIGN(postingoffset));
510
+ Assert(postingoffset < INDEX_SIZE_MASK);
511
+ Assert(!BTreeTupleIsPivot(itup));
512
+
513
+ itup->t_info |= INDEX_ALT_TID_MASK;
514
+ ItemPointerSetOffsetNumber(&itup->t_tid, (nhtids | BT_IS_POSTING));
515
+ ItemPointerSetBlockNumber(&itup->t_tid, postingoffset);
516
+ }
517
+
518
+ static inline uint16
519
+ BTreeTupleGetNPosting(IndexTuple posting)
520
+ {
521
+ OffsetNumber existing;
522
+
523
+ Assert(BTreeTupleIsPosting(posting));
524
+
525
+ existing = ItemPointerGetOffsetNumberNoCheck(&posting->t_tid);
526
+ return (existing & BT_OFFSET_MASK);
527
+ }
528
+
529
+ static inline uint32
530
+ BTreeTupleGetPostingOffset(IndexTuple posting)
531
+ {
532
+ Assert(BTreeTupleIsPosting(posting));
533
+
534
+ return ItemPointerGetBlockNumberNoCheck(&posting->t_tid);
535
+ }
536
+
537
+ static inline ItemPointer
538
+ BTreeTupleGetPosting(IndexTuple posting)
539
+ {
540
+ return (ItemPointer) ((char *) posting +
541
+ BTreeTupleGetPostingOffset(posting));
542
+ }
543
+
544
+ static inline ItemPointer
545
+ BTreeTupleGetPostingN(IndexTuple posting, int n)
546
+ {
547
+ return BTreeTupleGetPosting(posting) + n;
548
+ }
549
+
550
+ /*
551
+ * Get/set downlink block number in pivot tuple.
552
+ *
553
+ * Note: Cannot assert that tuple is a pivot tuple. If we did so then
554
+ * !heapkeyspace indexes would exhibit false positive assertion failures.
555
+ */
556
+ static inline BlockNumber
557
+ BTreeTupleGetDownLink(IndexTuple pivot)
558
+ {
559
+ return ItemPointerGetBlockNumberNoCheck(&pivot->t_tid);
560
+ }
561
+
562
+ static inline void
563
+ BTreeTupleSetDownLink(IndexTuple pivot, BlockNumber blkno)
564
+ {
565
+ ItemPointerSetBlockNumber(&pivot->t_tid, blkno);
566
+ }
567
+
568
+ /*
569
+ * Get number of attributes within tuple.
570
+ *
571
+ * Note that this does not include an implicit tiebreaker heap TID
572
+ * attribute, if any. Note also that the number of key attributes must be
573
+ * explicitly represented in all heapkeyspace pivot tuples.
574
+ *
575
+ * Note: This is defined as a macro rather than an inline function to
576
+ * avoid including rel.h.
577
+ */
578
+ #define BTreeTupleGetNAtts(itup, rel) \
579
+ ( \
580
+ (BTreeTupleIsPivot(itup)) ? \
581
+ ( \
582
+ ItemPointerGetOffsetNumberNoCheck(&(itup)->t_tid) & BT_OFFSET_MASK \
583
+ ) \
584
+ : \
585
+ IndexRelationGetNumberOfAttributes(rel) \
586
+ )
587
+
588
+ /*
589
+ * Set number of key attributes in tuple.
590
+ *
591
+ * The heap TID tiebreaker attribute bit may also be set here, indicating that
592
+ * a heap TID value will be stored at the end of the tuple (i.e. using the
593
+ * special pivot tuple representation).
594
+ */
595
+ static inline void
596
+ BTreeTupleSetNAtts(IndexTuple itup, uint16 nkeyatts, bool heaptid)
597
+ {
598
+ Assert(nkeyatts <= INDEX_MAX_KEYS);
599
+ Assert((nkeyatts & BT_STATUS_OFFSET_MASK) == 0);
600
+ Assert(!heaptid || nkeyatts > 0);
601
+ Assert(!BTreeTupleIsPivot(itup) || nkeyatts == 0);
602
+
603
+ itup->t_info |= INDEX_ALT_TID_MASK;
604
+
605
+ if (heaptid)
606
+ nkeyatts |= BT_PIVOT_HEAP_TID_ATTR;
607
+
608
+ /* BT_IS_POSTING bit is deliberately unset here */
609
+ ItemPointerSetOffsetNumber(&itup->t_tid, nkeyatts);
610
+ Assert(BTreeTupleIsPivot(itup));
611
+ }
612
+
613
+ /*
614
+ * Get/set leaf page's "top parent" link from its high key. Used during page
615
+ * deletion.
616
+ *
617
+ * Note: Cannot assert that tuple is a pivot tuple. If we did so then
618
+ * !heapkeyspace indexes would exhibit false positive assertion failures.
619
+ */
620
+ static inline BlockNumber
621
+ BTreeTupleGetTopParent(IndexTuple leafhikey)
622
+ {
623
+ return ItemPointerGetBlockNumberNoCheck(&leafhikey->t_tid);
624
+ }
625
+
626
+ static inline void
627
+ BTreeTupleSetTopParent(IndexTuple leafhikey, BlockNumber blkno)
628
+ {
629
+ ItemPointerSetBlockNumber(&leafhikey->t_tid, blkno);
630
+ BTreeTupleSetNAtts(leafhikey, 0, false);
631
+ }
632
+
633
+ /*
634
+ * Get tiebreaker heap TID attribute, if any.
635
+ *
636
+ * This returns the first/lowest heap TID in the case of a posting list tuple.
637
+ */
638
+ static inline ItemPointer
639
+ BTreeTupleGetHeapTID(IndexTuple itup)
640
+ {
641
+ if (BTreeTupleIsPivot(itup))
642
+ {
643
+ /* Pivot tuple heap TID representation? */
644
+ if ((ItemPointerGetOffsetNumberNoCheck(&itup->t_tid) &
645
+ BT_PIVOT_HEAP_TID_ATTR) != 0)
646
+ return (ItemPointer) ((char *) itup + IndexTupleSize(itup) -
647
+ sizeof(ItemPointerData));
648
+
649
+ /* Heap TID attribute was truncated */
650
+ return NULL;
651
+ }
652
+ else if (BTreeTupleIsPosting(itup))
653
+ return BTreeTupleGetPosting(itup);
654
+
655
+ return &itup->t_tid;
656
+ }
657
+
658
+ /*
659
+ * Get maximum heap TID attribute, which could be the only TID in the case of
660
+ * a non-pivot tuple that does not have a posting list.
661
+ *
662
+ * Works with non-pivot tuples only.
663
+ */
664
+ static inline ItemPointer
665
+ BTreeTupleGetMaxHeapTID(IndexTuple itup)
666
+ {
667
+ Assert(!BTreeTupleIsPivot(itup));
668
+
669
+ if (BTreeTupleIsPosting(itup))
670
+ {
671
+ uint16 nposting = BTreeTupleGetNPosting(itup);
672
+
673
+ return BTreeTupleGetPostingN(itup, nposting - 1);
674
+ }
675
+
676
+ return &itup->t_tid;
677
+ }
678
+
679
+ /*
680
+ * Operator strategy numbers for B-tree have been moved to access/stratnum.h,
681
+ * because many places need to use them in ScanKeyInit() calls.
682
+ *
683
+ * The strategy numbers are chosen so that we can commute them by
684
+ * subtraction, thus:
685
+ */
686
+ #define BTCommuteStrategyNumber(strat) (BTMaxStrategyNumber + 1 - (strat))
687
+
688
+ /*
689
+ * When a new operator class is declared, we require that the user
690
+ * supply us with an amproc procedure (BTORDER_PROC) for determining
691
+ * whether, for two keys a and b, a < b, a = b, or a > b. This routine
692
+ * must return < 0, 0, > 0, respectively, in these three cases.
693
+ *
694
+ * To facilitate accelerated sorting, an operator class may choose to
695
+ * offer a second procedure (BTSORTSUPPORT_PROC). For full details, see
696
+ * src/include/utils/sortsupport.h.
697
+ *
698
+ * To support window frames defined by "RANGE offset PRECEDING/FOLLOWING",
699
+ * an operator class may choose to offer a third amproc procedure
700
+ * (BTINRANGE_PROC), independently of whether it offers sortsupport.
701
+ * For full details, see doc/src/sgml/btree.sgml.
702
+ *
703
+ * To facilitate B-Tree deduplication, an operator class may choose to
704
+ * offer a forth amproc procedure (BTEQUALIMAGE_PROC). For full details,
705
+ * see doc/src/sgml/btree.sgml.
706
+ *
707
+ * An operator class may choose to offer a fifth amproc procedure
708
+ * (BTOPTIONS_PROC). These procedures define a set of user-visible
709
+ * parameters that can be used to control operator class behavior. None of
710
+ * the built-in B-Tree operator classes currently register an "options" proc.
711
+ *
712
+ * To facilitate more efficient B-Tree skip scans, an operator class may
713
+ * choose to offer a sixth amproc procedure (BTSKIPSUPPORT_PROC). For full
714
+ * details, see src/include/utils/skipsupport.h.
715
+ */
716
+
717
+ #define BTORDER_PROC 1
718
+ #define BTSORTSUPPORT_PROC 2
719
+ #define BTINRANGE_PROC 3
720
+ #define BTEQUALIMAGE_PROC 4
721
+ #define BTOPTIONS_PROC 5
722
+ #define BTSKIPSUPPORT_PROC 6
723
+ #define BTNProcs 6
724
+
725
+ /*
726
+ * We need to be able to tell the difference between read and write
727
+ * requests for pages, in order to do locking correctly.
728
+ */
729
+
730
+ #define BT_READ BUFFER_LOCK_SHARE
731
+ #define BT_WRITE BUFFER_LOCK_EXCLUSIVE
732
+
733
+ /*
734
+ * BTStackData -- As we descend a tree, we push the location of pivot
735
+ * tuples whose downlink we are about to follow onto a private stack. If
736
+ * we split a leaf, we use this stack to walk back up the tree and insert
737
+ * data into its parent page at the correct location. We also have to
738
+ * recursively insert into the grandparent page if and when the parent page
739
+ * splits. Our private stack can become stale due to concurrent page
740
+ * splits and page deletions, but it should never give us an irredeemably
741
+ * bad picture.
742
+ */
743
+ typedef struct BTStackData
744
+ {
745
+ BlockNumber bts_blkno;
746
+ OffsetNumber bts_offset;
747
+ struct BTStackData *bts_parent;
748
+ } BTStackData;
749
+
750
+ typedef BTStackData *BTStack;
751
+
752
+ /*
753
+ * BTScanInsertData is the btree-private state needed to find an initial
754
+ * position for an indexscan, or to insert new tuples -- an "insertion
755
+ * scankey" (not to be confused with a search scankey). It's used to descend
756
+ * a B-Tree using _bt_search.
757
+ *
758
+ * heapkeyspace indicates if we expect all keys in the index to be physically
759
+ * unique because heap TID is used as a tiebreaker attribute, and if index may
760
+ * have truncated key attributes in pivot tuples. This is actually a property
761
+ * of the index relation itself (not an indexscan). heapkeyspace indexes are
762
+ * indexes whose version is >= version 4. It's convenient to keep this close
763
+ * by, rather than accessing the metapage repeatedly.
764
+ *
765
+ * allequalimage is set to indicate that deduplication is safe for the index.
766
+ * This is also a property of the index relation rather than an indexscan.
767
+ *
768
+ * anynullkeys indicates if any of the keys had NULL value when scankey was
769
+ * built from index tuple (note that already-truncated tuple key attributes
770
+ * set NULL as a placeholder key value, which also affects value of
771
+ * anynullkeys). This is a convenience for unique index non-pivot tuple
772
+ * insertion, which usually temporarily unsets scantid, but shouldn't iff
773
+ * anynullkeys is true. Value generally matches non-pivot tuple's HasNulls
774
+ * bit, but may not when inserting into an INCLUDE index (tuple header value
775
+ * is affected by the NULL-ness of both key and non-key attributes).
776
+ *
777
+ * See comments in _bt_first for an explanation of the nextkey and backward
778
+ * fields.
779
+ *
780
+ * scantid is the heap TID that is used as a final tiebreaker attribute. It
781
+ * is set to NULL when index scan doesn't need to find a position for a
782
+ * specific physical tuple. Must be set when inserting new tuples into
783
+ * heapkeyspace indexes, since every tuple in the tree unambiguously belongs
784
+ * in one exact position (it's never set with !heapkeyspace indexes, though).
785
+ * Despite the representational difference, nbtree search code considers
786
+ * scantid to be just another insertion scankey attribute.
787
+ *
788
+ * scankeys is an array of scan key entries for attributes that are compared
789
+ * before scantid (user-visible attributes). keysz is the size of the array.
790
+ * During insertion, there must be a scan key for every attribute, but when
791
+ * starting a regular index scan some can be omitted. The array is used as a
792
+ * flexible array member, though it's sized in a way that makes it possible to
793
+ * use stack allocations. See nbtree/README for full details.
794
+ */
795
+ typedef struct BTScanInsertData
796
+ {
797
+ bool heapkeyspace;
798
+ bool allequalimage;
799
+ bool anynullkeys;
800
+ bool nextkey;
801
+ bool backward; /* backward index scan? */
802
+ ItemPointer scantid; /* tiebreaker for scankeys */
803
+ int keysz; /* Size of scankeys array */
804
+ ScanKeyData scankeys[INDEX_MAX_KEYS]; /* Must appear last */
805
+ } BTScanInsertData;
806
+
807
+ typedef BTScanInsertData *BTScanInsert;
808
+
809
+ /*
810
+ * BTInsertStateData is a working area used during insertion.
811
+ *
812
+ * This is filled in after descending the tree to the first leaf page the new
813
+ * tuple might belong on. Tracks the current position while performing
814
+ * uniqueness check, before we have determined which exact page to insert
815
+ * to.
816
+ *
817
+ * (This should be private to nbtinsert.c, but it's also used by
818
+ * _bt_binsrch_insert)
819
+ */
820
+ typedef struct BTInsertStateData
821
+ {
822
+ IndexTuple itup; /* Item we're inserting */
823
+ Size itemsz; /* Size of itup -- should be MAXALIGN()'d */
824
+ BTScanInsert itup_key; /* Insertion scankey */
825
+
826
+ /* Buffer containing leaf page we're likely to insert itup on */
827
+ Buffer buf;
828
+
829
+ /*
830
+ * Cache of bounds within the current buffer. Only used for insertions
831
+ * where _bt_check_unique is called. See _bt_binsrch_insert and
832
+ * _bt_findinsertloc for details.
833
+ */
834
+ bool bounds_valid;
835
+ OffsetNumber low;
836
+ OffsetNumber stricthigh;
837
+
838
+ /*
839
+ * if _bt_binsrch_insert found the location inside existing posting list,
840
+ * save the position inside the list. -1 sentinel value indicates overlap
841
+ * with an existing posting list tuple that has its LP_DEAD bit set.
842
+ */
843
+ int postingoff;
844
+ } BTInsertStateData;
845
+
846
+ typedef BTInsertStateData *BTInsertState;
847
+
848
+ /*
849
+ * State used to representing an individual pending tuple during
850
+ * deduplication.
851
+ */
852
+ typedef struct BTDedupInterval
853
+ {
854
+ OffsetNumber baseoff;
855
+ uint16 nitems;
856
+ } BTDedupInterval;
857
+
858
+ /*
859
+ * BTDedupStateData is a working area used during deduplication.
860
+ *
861
+ * The status info fields track the state of a whole-page deduplication pass.
862
+ * State about the current pending posting list is also tracked.
863
+ *
864
+ * A pending posting list is comprised of a contiguous group of equal items
865
+ * from the page, starting from page offset number 'baseoff'. This is the
866
+ * offset number of the "base" tuple for new posting list. 'nitems' is the
867
+ * current total number of existing items from the page that will be merged to
868
+ * make a new posting list tuple, including the base tuple item. (Existing
869
+ * items may themselves be posting list tuples, or regular non-pivot tuples.)
870
+ *
871
+ * The total size of the existing tuples to be freed when pending posting list
872
+ * is processed gets tracked by 'phystupsize'. This information allows
873
+ * deduplication to calculate the space saving for each new posting list
874
+ * tuple, and for the entire pass over the page as a whole.
875
+ */
876
+ typedef struct BTDedupStateData
877
+ {
878
+ /* Deduplication status info for entire pass over page */
879
+ bool deduplicate; /* Still deduplicating page? */
880
+ int nmaxitems; /* Number of max-sized tuples so far */
881
+ Size maxpostingsize; /* Limit on size of final tuple */
882
+
883
+ /* Metadata about base tuple of current pending posting list */
884
+ IndexTuple base; /* Use to form new posting list */
885
+ OffsetNumber baseoff; /* page offset of base */
886
+ Size basetupsize; /* base size without original posting list */
887
+
888
+ /* Other metadata about pending posting list */
889
+ ItemPointer htids; /* Heap TIDs in pending posting list */
890
+ int nhtids; /* Number of heap TIDs in htids array */
891
+ int nitems; /* Number of existing tuples/line pointers */
892
+ Size phystupsize; /* Includes line pointer overhead */
893
+
894
+ /*
895
+ * Array of tuples to go on new version of the page. Contains one entry
896
+ * for each group of consecutive items. Note that existing tuples that
897
+ * will not become posting list tuples do not appear in the array (they
898
+ * are implicitly unchanged by deduplication pass).
899
+ */
900
+ int nintervals; /* current number of intervals in array */
901
+ BTDedupInterval intervals[MaxIndexTuplesPerPage];
902
+ } BTDedupStateData;
903
+
904
+ typedef BTDedupStateData *BTDedupState;
905
+
906
+ /*
907
+ * BTVacuumPostingData is state that represents how to VACUUM (or delete) a
908
+ * posting list tuple when some (though not all) of its TIDs are to be
909
+ * deleted.
910
+ *
911
+ * Convention is that itup field is the original posting list tuple on input,
912
+ * and palloc()'d final tuple used to overwrite existing tuple on output.
913
+ */
914
+ typedef struct BTVacuumPostingData
915
+ {
916
+ /* Tuple that will be/was updated */
917
+ IndexTuple itup;
918
+ OffsetNumber updatedoffset;
919
+
920
+ /* State needed to describe final itup in WAL */
921
+ uint16 ndeletedtids;
922
+ uint16 deletetids[FLEXIBLE_ARRAY_MEMBER];
923
+ } BTVacuumPostingData;
924
+
925
+ typedef BTVacuumPostingData *BTVacuumPosting;
926
+
927
+ /*
928
+ * BTScanOpaqueData is the btree-private state needed for an indexscan.
929
+ * This consists of preprocessed scan keys (see _bt_preprocess_keys() for
930
+ * details of the preprocessing), information about the current location
931
+ * of the scan, and information about the marked location, if any. (We use
932
+ * BTScanPosData to represent the data needed for each of current and marked
933
+ * locations.) In addition we can remember some known-killed index entries
934
+ * that must be marked before we can move off the current page.
935
+ *
936
+ * Index scans work a page at a time: we pin and read-lock the page, identify
937
+ * all the matching items on the page and save them in BTScanPosData, then
938
+ * release the read-lock while returning the items to the caller for
939
+ * processing. This approach minimizes lock/unlock traffic. We must always
940
+ * drop the lock to make it okay for caller to process the returned items.
941
+ * Whether or not we can also release the pin during this window will vary.
942
+ * We drop the pin (when so->dropPin) to avoid blocking progress by VACUUM
943
+ * (see nbtree/README section about making concurrent TID recycling safe).
944
+ * We'll always release both the lock and the pin on the current page before
945
+ * moving on to its sibling page.
946
+ *
947
+ * If we are doing an index-only scan, we save the entire IndexTuple for each
948
+ * matched item, otherwise only its heap TID and offset. The IndexTuples go
949
+ * into a separate workspace array; each BTScanPosItem stores its tuple's
950
+ * offset within that array. Posting list tuples store a "base" tuple once,
951
+ * allowing the same key to be returned for each TID in the posting list
952
+ * tuple.
953
+ */
954
+
955
+ typedef struct BTScanPosItem /* what we remember about each match */
956
+ {
957
+ ItemPointerData heapTid; /* TID of referenced heap item */
958
+ OffsetNumber indexOffset; /* index item's location within page */
959
+ LocationIndex tupleOffset; /* IndexTuple's offset in workspace, if any */
960
+ } BTScanPosItem;
961
+
962
+ typedef struct BTScanPosData
963
+ {
964
+ Buffer buf; /* currPage buf (invalid means unpinned) */
965
+
966
+ /* page details as of the saved position's call to _bt_readpage */
967
+ BlockNumber currPage; /* page referenced by items array */
968
+ BlockNumber prevPage; /* currPage's left link */
969
+ BlockNumber nextPage; /* currPage's right link */
970
+ XLogRecPtr lsn; /* currPage's LSN (when so->dropPin) */
971
+
972
+ /* scan direction for the saved position's call to _bt_readpage */
973
+ ScanDirection dir;
974
+
975
+ /*
976
+ * If we are doing an index-only scan, nextTupleOffset is the first free
977
+ * location in the associated tuple storage workspace.
978
+ */
979
+ int nextTupleOffset;
980
+
981
+ /*
982
+ * moreLeft and moreRight track whether we think there may be matching
983
+ * index entries to the left and right of the current page, respectively.
984
+ */
985
+ bool moreLeft;
986
+ bool moreRight;
987
+
988
+ /*
989
+ * The items array is always ordered in index order (ie, increasing
990
+ * indexoffset). When scanning backwards it is convenient to fill the
991
+ * array back-to-front, so we start at the last slot and fill downwards.
992
+ * Hence we need both a first-valid-entry and a last-valid-entry counter.
993
+ * itemIndex is a cursor showing which entry was last returned to caller.
994
+ */
995
+ int firstItem; /* first valid index in items[] */
996
+ int lastItem; /* last valid index in items[] */
997
+ int itemIndex; /* current index in items[] */
998
+
999
+ BTScanPosItem items[MaxTIDsPerBTreePage]; /* MUST BE LAST */
1000
+ } BTScanPosData;
1001
+
1002
+ typedef BTScanPosData *BTScanPos;
1003
+
1004
+ #define BTScanPosIsPinned(scanpos) \
1005
+ ( \
1006
+ AssertMacro(BlockNumberIsValid((scanpos).currPage) || \
1007
+ !BufferIsValid((scanpos).buf)), \
1008
+ BufferIsValid((scanpos).buf) \
1009
+ )
1010
+ #define BTScanPosUnpin(scanpos) \
1011
+ do { \
1012
+ ReleaseBuffer((scanpos).buf); \
1013
+ (scanpos).buf = InvalidBuffer; \
1014
+ } while (0)
1015
+ #define BTScanPosUnpinIfPinned(scanpos) \
1016
+ do { \
1017
+ if (BTScanPosIsPinned(scanpos)) \
1018
+ BTScanPosUnpin(scanpos); \
1019
+ } while (0)
1020
+
1021
+ #define BTScanPosIsValid(scanpos) \
1022
+ ( \
1023
+ AssertMacro(BlockNumberIsValid((scanpos).currPage) || \
1024
+ !BufferIsValid((scanpos).buf)), \
1025
+ BlockNumberIsValid((scanpos).currPage) \
1026
+ )
1027
+ #define BTScanPosInvalidate(scanpos) \
1028
+ do { \
1029
+ (scanpos).buf = InvalidBuffer; \
1030
+ (scanpos).currPage = InvalidBlockNumber; \
1031
+ } while (0)
1032
+
1033
+ /* We need one of these for each equality-type SK_SEARCHARRAY scan key */
1034
+ typedef struct BTArrayKeyInfo
1035
+ {
1036
+ /* fields set for both kinds of array (SAOP arrays and skip arrays) */
1037
+ int scan_key; /* index of associated key in keyData */
1038
+ int num_elems; /* number of elems (-1 means skip array) */
1039
+
1040
+ /* fields set for ScalarArrayOpExpr arrays only */
1041
+ Datum *elem_values; /* array of num_elems Datums */
1042
+ int cur_elem; /* index of current element in elem_values */
1043
+
1044
+ /* fields set for skip arrays only */
1045
+ int16 attlen; /* attr's length, in bytes */
1046
+ bool attbyval; /* attr's FormData_pg_attribute.attbyval */
1047
+ bool null_elem; /* NULL is lowest/highest element? */
1048
+ SkipSupport sksup; /* skip support (NULL if opclass lacks it) */
1049
+ ScanKey low_compare; /* array's > or >= lower bound */
1050
+ ScanKey high_compare; /* array's < or <= upper bound */
1051
+ } BTArrayKeyInfo;
1052
+
1053
+ typedef struct BTScanOpaqueData
1054
+ {
1055
+ /* these fields are set by _bt_preprocess_keys(): */
1056
+ bool qual_ok; /* false if qual can never be satisfied */
1057
+ int numberOfKeys; /* number of preprocessed scan keys */
1058
+ ScanKey keyData; /* array of preprocessed scan keys */
1059
+
1060
+ /* workspace for SK_SEARCHARRAY support */
1061
+ int numArrayKeys; /* number of equality-type array keys */
1062
+ bool skipScan; /* At least one skip array in arrayKeys[]? */
1063
+ bool needPrimScan; /* New prim scan to continue in current dir? */
1064
+ bool scanBehind; /* Check scan not still behind on next page? */
1065
+ bool oppositeDirCheck; /* scanBehind opposite-scan-dir check? */
1066
+ BTArrayKeyInfo *arrayKeys; /* info about each equality-type array key */
1067
+ FmgrInfo *orderProcs; /* ORDER procs for required equality keys */
1068
+ MemoryContext arrayContext; /* scan-lifespan context for array data */
1069
+
1070
+ /* info about killed items if any (killedItems is NULL if never used) */
1071
+ int *killedItems; /* currPos.items indexes of killed items */
1072
+ int numKilled; /* number of currently stored items */
1073
+ bool dropPin; /* drop leaf pin before btgettuple returns? */
1074
+
1075
+ /*
1076
+ * If we are doing an index-only scan, these are the tuple storage
1077
+ * workspaces for the currPos and markPos respectively. Each is of size
1078
+ * BLCKSZ, so it can hold as much as a full page's worth of tuples.
1079
+ */
1080
+ char *currTuples; /* tuple storage for currPos */
1081
+ char *markTuples; /* tuple storage for markPos */
1082
+
1083
+ /*
1084
+ * If the marked position is on the same page as current position, we
1085
+ * don't use markPos, but just keep the marked itemIndex in markItemIndex
1086
+ * (all the rest of currPos is valid for the mark position). Hence, to
1087
+ * determine if there is a mark, first look at markItemIndex, then at
1088
+ * markPos.
1089
+ */
1090
+ int markItemIndex; /* itemIndex, or -1 if not valid */
1091
+
1092
+ /* keep these last in struct for efficiency */
1093
+ BTScanPosData currPos; /* current position data */
1094
+ BTScanPosData markPos; /* marked position, if any */
1095
+ } BTScanOpaqueData;
1096
+
1097
+ typedef BTScanOpaqueData *BTScanOpaque;
1098
+
1099
+ /*
1100
+ * _bt_readpage state used across _bt_checkkeys calls for a page
1101
+ */
1102
+ typedef struct BTReadPageState
1103
+ {
1104
+ /* Input parameters, set by _bt_readpage for _bt_checkkeys */
1105
+ OffsetNumber minoff; /* Lowest non-pivot tuple's offset */
1106
+ OffsetNumber maxoff; /* Highest non-pivot tuple's offset */
1107
+ IndexTuple finaltup; /* Needed by scans with array keys */
1108
+ Page page; /* Page being read */
1109
+ bool firstpage; /* page is first for primitive scan? */
1110
+ bool forcenonrequired; /* treat all keys as nonrequired? */
1111
+ int startikey; /* start comparisons from this scan key */
1112
+
1113
+ /* Per-tuple input parameters, set by _bt_readpage for _bt_checkkeys */
1114
+ OffsetNumber offnum; /* current tuple's page offset number */
1115
+
1116
+ /* Output parameters, set by _bt_checkkeys for _bt_readpage */
1117
+ OffsetNumber skip; /* Array keys "look ahead" skip offnum */
1118
+ bool continuescan; /* Terminate ongoing (primitive) index scan? */
1119
+
1120
+ /*
1121
+ * Private _bt_checkkeys state used to manage "look ahead" optimization
1122
+ * and primscan scheduling (only used during scans with array keys)
1123
+ */
1124
+ int16 rechecks;
1125
+ int16 targetdistance;
1126
+ int16 nskipadvances;
1127
+
1128
+ } BTReadPageState;
1129
+
1130
+ /*
1131
+ * We use some private sk_flags bits in preprocessed scan keys. We're allowed
1132
+ * to use bits 16-31 (see skey.h). The uppermost bits are copied from the
1133
+ * index's indoption[] array entry for the index attribute.
1134
+ */
1135
+ #define SK_BT_REQFWD 0x00010000 /* required to continue forward scan */
1136
+ #define SK_BT_REQBKWD 0x00020000 /* required to continue backward scan */
1137
+ #define SK_BT_SKIP 0x00040000 /* skip array on column without input = */
1138
+
1139
+ /* SK_BT_SKIP-only flags (set and unset by array advancement) */
1140
+ #define SK_BT_MINVAL 0x00080000 /* invalid sk_argument, use low_compare */
1141
+ #define SK_BT_MAXVAL 0x00100000 /* invalid sk_argument, use high_compare */
1142
+ #define SK_BT_NEXT 0x00200000 /* positions the scan > sk_argument */
1143
+ #define SK_BT_PRIOR 0x00400000 /* positions the scan < sk_argument */
1144
+
1145
+ /* Remaps pg_index flag bits to uppermost SK_BT_* byte */
1146
+ #define SK_BT_INDOPTION_SHIFT 24 /* must clear the above bits */
1147
+ #define SK_BT_DESC (INDOPTION_DESC << SK_BT_INDOPTION_SHIFT)
1148
+ #define SK_BT_NULLS_FIRST (INDOPTION_NULLS_FIRST << SK_BT_INDOPTION_SHIFT)
1149
+
1150
+ typedef struct BTOptions
1151
+ {
1152
+ int32 varlena_header_; /* varlena header (do not touch directly!) */
1153
+ int fillfactor; /* page fill factor in percent (0..100) */
1154
+ float8 vacuum_cleanup_index_scale_factor; /* deprecated */
1155
+ bool deduplicate_items; /* Try to deduplicate items? */
1156
+ } BTOptions;
1157
+
1158
+ #define BTGetFillFactor(relation) \
1159
+ (AssertMacro(relation->rd_rel->relkind == RELKIND_INDEX && \
1160
+ relation->rd_rel->relam == BTREE_AM_OID), \
1161
+ (relation)->rd_options ? \
1162
+ ((BTOptions *) (relation)->rd_options)->fillfactor : \
1163
+ BTREE_DEFAULT_FILLFACTOR)
1164
+ #define BTGetTargetPageFreeSpace(relation) \
1165
+ (BLCKSZ * (100 - BTGetFillFactor(relation)) / 100)
1166
+ #define BTGetDeduplicateItems(relation) \
1167
+ (AssertMacro(relation->rd_rel->relkind == RELKIND_INDEX && \
1168
+ relation->rd_rel->relam == BTREE_AM_OID), \
1169
+ ((relation)->rd_options ? \
1170
+ ((BTOptions *) (relation)->rd_options)->deduplicate_items : true))
1171
+
1172
+ /*
1173
+ * Constant definition for progress reporting. Phase numbers must match
1174
+ * btbuildphasename.
1175
+ */
1176
+ /* PROGRESS_CREATEIDX_SUBPHASE_INITIALIZE is 1 (see progress.h) */
1177
+ #define PROGRESS_BTREE_PHASE_INDEXBUILD_TABLESCAN 2
1178
+ #define PROGRESS_BTREE_PHASE_PERFORMSORT_1 3
1179
+ #define PROGRESS_BTREE_PHASE_PERFORMSORT_2 4
1180
+ #define PROGRESS_BTREE_PHASE_LEAF_LOAD 5
1181
+
1182
+ /*
1183
+ * external entry points for btree, in nbtree.c
1184
+ */
1185
+ extern void btbuildempty(Relation index);
1186
+ extern bool btinsert(Relation rel, Datum *values, bool *isnull,
1187
+ ItemPointer ht_ctid, Relation heapRel,
1188
+ IndexUniqueCheck checkUnique,
1189
+ bool indexUnchanged,
1190
+ struct IndexInfo *indexInfo);
1191
+ extern IndexScanDesc btbeginscan(Relation rel, int nkeys, int norderbys);
1192
+ extern Size btestimateparallelscan(Relation rel, int nkeys, int norderbys);
1193
+ extern void btinitparallelscan(void *target);
1194
+ extern bool btgettuple(IndexScanDesc scan, ScanDirection dir);
1195
+ extern int64 btgetbitmap(IndexScanDesc scan, TIDBitmap *tbm);
1196
+ extern void btrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys,
1197
+ ScanKey orderbys, int norderbys);
1198
+ extern void btparallelrescan(IndexScanDesc scan);
1199
+ extern void btendscan(IndexScanDesc scan);
1200
+ extern void btmarkpos(IndexScanDesc scan);
1201
+ extern void btrestrpos(IndexScanDesc scan);
1202
+ extern IndexBulkDeleteResult *btbulkdelete(IndexVacuumInfo *info,
1203
+ IndexBulkDeleteResult *stats,
1204
+ IndexBulkDeleteCallback callback,
1205
+ void *callback_state);
1206
+ extern IndexBulkDeleteResult *btvacuumcleanup(IndexVacuumInfo *info,
1207
+ IndexBulkDeleteResult *stats);
1208
+ extern bool btcanreturn(Relation index, int attno);
1209
+ extern int btgettreeheight(Relation rel);
1210
+
1211
+ extern CompareType bttranslatestrategy(StrategyNumber strategy, Oid opfamily);
1212
+ extern StrategyNumber bttranslatecmptype(CompareType cmptype, Oid opfamily);
1213
+
1214
+ /*
1215
+ * prototypes for internal functions in nbtree.c
1216
+ */
1217
+ extern bool _bt_parallel_seize(IndexScanDesc scan, BlockNumber *next_scan_page,
1218
+ BlockNumber *last_curr_page, bool first);
1219
+ extern void _bt_parallel_release(IndexScanDesc scan,
1220
+ BlockNumber next_scan_page,
1221
+ BlockNumber curr_page);
1222
+ extern void _bt_parallel_done(IndexScanDesc scan);
1223
+ extern void _bt_parallel_primscan_schedule(IndexScanDesc scan,
1224
+ BlockNumber curr_page);
1225
+
1226
+ /*
1227
+ * prototypes for functions in nbtdedup.c
1228
+ */
1229
+ extern void _bt_dedup_pass(Relation rel, Buffer buf, IndexTuple newitem,
1230
+ Size newitemsz, bool bottomupdedup);
1231
+ extern bool _bt_bottomupdel_pass(Relation rel, Buffer buf, Relation heapRel,
1232
+ Size newitemsz);
1233
+ extern void _bt_dedup_start_pending(BTDedupState state, IndexTuple base,
1234
+ OffsetNumber baseoff);
1235
+ extern bool _bt_dedup_save_htid(BTDedupState state, IndexTuple itup);
1236
+ extern Size _bt_dedup_finish_pending(Page newpage, BTDedupState state);
1237
+ extern IndexTuple _bt_form_posting(IndexTuple base, ItemPointer htids,
1238
+ int nhtids);
1239
+ extern void _bt_update_posting(BTVacuumPosting vacposting);
1240
+ extern IndexTuple _bt_swap_posting(IndexTuple newitem, IndexTuple oposting,
1241
+ int postingoff);
1242
+
1243
+ /*
1244
+ * prototypes for functions in nbtinsert.c
1245
+ */
1246
+ extern bool _bt_doinsert(Relation rel, IndexTuple itup,
1247
+ IndexUniqueCheck checkUnique, bool indexUnchanged,
1248
+ Relation heapRel);
1249
+ extern void _bt_finish_split(Relation rel, Relation heaprel, Buffer lbuf,
1250
+ BTStack stack);
1251
+ extern Buffer _bt_getstackbuf(Relation rel, Relation heaprel, BTStack stack,
1252
+ BlockNumber child);
1253
+
1254
+ /*
1255
+ * prototypes for functions in nbtsplitloc.c
1256
+ */
1257
+ extern OffsetNumber _bt_findsplitloc(Relation rel, Page origpage,
1258
+ OffsetNumber newitemoff, Size newitemsz, IndexTuple newitem,
1259
+ bool *newitemonleft);
1260
+
1261
+ /*
1262
+ * prototypes for functions in nbtpage.c
1263
+ */
1264
+ extern void _bt_initmetapage(Page page, BlockNumber rootbknum, uint32 level,
1265
+ bool allequalimage);
1266
+ extern bool _bt_vacuum_needs_cleanup(Relation rel);
1267
+ extern void _bt_set_cleanup_info(Relation rel, BlockNumber num_delpages);
1268
+ extern void _bt_upgrademetapage(Page page);
1269
+ extern Buffer _bt_getroot(Relation rel, Relation heaprel, int access);
1270
+ extern Buffer _bt_gettrueroot(Relation rel);
1271
+ extern int _bt_getrootheight(Relation rel);
1272
+ extern void _bt_metaversion(Relation rel, bool *heapkeyspace,
1273
+ bool *allequalimage);
1274
+ extern void _bt_checkpage(Relation rel, Buffer buf);
1275
+ extern Buffer _bt_getbuf(Relation rel, BlockNumber blkno, int access);
1276
+ extern Buffer _bt_allocbuf(Relation rel, Relation heaprel);
1277
+ extern Buffer _bt_relandgetbuf(Relation rel, Buffer obuf,
1278
+ BlockNumber blkno, int access);
1279
+ extern void _bt_relbuf(Relation rel, Buffer buf);
1280
+ extern void _bt_lockbuf(Relation rel, Buffer buf, int access);
1281
+ extern void _bt_unlockbuf(Relation rel, Buffer buf);
1282
+ extern bool _bt_conditionallockbuf(Relation rel, Buffer buf);
1283
+ extern void _bt_upgradelockbufcleanup(Relation rel, Buffer buf);
1284
+ extern void _bt_pageinit(Page page, Size size);
1285
+ extern void _bt_delitems_vacuum(Relation rel, Buffer buf,
1286
+ OffsetNumber *deletable, int ndeletable,
1287
+ BTVacuumPosting *updatable, int nupdatable);
1288
+ extern void _bt_delitems_delete_check(Relation rel, Buffer buf,
1289
+ Relation heapRel,
1290
+ TM_IndexDeleteOp *delstate);
1291
+ extern void _bt_pagedel(Relation rel, Buffer leafbuf, BTVacState *vstate);
1292
+ extern void _bt_pendingfsm_init(Relation rel, BTVacState *vstate,
1293
+ bool cleanuponly);
1294
+ extern void _bt_pendingfsm_finalize(Relation rel, BTVacState *vstate);
1295
+
1296
+ /*
1297
+ * prototypes for functions in nbtpreprocesskeys.c
1298
+ */
1299
+ extern void _bt_preprocess_keys(IndexScanDesc scan);
1300
+
1301
+ /*
1302
+ * prototypes for functions in nbtsearch.c
1303
+ */
1304
+ extern BTStack _bt_search(Relation rel, Relation heaprel, BTScanInsert key,
1305
+ Buffer *bufP, int access);
1306
+ extern OffsetNumber _bt_binsrch_insert(Relation rel, BTInsertState insertstate);
1307
+ extern int32 _bt_compare(Relation rel, BTScanInsert key, Page page, OffsetNumber offnum);
1308
+ extern bool _bt_first(IndexScanDesc scan, ScanDirection dir);
1309
+ extern bool _bt_next(IndexScanDesc scan, ScanDirection dir);
1310
+ extern Buffer _bt_get_endpoint(Relation rel, uint32 level, bool rightmost);
1311
+
1312
+ /*
1313
+ * prototypes for functions in nbtutils.c
1314
+ */
1315
+ extern BTScanInsert _bt_mkscankey(Relation rel, IndexTuple itup);
1316
+ extern void _bt_freestack(BTStack stack);
1317
+ extern bool _bt_start_prim_scan(IndexScanDesc scan, ScanDirection dir);
1318
+ extern int _bt_binsrch_array_skey(FmgrInfo *orderproc,
1319
+ bool cur_elem_trig, ScanDirection dir,
1320
+ Datum tupdatum, bool tupnull,
1321
+ BTArrayKeyInfo *array, ScanKey cur,
1322
+ int32 *set_elem_result);
1323
+ extern void _bt_start_array_keys(IndexScanDesc scan, ScanDirection dir);
1324
+ extern bool _bt_checkkeys(IndexScanDesc scan, BTReadPageState *pstate, bool arrayKeys,
1325
+ IndexTuple tuple, int tupnatts);
1326
+ extern bool _bt_scanbehind_checkkeys(IndexScanDesc scan, ScanDirection dir,
1327
+ IndexTuple finaltup);
1328
+ extern void _bt_set_startikey(IndexScanDesc scan, BTReadPageState *pstate);
1329
+ extern void _bt_killitems(IndexScanDesc scan);
1330
+ extern BTCycleId _bt_vacuum_cycleid(Relation rel);
1331
+ extern BTCycleId _bt_start_vacuum(Relation rel);
1332
+ extern void _bt_end_vacuum(Relation rel);
1333
+ extern void _bt_end_vacuum_callback(int code, Datum arg);
1334
+ extern Size BTreeShmemSize(void);
1335
+ extern void BTreeShmemInit(void);
1336
+ extern bytea *btoptions(Datum reloptions, bool validate);
1337
+ extern bool btproperty(Oid index_oid, int attno,
1338
+ IndexAMProperty prop, const char *propname,
1339
+ bool *res, bool *isnull);
1340
+ extern char *btbuildphasename(int64 phasenum);
1341
+ extern IndexTuple _bt_truncate(Relation rel, IndexTuple lastleft,
1342
+ IndexTuple firstright, BTScanInsert itup_key);
1343
+ extern int _bt_keep_natts_fast(Relation rel, IndexTuple lastleft,
1344
+ IndexTuple firstright);
1345
+ extern bool _bt_check_natts(Relation rel, bool heapkeyspace, Page page,
1346
+ OffsetNumber offnum);
1347
+ extern void _bt_check_third_page(Relation rel, Relation heap,
1348
+ bool needheaptidspace, Page page, IndexTuple newtup);
1349
+ extern bool _bt_allequalimage(Relation rel, bool debugmessage);
1350
+
1351
+ /*
1352
+ * prototypes for functions in nbtvalidate.c
1353
+ */
1354
+ extern bool btvalidate(Oid opclassoid);
1355
+ extern void btadjustmembers(Oid opfamilyoid,
1356
+ Oid opclassoid,
1357
+ List *operators,
1358
+ List *functions);
1359
+
1360
+ /*
1361
+ * prototypes for functions in nbtsort.c
1362
+ */
1363
+ extern IndexBuildResult *btbuild(Relation heap, Relation index,
1364
+ struct IndexInfo *indexInfo);
1365
+ extern void _bt_parallel_build_main(dsm_segment *seg, shm_toc *toc);
1366
+
1367
+ #endif /* NBTREE_H */