pg_query 2.2.0 → 4.2.1

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 (467) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +59 -31
  4. data/Rakefile +2 -2
  5. data/ext/pg_query/include/access/amapi.h +45 -1
  6. data/ext/pg_query/include/access/attmap.h +1 -1
  7. data/ext/pg_query/include/access/attnum.h +2 -2
  8. data/ext/pg_query/include/access/clog.h +4 -2
  9. data/ext/pg_query/include/access/commit_ts.h +6 -9
  10. data/ext/pg_query/include/access/detoast.h +1 -11
  11. data/ext/pg_query/include/access/genam.h +15 -12
  12. data/ext/pg_query/include/access/gin.h +2 -2
  13. data/ext/pg_query/include/access/htup.h +1 -1
  14. data/ext/pg_query/include/access/htup_details.h +75 -87
  15. data/ext/pg_query/include/access/itup.h +7 -1
  16. data/ext/pg_query/include/access/parallel.h +2 -2
  17. data/ext/pg_query/include/access/printtup.h +1 -1
  18. data/ext/pg_query/include/access/relation.h +1 -1
  19. data/ext/pg_query/include/access/relscan.h +17 -2
  20. data/ext/pg_query/include/access/rmgr.h +30 -3
  21. data/ext/pg_query/include/access/rmgrlist.h +23 -23
  22. data/ext/pg_query/include/access/sdir.h +1 -1
  23. data/ext/pg_query/include/access/skey.h +1 -1
  24. data/ext/pg_query/include/access/stratnum.h +4 -2
  25. data/ext/pg_query/include/access/sysattr.h +1 -1
  26. data/ext/pg_query/include/access/table.h +2 -1
  27. data/ext/pg_query/include/access/tableam.h +272 -20
  28. data/ext/pg_query/include/access/toast_compression.h +73 -0
  29. data/ext/pg_query/include/access/transam.h +123 -13
  30. data/ext/pg_query/include/access/tupconvert.h +1 -1
  31. data/ext/pg_query/include/access/tupdesc.h +1 -1
  32. data/ext/pg_query/include/access/tupmacs.h +3 -3
  33. data/ext/pg_query/include/access/twophase.h +3 -1
  34. data/ext/pg_query/include/access/xact.h +73 -19
  35. data/ext/pg_query/include/access/xlog.h +60 -155
  36. data/ext/pg_query/include/access/xlog_internal.h +40 -13
  37. data/ext/pg_query/include/access/xlogdefs.h +8 -16
  38. data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
  39. data/ext/pg_query/include/access/xlogreader.h +145 -39
  40. data/ext/pg_query/include/access/xlogrecord.h +18 -9
  41. data/ext/pg_query/include/access/xlogrecovery.h +157 -0
  42. data/ext/pg_query/include/c.h +101 -44
  43. data/ext/pg_query/include/catalog/catalog.h +3 -1
  44. data/ext/pg_query/include/catalog/catversion.h +2 -2
  45. data/ext/pg_query/include/catalog/dependency.h +8 -16
  46. data/ext/pg_query/include/catalog/genbki.h +83 -5
  47. data/ext/pg_query/include/catalog/index.h +18 -3
  48. data/ext/pg_query/include/catalog/indexing.h +12 -324
  49. data/ext/pg_query/include/catalog/namespace.h +4 -2
  50. data/ext/pg_query/include/catalog/objectaccess.h +70 -2
  51. data/ext/pg_query/include/catalog/objectaddress.h +11 -6
  52. data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
  53. data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
  54. data/ext/pg_query/include/catalog/pg_am.h +4 -1
  55. data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
  56. data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
  57. data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
  58. data/ext/pg_query/include/catalog/pg_authid.h +7 -2
  59. data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
  60. data/ext/pg_query/include/catalog/pg_class.h +44 -14
  61. data/ext/pg_query/include/catalog/pg_class_d.h +30 -1
  62. data/ext/pg_query/include/catalog/pg_collation.h +33 -8
  63. data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
  64. data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
  65. data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
  66. data/ext/pg_query/include/catalog/pg_control.h +3 -5
  67. data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
  68. data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
  69. data/ext/pg_query/include/catalog/pg_depend.h +11 -7
  70. data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
  71. data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
  72. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
  73. data/ext/pg_query/include/catalog/pg_index.h +17 -7
  74. data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
  75. data/ext/pg_query/include/catalog/pg_language.h +10 -5
  76. data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
  77. data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
  78. data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
  79. data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
  80. data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
  81. data/ext/pg_query/include/catalog/pg_operator.h +18 -15
  82. data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
  83. data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
  84. data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
  85. data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
  86. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
  87. data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
  88. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
  89. data/ext/pg_query/include/catalog/pg_proc.h +20 -11
  90. data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
  91. data/ext/pg_query/include/catalog/pg_publication.h +50 -7
  92. data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
  93. data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
  94. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
  95. data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
  96. data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
  97. data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
  98. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
  99. data/ext/pg_query/include/catalog/pg_transform.h +8 -5
  100. data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
  101. data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
  102. data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
  103. data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
  104. data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
  105. data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
  106. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
  107. data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
  108. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
  109. data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
  110. data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
  111. data/ext/pg_query/include/catalog/pg_type.h +55 -24
  112. data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
  113. data/ext/pg_query/include/catalog/storage.h +5 -3
  114. data/ext/pg_query/include/commands/async.h +3 -4
  115. data/ext/pg_query/include/commands/dbcommands.h +2 -1
  116. data/ext/pg_query/include/commands/defrem.h +11 -24
  117. data/ext/pg_query/include/commands/event_trigger.h +2 -2
  118. data/ext/pg_query/include/commands/explain.h +1 -1
  119. data/ext/pg_query/include/commands/prepare.h +1 -1
  120. data/ext/pg_query/include/commands/tablespace.h +2 -2
  121. data/ext/pg_query/include/commands/trigger.h +18 -16
  122. data/ext/pg_query/include/commands/user.h +2 -2
  123. data/ext/pg_query/include/commands/vacuum.h +88 -41
  124. data/ext/pg_query/include/commands/variable.h +1 -1
  125. data/ext/pg_query/include/common/file_perm.h +4 -4
  126. data/ext/pg_query/include/common/hashfn.h +1 -1
  127. data/ext/pg_query/include/common/ip.h +1 -7
  128. data/ext/pg_query/include/common/keywords.h +2 -6
  129. data/ext/pg_query/include/common/kwlookup.h +1 -1
  130. data/ext/pg_query/include/common/pg_prng.h +60 -0
  131. data/ext/pg_query/include/common/relpath.h +2 -2
  132. data/ext/pg_query/include/common/string.h +24 -1
  133. data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
  134. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
  135. data/ext/pg_query/include/datatype/timestamp.h +40 -1
  136. data/ext/pg_query/include/executor/execdesc.h +1 -1
  137. data/ext/pg_query/include/executor/executor.h +65 -22
  138. data/ext/pg_query/include/executor/functions.h +17 -3
  139. data/ext/pg_query/include/executor/instrument.h +33 -16
  140. data/ext/pg_query/include/executor/spi.h +41 -3
  141. data/ext/pg_query/include/executor/tablefunc.h +1 -1
  142. data/ext/pg_query/include/executor/tuptable.h +1 -1
  143. data/ext/pg_query/include/fmgr.h +13 -7
  144. data/ext/pg_query/include/funcapi.h +16 -4
  145. data/ext/pg_query/include/getaddrinfo.h +1 -1
  146. data/ext/pg_query/include/jit/jit.h +11 -11
  147. data/ext/pg_query/include/kwlist_d.h +517 -494
  148. data/ext/pg_query/include/lib/dshash.h +112 -0
  149. data/ext/pg_query/include/lib/ilist.h +20 -1
  150. data/ext/pg_query/include/lib/pairingheap.h +1 -1
  151. data/ext/pg_query/include/lib/simplehash.h +140 -15
  152. data/ext/pg_query/include/lib/sort_template.h +432 -0
  153. data/ext/pg_query/include/lib/stringinfo.h +1 -1
  154. data/ext/pg_query/include/libpq/auth.h +6 -4
  155. data/ext/pg_query/include/libpq/crypt.h +5 -4
  156. data/ext/pg_query/include/libpq/hba.h +43 -4
  157. data/ext/pg_query/include/libpq/libpq-be.h +23 -6
  158. data/ext/pg_query/include/libpq/libpq.h +30 -20
  159. data/ext/pg_query/include/libpq/pqcomm.h +17 -31
  160. data/ext/pg_query/include/libpq/pqformat.h +1 -1
  161. data/ext/pg_query/include/libpq/pqsignal.h +4 -4
  162. data/ext/pg_query/include/mb/pg_wchar.h +105 -23
  163. data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
  164. data/ext/pg_query/include/miscadmin.h +47 -41
  165. data/ext/pg_query/include/nodes/bitmapset.h +1 -1
  166. data/ext/pg_query/include/nodes/execnodes.h +270 -78
  167. data/ext/pg_query/include/nodes/extensible.h +4 -2
  168. data/ext/pg_query/include/nodes/lockoptions.h +1 -1
  169. data/ext/pg_query/include/nodes/makefuncs.h +7 -6
  170. data/ext/pg_query/include/nodes/memnodes.h +5 -3
  171. data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
  172. data/ext/pg_query/include/nodes/nodes.h +30 -11
  173. data/ext/pg_query/include/nodes/params.h +1 -1
  174. data/ext/pg_query/include/nodes/parsenodes.h +322 -90
  175. data/ext/pg_query/include/nodes/pathnodes.h +243 -66
  176. data/ext/pg_query/include/nodes/pg_list.h +75 -69
  177. data/ext/pg_query/include/nodes/plannodes.h +111 -28
  178. data/ext/pg_query/include/nodes/primnodes.h +99 -47
  179. data/ext/pg_query/include/nodes/print.h +1 -1
  180. data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
  181. data/ext/pg_query/include/nodes/value.h +58 -39
  182. data/ext/pg_query/include/optimizer/cost.h +9 -2
  183. data/ext/pg_query/include/optimizer/geqo.h +9 -7
  184. data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
  185. data/ext/pg_query/include/optimizer/optimizer.h +25 -17
  186. data/ext/pg_query/include/optimizer/paths.h +6 -6
  187. data/ext/pg_query/include/optimizer/planmain.h +15 -14
  188. data/ext/pg_query/include/parser/analyze.h +19 -5
  189. data/ext/pg_query/include/parser/gram.h +947 -913
  190. data/ext/pg_query/include/parser/gramparse.h +1 -1
  191. data/ext/pg_query/include/parser/kwlist.h +463 -453
  192. data/ext/pg_query/include/parser/parse_agg.h +2 -7
  193. data/ext/pg_query/include/parser/parse_coerce.h +3 -1
  194. data/ext/pg_query/include/parser/parse_expr.h +2 -3
  195. data/ext/pg_query/include/parser/parse_func.h +2 -1
  196. data/ext/pg_query/include/parser/parse_node.h +21 -9
  197. data/ext/pg_query/include/parser/parse_oper.h +1 -3
  198. data/ext/pg_query/include/parser/parse_relation.h +5 -4
  199. data/ext/pg_query/include/parser/parse_type.h +1 -1
  200. data/ext/pg_query/include/parser/parser.h +31 -4
  201. data/ext/pg_query/include/parser/parsetree.h +1 -1
  202. data/ext/pg_query/include/parser/scanner.h +1 -1
  203. data/ext/pg_query/include/parser/scansup.h +2 -5
  204. data/ext/pg_query/include/partitioning/partdefs.h +1 -1
  205. data/ext/pg_query/include/pg_config.h +83 -41
  206. data/ext/pg_query/include/pg_config_manual.h +74 -21
  207. data/ext/pg_query/include/pg_getopt.h +6 -6
  208. data/ext/pg_query/include/pg_query.h +5 -4
  209. data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
  210. data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
  211. data/ext/pg_query/include/pg_query_fingerprint_defs.c +939 -113
  212. data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
  213. data/ext/pg_query/include/pg_query_outfuncs_defs.c +151 -26
  214. data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
  215. data/ext/pg_query/include/pg_query_readfuncs_defs.c +173 -30
  216. data/ext/pg_query/include/pg_trace.h +1 -1
  217. data/ext/pg_query/include/pgstat.h +449 -1238
  218. data/ext/pg_query/include/pgtime.h +14 -4
  219. data/ext/pg_query/include/pl_gram.h +126 -128
  220. data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
  221. data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
  222. data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
  223. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
  224. data/ext/pg_query/include/plerrcodes.h +9 -1
  225. data/ext/pg_query/include/plpgsql.h +52 -54
  226. data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
  227. data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
  228. data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
  229. data/ext/pg_query/include/port/atomics/fallback.h +1 -1
  230. data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
  231. data/ext/pg_query/include/port/atomics/generic.h +1 -1
  232. data/ext/pg_query/include/port/atomics.h +1 -1
  233. data/ext/pg_query/include/port/pg_bitutils.h +40 -10
  234. data/ext/pg_query/include/port/pg_bswap.h +1 -1
  235. data/ext/pg_query/include/port/pg_crc32c.h +1 -1
  236. data/ext/pg_query/include/port.h +71 -46
  237. data/ext/pg_query/include/portability/instr_time.h +1 -1
  238. data/ext/pg_query/include/postgres.h +60 -16
  239. data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
  240. data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
  241. data/ext/pg_query/include/postmaster/bgworker.h +2 -1
  242. data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
  243. data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
  244. data/ext/pg_query/include/postmaster/fork_process.h +1 -1
  245. data/ext/pg_query/include/postmaster/interrupt.h +1 -1
  246. data/ext/pg_query/include/postmaster/pgarch.h +42 -8
  247. data/ext/pg_query/include/postmaster/postmaster.h +18 -17
  248. data/ext/pg_query/include/postmaster/startup.h +39 -0
  249. data/ext/pg_query/include/postmaster/syslogger.h +15 -10
  250. data/ext/pg_query/include/postmaster/walwriter.h +3 -3
  251. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1419 -914
  252. data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
  253. data/ext/pg_query/include/regex/regex.h +18 -16
  254. data/ext/pg_query/include/replication/logicallauncher.h +3 -5
  255. data/ext/pg_query/include/replication/logicalproto.h +161 -17
  256. data/ext/pg_query/include/replication/logicalworker.h +1 -1
  257. data/ext/pg_query/include/replication/origin.h +7 -7
  258. data/ext/pg_query/include/replication/reorderbuffer.h +259 -42
  259. data/ext/pg_query/include/replication/slot.h +22 -11
  260. data/ext/pg_query/include/replication/syncrep.h +5 -5
  261. data/ext/pg_query/include/replication/walreceiver.h +145 -13
  262. data/ext/pg_query/include/replication/walsender.h +8 -8
  263. data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
  264. data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
  265. data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
  266. data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
  267. data/ext/pg_query/include/storage/backendid.h +3 -3
  268. data/ext/pg_query/include/storage/block.h +4 -10
  269. data/ext/pg_query/include/storage/buf.h +1 -1
  270. data/ext/pg_query/include/storage/bufmgr.h +19 -14
  271. data/ext/pg_query/include/storage/bufpage.h +6 -8
  272. data/ext/pg_query/include/storage/condition_variable.h +13 -2
  273. data/ext/pg_query/include/storage/dsm.h +4 -1
  274. data/ext/pg_query/include/storage/dsm_impl.h +3 -2
  275. data/ext/pg_query/include/storage/fd.h +33 -3
  276. data/ext/pg_query/include/storage/fileset.h +40 -0
  277. data/ext/pg_query/include/storage/ipc.h +4 -1
  278. data/ext/pg_query/include/storage/item.h +1 -1
  279. data/ext/pg_query/include/storage/itemid.h +1 -1
  280. data/ext/pg_query/include/storage/itemptr.h +3 -1
  281. data/ext/pg_query/include/storage/large_object.h +2 -2
  282. data/ext/pg_query/include/storage/latch.h +9 -13
  283. data/ext/pg_query/include/storage/lmgr.h +2 -1
  284. data/ext/pg_query/include/storage/lock.h +11 -8
  285. data/ext/pg_query/include/storage/lockdefs.h +2 -2
  286. data/ext/pg_query/include/storage/lwlock.h +5 -32
  287. data/ext/pg_query/include/storage/lwlocknames.h +0 -1
  288. data/ext/pg_query/include/storage/off.h +1 -1
  289. data/ext/pg_query/include/storage/pg_sema.h +1 -1
  290. data/ext/pg_query/include/storage/pg_shmem.h +9 -7
  291. data/ext/pg_query/include/storage/pmsignal.h +15 -4
  292. data/ext/pg_query/include/storage/predicate.h +4 -4
  293. data/ext/pg_query/include/storage/proc.h +173 -59
  294. data/ext/pg_query/include/storage/procarray.h +98 -0
  295. data/ext/pg_query/include/storage/proclist_types.h +1 -1
  296. data/ext/pg_query/include/storage/procsignal.h +3 -7
  297. data/ext/pg_query/include/storage/relfilenode.h +1 -1
  298. data/ext/pg_query/include/storage/s_lock.h +60 -21
  299. data/ext/pg_query/include/storage/sharedfileset.h +3 -11
  300. data/ext/pg_query/include/storage/shm_mq.h +5 -4
  301. data/ext/pg_query/include/storage/shm_toc.h +1 -1
  302. data/ext/pg_query/include/storage/shmem.h +1 -1
  303. data/ext/pg_query/include/storage/sinval.h +3 -3
  304. data/ext/pg_query/include/storage/sinvaladt.h +1 -1
  305. data/ext/pg_query/include/storage/smgr.h +10 -8
  306. data/ext/pg_query/include/storage/spin.h +2 -2
  307. data/ext/pg_query/include/storage/standby.h +13 -6
  308. data/ext/pg_query/include/storage/standbydefs.h +2 -2
  309. data/ext/pg_query/include/storage/sync.h +7 -3
  310. data/ext/pg_query/include/tcop/cmdtag.h +1 -1
  311. data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
  312. data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
  313. data/ext/pg_query/include/tcop/dest.h +1 -1
  314. data/ext/pg_query/include/tcop/fastpath.h +1 -2
  315. data/ext/pg_query/include/tcop/pquery.h +1 -1
  316. data/ext/pg_query/include/tcop/tcopprot.h +19 -11
  317. data/ext/pg_query/include/tcop/utility.h +7 -3
  318. data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
  319. data/ext/pg_query/include/utils/acl.h +24 -3
  320. data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
  321. data/ext/pg_query/include/utils/array.h +7 -2
  322. data/ext/pg_query/include/utils/backend_progress.h +44 -0
  323. data/ext/pg_query/include/utils/backend_status.h +321 -0
  324. data/ext/pg_query/include/utils/builtins.h +10 -11
  325. data/ext/pg_query/include/utils/bytea.h +3 -2
  326. data/ext/pg_query/include/utils/catcache.h +1 -1
  327. data/ext/pg_query/include/utils/date.h +1 -1
  328. data/ext/pg_query/include/utils/datetime.h +8 -7
  329. data/ext/pg_query/include/utils/datum.h +9 -1
  330. data/ext/pg_query/include/utils/dsa.h +1 -1
  331. data/ext/pg_query/include/utils/dynahash.h +4 -3
  332. data/ext/pg_query/include/utils/elog.h +52 -21
  333. data/ext/pg_query/include/utils/errcodes.h +2 -0
  334. data/ext/pg_query/include/utils/expandeddatum.h +1 -1
  335. data/ext/pg_query/include/utils/expandedrecord.h +1 -1
  336. data/ext/pg_query/include/utils/float.h +7 -7
  337. data/ext/pg_query/include/utils/fmgroids.h +1300 -696
  338. data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
  339. data/ext/pg_query/include/utils/fmgrtab.h +6 -5
  340. data/ext/pg_query/include/utils/guc.h +69 -43
  341. data/ext/pg_query/include/utils/guc_tables.h +23 -19
  342. data/ext/pg_query/include/utils/hsearch.h +15 -11
  343. data/ext/pg_query/include/utils/inval.h +4 -1
  344. data/ext/pg_query/include/utils/lsyscache.h +11 -1
  345. data/ext/pg_query/include/utils/memdebug.h +1 -1
  346. data/ext/pg_query/include/utils/memutils.h +8 -3
  347. data/ext/pg_query/include/utils/numeric.h +19 -5
  348. data/ext/pg_query/include/utils/palloc.h +25 -3
  349. data/ext/pg_query/include/utils/partcache.h +1 -1
  350. data/ext/pg_query/include/utils/pg_locale.h +17 -9
  351. data/ext/pg_query/include/utils/pg_lsn.h +1 -1
  352. data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
  353. data/ext/pg_query/include/utils/pidfile.h +1 -1
  354. data/ext/pg_query/include/utils/plancache.h +6 -5
  355. data/ext/pg_query/include/utils/portal.h +10 -12
  356. data/ext/pg_query/include/utils/ps_status.h +1 -1
  357. data/ext/pg_query/include/utils/queryenvironment.h +1 -1
  358. data/ext/pg_query/include/utils/queryjumble.h +88 -0
  359. data/ext/pg_query/include/utils/regproc.h +14 -3
  360. data/ext/pg_query/include/utils/rel.h +71 -19
  361. data/ext/pg_query/include/utils/relcache.h +8 -5
  362. data/ext/pg_query/include/utils/reltrigger.h +1 -1
  363. data/ext/pg_query/include/utils/resowner.h +1 -1
  364. data/ext/pg_query/include/utils/rls.h +2 -2
  365. data/ext/pg_query/include/utils/ruleutils.h +4 -1
  366. data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
  367. data/ext/pg_query/include/utils/snapmgr.h +34 -14
  368. data/ext/pg_query/include/utils/snapshot.h +14 -1
  369. data/ext/pg_query/include/utils/sortsupport.h +117 -2
  370. data/ext/pg_query/include/utils/syscache.h +6 -1
  371. data/ext/pg_query/include/utils/timeout.h +11 -4
  372. data/ext/pg_query/include/utils/timestamp.h +6 -5
  373. data/ext/pg_query/include/utils/tuplesort.h +25 -11
  374. data/ext/pg_query/include/utils/tuplestore.h +2 -2
  375. data/ext/pg_query/include/utils/typcache.h +24 -17
  376. data/ext/pg_query/include/utils/tzparser.h +1 -1
  377. data/ext/pg_query/include/utils/varlena.h +5 -3
  378. data/ext/pg_query/include/utils/wait_event.h +289 -0
  379. data/ext/pg_query/include/utils/xml.h +4 -4
  380. data/ext/pg_query/pg_query.pb-c.c +4302 -2304
  381. data/ext/pg_query/pg_query_deparse.c +1106 -373
  382. data/ext/pg_query/pg_query_fingerprint.c +30 -10
  383. data/ext/pg_query/pg_query_json_plpgsql.c +0 -25
  384. data/ext/pg_query/pg_query_normalize.c +1 -1
  385. data/ext/pg_query/pg_query_outfuncs_json.c +54 -16
  386. data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
  387. data/ext/pg_query/pg_query_parse.c +1 -1
  388. data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
  389. data/ext/pg_query/pg_query_scan.c +2 -1
  390. data/ext/pg_query/pg_query_split.c +3 -2
  391. data/ext/pg_query/src_backend_catalog_namespace.c +20 -9
  392. data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
  393. data/ext/pg_query/src_backend_commands_define.c +11 -1
  394. data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
  395. data/ext/pg_query/src_backend_nodes_copyfuncs.c +401 -76
  396. data/ext/pg_query/src_backend_nodes_equalfuncs.c +290 -46
  397. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  398. data/ext/pg_query/src_backend_nodes_list.c +74 -11
  399. data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
  400. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
  401. data/ext/pg_query/src_backend_nodes_value.c +28 -19
  402. data/ext/pg_query/src_backend_parser_gram.c +33874 -31261
  403. data/ext/pg_query/src_backend_parser_parser.c +26 -7
  404. data/ext/pg_query/src_backend_parser_scan.c +172 -209
  405. data/ext/pg_query/src_backend_parser_scansup.c +4 -28
  406. data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
  407. data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
  408. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
  409. data/ext/pg_query/src_backend_tcop_postgres.c +62 -23
  410. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
  411. data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
  412. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  413. data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
  414. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +71 -5
  415. data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
  416. data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
  417. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
  418. data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
  419. data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
  420. data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
  421. data/ext/pg_query/src_backend_utils_misc_guc.c +206 -45
  422. data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
  423. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
  424. data/ext/pg_query/src_common_encnames.c +1 -1
  425. data/ext/pg_query/src_common_hashfn.c +3 -3
  426. data/ext/pg_query/src_common_keywords.c +15 -2
  427. data/ext/pg_query/src_common_kwlist_d.h +517 -494
  428. data/ext/pg_query/src_common_kwlookup.c +1 -1
  429. data/ext/pg_query/src_common_pg_prng.c +152 -0
  430. data/ext/pg_query/src_common_psprintf.c +1 -1
  431. data/ext/pg_query/src_common_string.c +7 -1
  432. data/ext/pg_query/src_common_stringinfo.c +1 -1
  433. data/ext/pg_query/src_common_wchar.c +701 -109
  434. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +45 -20
  435. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
  436. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1233 -1259
  437. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  438. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
  439. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
  440. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
  441. data/ext/pg_query/src_port_pg_bitutils.c +41 -31
  442. data/ext/pg_query/src_port_pgsleep.c +1 -1
  443. data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
  444. data/ext/pg_query/src_port_qsort.c +12 -224
  445. data/ext/pg_query/src_port_snprintf.c +37 -13
  446. data/ext/pg_query/src_port_strerror.c +9 -19
  447. data/ext/pg_query/src_port_strnlen.c +1 -1
  448. data/lib/pg_query/filter_columns.rb +1 -1
  449. data/lib/pg_query/fingerprint.rb +5 -1
  450. data/lib/pg_query/node.rb +2 -2
  451. data/lib/pg_query/param_refs.rb +1 -1
  452. data/lib/pg_query/parse.rb +20 -8
  453. data/lib/pg_query/pg_query_pb.rb +1108 -942
  454. data/lib/pg_query/treewalker.rb +6 -0
  455. data/lib/pg_query/truncate.rb +1 -1
  456. data/lib/pg_query/version.rb +1 -1
  457. metadata +27 -17
  458. data/ext/pg_query/include/access/xloginsert.h +0 -64
  459. data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
  460. data/ext/pg_query/include/parser/parse_clause.h +0 -54
  461. data/ext/pg_query/include/parser/parse_collate.h +0 -27
  462. data/ext/pg_query/include/parser/parse_target.h +0 -46
  463. data/ext/pg_query/pg_query_ruby_freebsd.sym +0 -2
  464. data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -659
  465. data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
  466. data/ext/pg_query/src_port_erand48.c +0 -127
  467. data/ext/pg_query/src_port_random.c +0 -31
@@ -1,17 +1,5 @@
1
1
  /* src/include/pg_config.h. Generated from pg_config.h.in by configure. */
2
- /* src/include/pg_config.h.in. Generated from configure.in by autoheader. */
3
-
4
- /* Define to the type of arg 1 of 'accept' */
5
- #define ACCEPT_TYPE_ARG1 int
6
-
7
- /* Define to the type of arg 2 of 'accept' */
8
- #define ACCEPT_TYPE_ARG2 struct sockaddr *
9
-
10
- /* Define to the type of arg 3 of 'accept' */
11
- #define ACCEPT_TYPE_ARG3 socklen_t
12
-
13
- /* Define to the return type of 'accept' */
14
- #define ACCEPT_TYPE_RETURN int
2
+ /* src/include/pg_config.h.in. Generated from configure.ac by autoheader. */
15
3
 
16
4
  /* Define if building universal (internal helper macro) */
17
5
  /* #undef AC_APPLE_UNIVERSAL_BUILD */
@@ -55,6 +43,9 @@
55
43
  /* Define to the default TCP port number as a string constant. */
56
44
  #define DEF_PGPORT_STR "5432"
57
45
 
46
+ /* Define to the file name extension of dynamically-loadable modules. */
47
+ #define DLSUFFIX ".so"
48
+
58
49
  /* Define to build with GSSAPI support. (--with-gssapi) */
59
50
  /* #undef ENABLE_GSS */
60
51
 
@@ -143,6 +134,14 @@
143
134
  don't. */
144
135
  #define HAVE_DECL_POSIX_FADVISE 0
145
136
 
137
+ /* Define to 1 if you have the declaration of `preadv', and to 0 if you don't.
138
+ */
139
+ #define HAVE_DECL_PREADV 1
140
+
141
+ /* Define to 1 if you have the declaration of `pwritev', and to 0 if you
142
+ don't. */
143
+ #define HAVE_DECL_PWRITEV 1
144
+
146
145
  /* Define to 1 if you have the declaration of `RTLD_GLOBAL', and to 0 if you
147
146
  don't. */
148
147
  #define HAVE_DECL_RTLD_GLOBAL 1
@@ -151,6 +150,10 @@
151
150
  don't. */
152
151
  #define HAVE_DECL_RTLD_NOW 1
153
152
 
153
+ /* Define to 1 if you have the declaration of `sigwait', and to 0 if you
154
+ don't. */
155
+ #define HAVE_DECL_SIGWAIT 1
156
+
154
157
  /* Define to 1 if you have the declaration of `strlcat', and to 0 if you
155
158
  don't. */
156
159
  #define HAVE_DECL_STRLCAT 1
@@ -269,12 +272,21 @@
269
272
  /* Define to 1 if you have the `history_truncate_file' function. */
270
273
  /* #undef HAVE_HISTORY_TRUNCATE_FILE */
271
274
 
275
+ /* Define to 1 if you have the `HMAC_CTX_free' function. */
276
+ /* #undef HAVE_HMAC_CTX_FREE */
277
+
278
+ /* Define to 1 if you have the `HMAC_CTX_new' function. */
279
+ /* #undef HAVE_HMAC_CTX_NEW */
280
+
272
281
  /* Define to 1 if you have the <ifaddrs.h> header file. */
273
282
  #define HAVE_IFADDRS_H 1
274
283
 
275
284
  /* Define to 1 if you have the `inet_aton' function. */
276
285
  #define HAVE_INET_ATON 1
277
286
 
287
+ /* Define to 1 if you have the `inet_pton' function. */
288
+ #define HAVE_INET_PTON 1
289
+
278
290
  /* Define to 1 if the system has the type `int64'. */
279
291
  /* #undef HAVE_INT64 */
280
292
 
@@ -317,6 +329,9 @@
317
329
  /* Define to 1 if you have the `ldap' library (-lldap). */
318
330
  /* #undef HAVE_LIBLDAP */
319
331
 
332
+ /* Define to 1 if you have the `lz4' library (-llz4). */
333
+ /* #undef HAVE_LIBLZ4 */
334
+
320
335
  /* Define to 1 if you have the `m' library (-lm). */
321
336
  #define HAVE_LIBM 1
322
337
 
@@ -344,6 +359,9 @@
344
359
  /* Define to 1 if you have the `z' library (-lz). */
345
360
  /* #undef HAVE_LIBZ */
346
361
 
362
+ /* Define to 1 if you have the `zstd' library (-lzstd). */
363
+ /* #undef HAVE_LIBZSTD */
364
+
347
365
  /* Define to 1 if you have the `link' function. */
348
366
  #define HAVE_LINK 1
349
367
 
@@ -395,6 +413,9 @@
395
413
  /* Define to 1 if you have the <poll.h> header file. */
396
414
  #define HAVE_POLL_H 1
397
415
 
416
+ /* Define to 1 if you have a POSIX-conforming sigwait declaration. */
417
+ #define HAVE_POSIX_DECL_SIGWAIT 1
418
+
398
419
  /* Define to 1 if you have the `posix_fadvise' function. */
399
420
  /* #undef HAVE_POSIX_FADVISE */
400
421
 
@@ -419,6 +440,9 @@
419
440
  /* Define if you have POSIX threads libraries and header files. */
420
441
  #define HAVE_PTHREAD 1
421
442
 
443
+ /* Define to 1 if you have the `pthread_barrier_wait' function. */
444
+ /* #undef HAVE_PTHREAD_BARRIER_WAIT */
445
+
422
446
  /* Define to 1 if you have the `pthread_is_threaded_np' function. */
423
447
  #define HAVE_PTHREAD_IS_THREADED_NP 1
424
448
 
@@ -428,9 +452,6 @@
428
452
  /* Define to 1 if you have the `pwrite' function. */
429
453
  #define HAVE_PWRITE 1
430
454
 
431
- /* Define to 1 if you have the `random' function. */
432
- #define HAVE_RANDOM 1
433
-
434
455
  /* Define to 1 if you have the <readline.h> header file. */
435
456
  /* #undef HAVE_READLINE_H */
436
457
 
@@ -443,9 +464,8 @@
443
464
  /* Define to 1 if you have the `readlink' function. */
444
465
  #define HAVE_READLINK 1
445
466
 
446
- /* Define to 1 if you have the global variable
447
- 'rl_completion_append_character'. */
448
- /* #undef HAVE_RL_COMPLETION_APPEND_CHARACTER */
467
+ /* Define to 1 if you have the `readv' function. */
468
+ #define HAVE_READV 1
449
469
 
450
470
  /* Define to 1 if you have the `rl_completion_matches' function. */
451
471
  /* #undef HAVE_RL_COMPLETION_MATCHES */
@@ -468,6 +488,9 @@
468
488
  /* Define to 1 if you have the `rl_reset_screen_size' function. */
469
489
  /* #undef HAVE_RL_RESET_SCREEN_SIZE */
470
490
 
491
+ /* Define to 1 if you have the `rl_variable_bind' function. */
492
+ /* #undef HAVE_RL_VARIABLE_BIND */
493
+
471
494
  /* Define to 1 if you have the <security/pam_appl.h> header file. */
472
495
  /* #undef HAVE_SECURITY_PAM_APPL_H */
473
496
 
@@ -486,12 +509,12 @@
486
509
  /* Define to 1 if you have the `shm_open' function. */
487
510
  #define HAVE_SHM_OPEN 1
488
511
 
512
+ /* Define to 1 if the system has the type `socklen_t'. */
513
+ #define HAVE_SOCKLEN_T 1
514
+
489
515
  /* Define to 1 if you have spinlocks. */
490
516
  #define HAVE_SPINLOCKS 1
491
517
 
492
- /* Define to 1 if you have the `srandom' function. */
493
- #define HAVE_SRANDOM 1
494
-
495
518
  /* Define to 1 if stdbool.h conforms to C99. */
496
519
  #define HAVE_STDBOOL_H 1
497
520
 
@@ -576,6 +599,9 @@
576
599
  /* Define to 1 if you have the `symlink' function. */
577
600
  #define HAVE_SYMLINK 1
578
601
 
602
+ /* Define to 1 if you have the `syncfs' function. */
603
+ /* #undef HAVE_SYNCFS */
604
+
579
605
  /* Define to 1 if you have the `sync_file_range' function. */
580
606
  /* #undef HAVE_SYNC_FILE_RANGE */
581
607
 
@@ -591,6 +617,9 @@
591
617
  /* Define to 1 if you have the <sys/ipc.h> header file. */
592
618
  #define HAVE_SYS_IPC_H 1
593
619
 
620
+ /* Define to 1 if you have the <sys/personality.h> header file. */
621
+ /* #undef HAVE_SYS_PERSONALITY_H */
622
+
594
623
  /* Define to 1 if you have the <sys/prctl.h> header file. */
595
624
  /* #undef HAVE_SYS_PRCTL_H */
596
625
 
@@ -612,6 +641,9 @@
612
641
  /* Define to 1 if you have the <sys/shm.h> header file. */
613
642
  #define HAVE_SYS_SHM_H 1
614
643
 
644
+ /* Define to 1 if you have the <sys/signalfd.h> header file. */
645
+ /* #undef HAVE_SYS_SIGNALFD_H */
646
+
615
647
  /* Define to 1 if you have the <sys/sockio.h> header file. */
616
648
  #define HAVE_SYS_SOCKIO_H 1
617
649
 
@@ -627,6 +659,9 @@
627
659
  /* Define to 1 if you have the <sys/ucred.h> header file. */
628
660
  #define HAVE_SYS_UCRED_H 1
629
661
 
662
+ /* Define to 1 if you have the <sys/uio.h> header file. */
663
+ #define HAVE_SYS_UIO_H 1
664
+
630
665
  /* Define to 1 if you have the <sys/un.h> header file. */
631
666
  #define HAVE_SYS_UN_H 1
632
667
 
@@ -681,6 +716,9 @@
681
716
  /* Define to 1 if you have the <winldap.h> header file. */
682
717
  /* #undef HAVE_WINLDAP_H */
683
718
 
719
+ /* Define to 1 if you have the `writev' function. */
720
+ #define HAVE_WRITEV 1
721
+
684
722
  /* Define to 1 if you have the `X509_get_signature_nid' function. */
685
723
  /* #undef HAVE_X509_GET_SIGNATURE_NID */
686
724
 
@@ -753,6 +791,10 @@
753
791
  /* Define bytes to use libc memset(). */
754
792
  #define MEMSET_LOOP_LIMIT 1024
755
793
 
794
+ /* Define to the OpenSSL API version in use. This avoids deprecation warnings
795
+ from newer OpenSSL versions. */
796
+ /* #undef OPENSSL_API_COMPAT */
797
+
756
798
  /* Define to the address where bug reports for this package should be sent. */
757
799
  #define PACKAGE_BUGREPORT "pgsql-bugs@lists.postgresql.org"
758
800
 
@@ -760,7 +802,7 @@
760
802
  #define PACKAGE_NAME "PostgreSQL"
761
803
 
762
804
  /* Define to the full name and version of this package. */
763
- #define PACKAGE_STRING "PostgreSQL 13.8"
805
+ #define PACKAGE_STRING "PostgreSQL 15.1"
764
806
 
765
807
  /* Define to the one symbol short name of this package. */
766
808
  #define PACKAGE_TARNAME "postgresql"
@@ -769,7 +811,7 @@
769
811
  #define PACKAGE_URL "https://www.postgresql.org/"
770
812
 
771
813
  /* Define to the version of this package. */
772
- #define PACKAGE_VERSION "13.8"
814
+ #define PACKAGE_VERSION "15.1"
773
815
 
774
816
  /* Define to the name of a signed 128-bit integer type. */
775
817
  #define PG_INT128_TYPE __int128
@@ -782,13 +824,13 @@
782
824
  #define PG_KRB_SRVNAM "postgres"
783
825
 
784
826
  /* PostgreSQL major version as a string */
785
- #define PG_MAJORVERSION "13"
827
+ #define PG_MAJORVERSION "15"
786
828
 
787
829
  /* PostgreSQL major version number */
788
- #define PG_MAJORVERSION_NUM 13
830
+ #define PG_MAJORVERSION_NUM 15
789
831
 
790
832
  /* PostgreSQL minor version number */
791
- #define PG_MINORVERSION_NUM 8
833
+ #define PG_MINORVERSION_NUM 1
792
834
 
793
835
  /* Define to best printf format archetype, usually gnu_printf if available. */
794
836
  #define PG_PRINTF_ATTRIBUTE printf
@@ -797,13 +839,13 @@
797
839
  #define PG_USE_STDBOOL 1
798
840
 
799
841
  /* PostgreSQL version as a string */
800
- #define PG_VERSION "13.8"
842
+ #define PG_VERSION "15.1"
801
843
 
802
844
  /* PostgreSQL version as a number */
803
- #define PG_VERSION_NUM 130008
845
+ #define PG_VERSION_NUM 150001
804
846
 
805
847
  /* A string containing the version number, platform, and C compiler */
806
- #define PG_VERSION_STR "PostgreSQL 13.8 on arm-apple-darwin21.6.0, compiled by Apple clang version 14.0.0 (clang-1400.0.29.202), 64-bit"
848
+ #define PG_VERSION_STR "PostgreSQL 15.1 on aarch64-apple-darwin21.6.0, compiled by Apple clang version 14.0.0 (clang-1400.0.29.102), 64-bit"
807
849
 
808
850
  /* Define to 1 to allow profiling output to be saved separately for each
809
851
  process. */
@@ -862,9 +904,6 @@
862
904
  /* Define to 1 to build with BSD Authentication support. (--with-bsd-auth) */
863
905
  /* #undef USE_BSD_AUTH */
864
906
 
865
- /* Define to use /dev/urandom for random number generation */
866
- #define USE_DEV_URANDOM 1
867
-
868
907
  /* Define to build with ICU support. (--with-icu) */
869
908
  /* #undef USE_ICU */
870
909
 
@@ -881,15 +920,15 @@
881
920
  /* Define to 1 to build with LLVM based JIT support. (--with-llvm) */
882
921
  /* #undef USE_LLVM */
883
922
 
923
+ /* Define to 1 to build with LZ4 support. (--with-lz4) */
924
+ /* #undef USE_LZ4 */
925
+
884
926
  /* Define to select named POSIX semaphores. */
885
927
  /* #undef USE_NAMED_POSIX_SEMAPHORES */
886
928
 
887
- /* Define to build with OpenSSL support. (--with-openssl) */
929
+ /* Define to 1 to build with OpenSSL support. (--with-ssl=openssl) */
888
930
  /* #undef USE_OPENSSL */
889
931
 
890
- /* Define to use OpenSSL for random number generation */
891
- /* #undef USE_OPENSSL_RANDOM */
892
-
893
932
  /* Define to 1 to build with PAM support. (--with-pam) */
894
933
  /* #undef USE_PAM */
895
934
 
@@ -914,15 +953,15 @@
914
953
  /* Define to select unnamed POSIX semaphores. */
915
954
  /* #undef USE_UNNAMED_POSIX_SEMAPHORES */
916
955
 
917
- /* Define to use native Windows API for random number generation */
918
- /* #undef USE_WIN32_RANDOM */
919
-
920
956
  /* Define to select Win32-style semaphores. */
921
957
  /* #undef USE_WIN32_SEMAPHORES */
922
958
 
923
959
  /* Define to select Win32-style shared memory. */
924
960
  /* #undef USE_WIN32_SHARED_MEMORY */
925
961
 
962
+ /* Define to 1 to build with ZSTD support. (--with-zstd) */
963
+ /* #undef USE_ZSTD */
964
+
926
965
  /* Define to 1 if `wcstombs_l' requires <xlocale.h>. */
927
966
  #define WCSTOMBS_L_IN_XLOCALE 1
928
967
 
@@ -989,7 +1028,10 @@
989
1028
  #undef HAVE__STATIC_ASSERT
990
1029
  #undef HAVE_EXECINFO_H
991
1030
  #undef HAVE_BACKTRACE_SYMBOLS
1031
+ #undef HAVE_X86_64_POPCNTQ
992
1032
  #undef HAVE__GET_CPUID
993
- #ifdef __FreeBSD__
1033
+ #undef USE_ARMV8_CRC32C
1034
+ #undef USE_SSE42_CRC32C_WITH_RUNTIME_CHECK
1035
+ #if defined(__FreeBSD__) || defined(__NetBSD__)
994
1036
  #define HAVE_STRCHRNUL
995
1037
  #endif
@@ -6,7 +6,7 @@
6
6
  * for developers. If you edit any of these, be sure to do a *full*
7
7
  * rebuild (and an initdb if noted).
8
8
  *
9
- * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
9
+ * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
10
10
  * Portions Copyright (c) 1994, Regents of the University of California
11
11
  *
12
12
  * src/include/pg_config_manual.h
@@ -21,7 +21,7 @@
21
21
 
22
22
  /*
23
23
  * Maximum length for identifiers (e.g. table names, column names,
24
- * function names). Names actually are limited to one less byte than this,
24
+ * function names). Names actually are limited to one fewer byte than this,
25
25
  * because the length must include a trailing zero byte.
26
26
  *
27
27
  * Changing this requires an initdb.
@@ -42,6 +42,23 @@
42
42
  */
43
43
  #define FUNC_MAX_ARGS 100
44
44
 
45
+ /*
46
+ * When creating a product derived from PostgreSQL with changes that cause
47
+ * incompatibilities for loadable modules, it is recommended to change this
48
+ * string so that dfmgr.c can refuse to load incompatible modules with a clean
49
+ * error message. Typical examples that cause incompatibilities are any
50
+ * changes to node tags or node structures. (Note that dfmgr.c already
51
+ * detects common sources of incompatibilities due to major version
52
+ * differences and due to some changed compile-time constants. This setting
53
+ * is for catching anything that cannot be detected in a straightforward way.)
54
+ *
55
+ * There is no prescribed format for the string. The suggestion is to include
56
+ * product or company name, and optionally any internally-relevant ABI
57
+ * version. Example: "ACME Postgres/1.2". Note that the string will appear
58
+ * in a user-facing error message if an ABI mismatch is detected.
59
+ */
60
+ #define FMGR_ABI_EXTRA "PostgreSQL"
61
+
45
62
  /*
46
63
  * Maximum number of columns in an index. There is little point in making
47
64
  * this anything but a multiple of 32, because the main cost is associated
@@ -183,8 +200,7 @@
183
200
 
184
201
  /*
185
202
  * USE_SSL code should be compiled only when compiling with an SSL
186
- * implementation. (Currently, only OpenSSL is supported, but we might add
187
- * more implementations in the future.)
203
+ * implementation.
188
204
  */
189
205
  #ifdef USE_OPENSSL
190
206
  #define USE_SSL
@@ -218,17 +234,6 @@
218
234
  */
219
235
  #define DEFAULT_EVENT_SOURCE "PostgreSQL"
220
236
 
221
- /*
222
- * The random() function is expected to yield values between 0 and
223
- * MAX_RANDOM_VALUE. Currently, all known implementations yield
224
- * 0..2^31-1, so we just hardwire this constant. We could do a
225
- * configure test if it proves to be necessary. CAUTION: Think not to
226
- * replace this with RAND_MAX. RAND_MAX defines the maximum value of
227
- * the older rand() function, which is often different from --- and
228
- * considerably inferior to --- random().
229
- */
230
- #define MAX_RANDOM_VALUE PG_INT32_MAX
231
-
232
237
  /*
233
238
  * On PPC machines, decide whether to use the mutex hint bit in LWARX
234
239
  * instructions. Setting the hint bit will slightly improve spinlock
@@ -276,12 +281,21 @@
276
281
  /*
277
282
  * Include Valgrind "client requests", mostly in the memory allocator, so
278
283
  * Valgrind understands PostgreSQL memory contexts. This permits detecting
279
- * memory errors that Valgrind would not detect on a vanilla build. See also
280
- * src/tools/valgrind.supp. "make installcheck" runs 20-30x longer under
281
- * Valgrind. Note that USE_VALGRIND slowed older versions of Valgrind by an
282
- * additional order of magnitude; Valgrind 3.8.1 does not have this problem.
283
- * The client requests fall in hot code paths, so USE_VALGRIND also slows
284
- * native execution by a few percentage points.
284
+ * memory errors that Valgrind would not detect on a vanilla build. It also
285
+ * enables detection of buffer accesses that take place without holding a
286
+ * buffer pin (or without holding a buffer lock in the case of index access
287
+ * methods that superimpose their own custom client requests on top of the
288
+ * generic bufmgr.c requests).
289
+ *
290
+ * "make installcheck" is significantly slower under Valgrind. The client
291
+ * requests fall in hot code paths, so USE_VALGRIND slows execution by a few
292
+ * percentage points even when not run under Valgrind.
293
+ *
294
+ * Do not try to test the server under Valgrind without having built the
295
+ * server with USE_VALGRIND; else you will get false positives from sinval
296
+ * messaging (see comments in AddCatcacheInvalidationMessage). It's also
297
+ * important to use the suppression file src/tools/valgrind.supp to
298
+ * exclude other known false positives.
285
299
  *
286
300
  * You should normally use MEMORY_CONTEXT_CHECKING with USE_VALGRIND;
287
301
  * instrumentation of repalloc() is inferior without it.
@@ -313,6 +327,45 @@
313
327
  */
314
328
  /* #define RANDOMIZE_ALLOCATED_MEMORY */
315
329
 
330
+ /*
331
+ * For cache-invalidation debugging, define DISCARD_CACHES_ENABLED to enable
332
+ * use of the debug_discard_caches GUC to aggressively flush syscache/relcache
333
+ * entries whenever it's possible to deliver invalidations. See
334
+ * AcceptInvalidationMessages() in src/backend/utils/cache/inval.c for
335
+ * details.
336
+ *
337
+ * USE_ASSERT_CHECKING builds default to enabling this. It's possible to use
338
+ * DISCARD_CACHES_ENABLED without a cassert build and the implied
339
+ * CLOBBER_FREED_MEMORY and MEMORY_CONTEXT_CHECKING options, but it's unlikely
340
+ * to be as effective at identifying problems.
341
+ */
342
+ /* #define DISCARD_CACHES_ENABLED */
343
+
344
+ #if defined(USE_ASSERT_CHECKING) && !defined(DISCARD_CACHES_ENABLED)
345
+ #define DISCARD_CACHES_ENABLED
346
+ #endif
347
+
348
+ /*
349
+ * Backwards compatibility for the older compile-time-only clobber-cache
350
+ * macros.
351
+ */
352
+ #if !defined(DISCARD_CACHES_ENABLED) && (defined(CLOBBER_CACHE_ALWAYS) || defined(CLOBBER_CACHE_RECURSIVELY))
353
+ #define DISCARD_CACHES_ENABLED
354
+ #endif
355
+
356
+ /*
357
+ * Recover memory used for relcache entries when invalidated. See
358
+ * RelationBuildDescr() in src/backend/utils/cache/relcache.c.
359
+ *
360
+ * This is active automatically for clobber-cache builds when clobbering is
361
+ * active, but can be overridden here by explicitly defining
362
+ * RECOVER_RELATION_BUILD_MEMORY. Define to 1 to always free relation cache
363
+ * memory even when clobber is off, or to 0 to never free relation cache
364
+ * memory even when clobbering is on.
365
+ */
366
+ /* #define RECOVER_RELATION_BUILD_MEMORY 0 */ /* Force disable */
367
+ /* #define RECOVER_RELATION_BUILD_MEMORY 1 */ /* Force enable */
368
+
316
369
  /*
317
370
  * Define this to force all parse and plan trees to be passed through
318
371
  * copyObject(), to facilitate catching errors and omissions in
@@ -11,7 +11,7 @@
11
11
  * Portions Copyright (c) 1987, 1993, 1994
12
12
  * The Regents of the University of California. All rights reserved.
13
13
  *
14
- * Portions Copyright (c) 2003-2020, PostgreSQL Global Development Group
14
+ * Portions Copyright (c) 2003-2022, PostgreSQL Global Development Group
15
15
  *
16
16
  * src/include/pg_getopt.h
17
17
  */
@@ -33,10 +33,10 @@
33
33
  */
34
34
  #ifndef HAVE_GETOPT_H
35
35
 
36
- extern char *optarg;
37
- extern int optind;
38
- extern int opterr;
39
- extern int optopt;
36
+ extern PGDLLIMPORT char *optarg;
37
+ extern PGDLLIMPORT int optind;
38
+ extern PGDLLIMPORT int opterr;
39
+ extern PGDLLIMPORT int optopt;
40
40
 
41
41
  #endif /* HAVE_GETOPT_H */
42
42
 
@@ -45,7 +45,7 @@ extern int optopt;
45
45
  * Cygwin, however, doesn't like this either.
46
46
  */
47
47
  #if defined(HAVE_INT_OPTRESET) && !defined(__CYGWIN__)
48
- extern int optreset;
48
+ extern PGDLLIMPORT int optreset;
49
49
  #endif
50
50
 
51
51
  /* Provide getopt() declaration if the platform doesn't have it */
@@ -2,6 +2,7 @@
2
2
  #define PG_QUERY_H
3
3
 
4
4
  #include <stdint.h>
5
+ #include <sys/types.h>
5
6
 
6
7
  typedef struct {
7
8
  char* message; // exception message
@@ -13,7 +14,7 @@ typedef struct {
13
14
  } PgQueryError;
14
15
 
15
16
  typedef struct {
16
- unsigned int len;
17
+ size_t len;
17
18
  char* data;
18
19
  } PgQueryProtobuf;
19
20
 
@@ -106,9 +107,9 @@ void pg_query_free_fingerprint_result(PgQueryFingerprintResult result);
106
107
  void pg_query_exit(void);
107
108
 
108
109
  // Postgres version information
109
- #define PG_VERSION "13.8"
110
- #define PG_MAJORVERSION "13"
111
- #define PG_VERSION_NUM 130008
110
+ #define PG_MAJORVERSION "15"
111
+ #define PG_VERSION "15.1"
112
+ #define PG_VERSION_NUM 150001
112
113
 
113
114
  // Deprecated APIs below
114
115