pg_query 2.1.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 (472) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +104 -0
  3. data/README.md +59 -31
  4. data/Rakefile +2 -2
  5. data/ext/pg_query/extconf.rb +8 -2
  6. data/ext/pg_query/include/access/amapi.h +45 -1
  7. data/ext/pg_query/include/access/attmap.h +1 -1
  8. data/ext/pg_query/include/access/attnum.h +2 -2
  9. data/ext/pg_query/include/access/clog.h +4 -2
  10. data/ext/pg_query/include/access/commit_ts.h +6 -9
  11. data/ext/pg_query/include/access/detoast.h +1 -11
  12. data/ext/pg_query/include/access/genam.h +15 -12
  13. data/ext/pg_query/include/access/gin.h +2 -2
  14. data/ext/pg_query/include/access/htup.h +1 -1
  15. data/ext/pg_query/include/access/htup_details.h +75 -87
  16. data/ext/pg_query/include/access/itup.h +7 -1
  17. data/ext/pg_query/include/access/parallel.h +2 -2
  18. data/ext/pg_query/include/access/printtup.h +1 -1
  19. data/ext/pg_query/include/access/relation.h +1 -1
  20. data/ext/pg_query/include/access/relscan.h +17 -2
  21. data/ext/pg_query/include/access/rmgr.h +30 -3
  22. data/ext/pg_query/include/access/rmgrlist.h +23 -23
  23. data/ext/pg_query/include/access/sdir.h +1 -1
  24. data/ext/pg_query/include/access/skey.h +1 -1
  25. data/ext/pg_query/include/access/stratnum.h +4 -2
  26. data/ext/pg_query/include/access/sysattr.h +1 -1
  27. data/ext/pg_query/include/access/table.h +2 -1
  28. data/ext/pg_query/include/access/tableam.h +272 -20
  29. data/ext/pg_query/include/access/toast_compression.h +73 -0
  30. data/ext/pg_query/include/access/transam.h +123 -13
  31. data/ext/pg_query/include/access/tupconvert.h +1 -1
  32. data/ext/pg_query/include/access/tupdesc.h +1 -1
  33. data/ext/pg_query/include/access/tupmacs.h +3 -3
  34. data/ext/pg_query/include/access/twophase.h +5 -1
  35. data/ext/pg_query/include/access/xact.h +79 -19
  36. data/ext/pg_query/include/access/xlog.h +60 -155
  37. data/ext/pg_query/include/access/xlog_internal.h +50 -14
  38. data/ext/pg_query/include/access/xlogdefs.h +8 -16
  39. data/ext/pg_query/include/access/xlogprefetcher.h +55 -0
  40. data/ext/pg_query/include/access/xlogreader.h +148 -32
  41. data/ext/pg_query/include/access/xlogrecord.h +18 -9
  42. data/ext/pg_query/include/access/xlogrecovery.h +157 -0
  43. data/ext/pg_query/include/c.h +101 -44
  44. data/ext/pg_query/include/catalog/catalog.h +3 -1
  45. data/ext/pg_query/include/catalog/catversion.h +2 -2
  46. data/ext/pg_query/include/catalog/dependency.h +10 -16
  47. data/ext/pg_query/include/catalog/genbki.h +83 -5
  48. data/ext/pg_query/include/catalog/index.h +18 -3
  49. data/ext/pg_query/include/catalog/indexing.h +12 -324
  50. data/ext/pg_query/include/catalog/namespace.h +4 -2
  51. data/ext/pg_query/include/catalog/objectaccess.h +70 -2
  52. data/ext/pg_query/include/catalog/objectaddress.h +11 -6
  53. data/ext/pg_query/include/catalog/pg_aggregate.h +14 -10
  54. data/ext/pg_query/include/catalog/pg_aggregate_d.h +2 -1
  55. data/ext/pg_query/include/catalog/pg_am.h +4 -1
  56. data/ext/pg_query/include/catalog/pg_am_d.h +3 -1
  57. data/ext/pg_query/include/catalog/pg_attribute.h +27 -10
  58. data/ext/pg_query/include/catalog/pg_attribute_d.h +21 -18
  59. data/ext/pg_query/include/catalog/pg_authid.h +7 -2
  60. data/ext/pg_query/include/catalog/pg_authid_d.h +17 -9
  61. data/ext/pg_query/include/catalog/pg_class.h +45 -15
  62. data/ext/pg_query/include/catalog/pg_class_d.h +31 -2
  63. data/ext/pg_query/include/catalog/pg_collation.h +33 -8
  64. data/ext/pg_query/include/catalog/pg_collation_d.h +20 -3
  65. data/ext/pg_query/include/catalog/pg_constraint.h +38 -12
  66. data/ext/pg_query/include/catalog/pg_constraint_d.h +10 -4
  67. data/ext/pg_query/include/catalog/pg_control.h +5 -5
  68. data/ext/pg_query/include/catalog/pg_conversion.h +7 -4
  69. data/ext/pg_query/include/catalog/pg_conversion_d.h +4 -1
  70. data/ext/pg_query/include/catalog/pg_depend.h +11 -7
  71. data/ext/pg_query/include/catalog/pg_depend_d.h +3 -1
  72. data/ext/pg_query/include/catalog/pg_event_trigger.h +9 -3
  73. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +3 -1
  74. data/ext/pg_query/include/catalog/pg_index.h +17 -7
  75. data/ext/pg_query/include/catalog/pg_index_d.h +20 -17
  76. data/ext/pg_query/include/catalog/pg_language.h +10 -5
  77. data/ext/pg_query/include/catalog/pg_language_d.h +3 -1
  78. data/ext/pg_query/include/catalog/pg_namespace.h +7 -2
  79. data/ext/pg_query/include/catalog/pg_namespace_d.h +3 -1
  80. data/ext/pg_query/include/catalog/pg_opclass.h +8 -5
  81. data/ext/pg_query/include/catalog/pg_opclass_d.h +3 -1
  82. data/ext/pg_query/include/catalog/pg_operator.h +21 -16
  83. data/ext/pg_query/include/catalog/pg_operator_d.h +37 -1
  84. data/ext/pg_query/include/catalog/pg_opfamily.h +6 -3
  85. data/ext/pg_query/include/catalog/pg_opfamily_d.h +3 -1
  86. data/ext/pg_query/include/catalog/pg_parameter_acl.h +60 -0
  87. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +34 -0
  88. data/ext/pg_query/include/catalog/pg_partitioned_table.h +20 -9
  89. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +2 -1
  90. data/ext/pg_query/include/catalog/pg_proc.h +20 -11
  91. data/ext/pg_query/include/catalog/pg_proc_d.h +10 -8
  92. data/ext/pg_query/include/catalog/pg_publication.h +50 -4
  93. data/ext/pg_query/include/catalog/pg_publication_d.h +3 -1
  94. data/ext/pg_query/include/catalog/pg_replication_origin.h +6 -1
  95. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +5 -1
  96. data/ext/pg_query/include/catalog/pg_statistic.h +19 -12
  97. data/ext/pg_query/include/catalog/pg_statistic_d.h +2 -1
  98. data/ext/pg_query/include/catalog/pg_statistic_ext.h +19 -5
  99. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +7 -2
  100. data/ext/pg_query/include/catalog/pg_transform.h +8 -5
  101. data/ext/pg_query/include/catalog/pg_transform_d.h +3 -1
  102. data/ext/pg_query/include/catalog/pg_trigger.h +24 -8
  103. data/ext/pg_query/include/catalog/pg_trigger_d.h +4 -1
  104. data/ext/pg_query/include/catalog/pg_ts_config.h +6 -3
  105. data/ext/pg_query/include/catalog/pg_ts_config_d.h +3 -1
  106. data/ext/pg_query/include/catalog/pg_ts_dict.h +8 -3
  107. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +3 -1
  108. data/ext/pg_query/include/catalog/pg_ts_parser.h +6 -3
  109. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +3 -1
  110. data/ext/pg_query/include/catalog/pg_ts_template.h +6 -3
  111. data/ext/pg_query/include/catalog/pg_ts_template_d.h +3 -1
  112. data/ext/pg_query/include/catalog/pg_type.h +56 -24
  113. data/ext/pg_query/include/catalog/pg_type_d.h +70 -31
  114. data/ext/pg_query/include/catalog/storage.h +5 -3
  115. data/ext/pg_query/include/commands/async.h +4 -5
  116. data/ext/pg_query/include/commands/dbcommands.h +2 -1
  117. data/ext/pg_query/include/commands/defrem.h +11 -24
  118. data/ext/pg_query/include/commands/event_trigger.h +2 -2
  119. data/ext/pg_query/include/commands/explain.h +1 -1
  120. data/ext/pg_query/include/commands/prepare.h +1 -1
  121. data/ext/pg_query/include/commands/tablespace.h +3 -1
  122. data/ext/pg_query/include/commands/trigger.h +27 -17
  123. data/ext/pg_query/include/commands/user.h +2 -2
  124. data/ext/pg_query/include/commands/vacuum.h +88 -41
  125. data/ext/pg_query/include/commands/variable.h +1 -1
  126. data/ext/pg_query/include/common/file_perm.h +4 -4
  127. data/ext/pg_query/include/common/hashfn.h +1 -1
  128. data/ext/pg_query/include/common/ip.h +1 -7
  129. data/ext/pg_query/include/common/keywords.h +2 -6
  130. data/ext/pg_query/include/common/kwlookup.h +1 -1
  131. data/ext/pg_query/include/common/pg_prng.h +60 -0
  132. data/ext/pg_query/include/common/relpath.h +2 -2
  133. data/ext/pg_query/include/common/string.h +24 -1
  134. data/ext/pg_query/include/common/unicode_combining_table.h +114 -2
  135. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +125 -0
  136. data/ext/pg_query/include/datatype/timestamp.h +40 -1
  137. data/ext/pg_query/include/executor/execdesc.h +1 -1
  138. data/ext/pg_query/include/executor/executor.h +65 -22
  139. data/ext/pg_query/include/executor/functions.h +17 -3
  140. data/ext/pg_query/include/executor/instrument.h +33 -16
  141. data/ext/pg_query/include/executor/spi.h +41 -3
  142. data/ext/pg_query/include/executor/tablefunc.h +1 -1
  143. data/ext/pg_query/include/executor/tuptable.h +1 -1
  144. data/ext/pg_query/include/fmgr.h +13 -7
  145. data/ext/pg_query/include/funcapi.h +16 -4
  146. data/ext/pg_query/include/getaddrinfo.h +1 -1
  147. data/ext/pg_query/include/jit/jit.h +11 -11
  148. data/ext/pg_query/include/kwlist_d.h +517 -494
  149. data/ext/pg_query/include/lib/dshash.h +112 -0
  150. data/ext/pg_query/include/lib/ilist.h +20 -1
  151. data/ext/pg_query/include/lib/pairingheap.h +1 -1
  152. data/ext/pg_query/include/lib/simplehash.h +150 -25
  153. data/ext/pg_query/include/lib/sort_template.h +432 -0
  154. data/ext/pg_query/include/lib/stringinfo.h +1 -1
  155. data/ext/pg_query/include/libpq/auth.h +6 -4
  156. data/ext/pg_query/include/libpq/crypt.h +5 -4
  157. data/ext/pg_query/include/libpq/hba.h +43 -4
  158. data/ext/pg_query/include/libpq/libpq-be.h +23 -6
  159. data/ext/pg_query/include/libpq/libpq.h +31 -20
  160. data/ext/pg_query/include/libpq/pqcomm.h +17 -31
  161. data/ext/pg_query/include/libpq/pqformat.h +1 -1
  162. data/ext/pg_query/include/libpq/pqsignal.h +4 -4
  163. data/ext/pg_query/include/mb/pg_wchar.h +106 -23
  164. data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
  165. data/ext/pg_query/include/miscadmin.h +71 -52
  166. data/ext/pg_query/include/nodes/bitmapset.h +1 -1
  167. data/ext/pg_query/include/nodes/execnodes.h +272 -80
  168. data/ext/pg_query/include/nodes/extensible.h +4 -2
  169. data/ext/pg_query/include/nodes/lockoptions.h +1 -1
  170. data/ext/pg_query/include/nodes/makefuncs.h +7 -6
  171. data/ext/pg_query/include/nodes/memnodes.h +5 -3
  172. data/ext/pg_query/include/nodes/nodeFuncs.h +1 -1
  173. data/ext/pg_query/include/nodes/nodes.h +30 -11
  174. data/ext/pg_query/include/nodes/params.h +1 -1
  175. data/ext/pg_query/include/nodes/parsenodes.h +327 -94
  176. data/ext/pg_query/include/nodes/pathnodes.h +245 -67
  177. data/ext/pg_query/include/nodes/pg_list.h +75 -68
  178. data/ext/pg_query/include/nodes/plannodes.h +128 -30
  179. data/ext/pg_query/include/nodes/primnodes.h +99 -47
  180. data/ext/pg_query/include/nodes/print.h +1 -1
  181. data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
  182. data/ext/pg_query/include/nodes/value.h +58 -39
  183. data/ext/pg_query/include/optimizer/cost.h +9 -2
  184. data/ext/pg_query/include/optimizer/geqo.h +9 -7
  185. data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
  186. data/ext/pg_query/include/optimizer/optimizer.h +25 -22
  187. data/ext/pg_query/include/optimizer/paths.h +6 -6
  188. data/ext/pg_query/include/optimizer/planmain.h +15 -14
  189. data/ext/pg_query/include/parser/analyze.h +19 -5
  190. data/ext/pg_query/include/parser/gram.h +947 -913
  191. data/ext/pg_query/include/parser/gramparse.h +1 -1
  192. data/ext/pg_query/include/parser/kwlist.h +463 -453
  193. data/ext/pg_query/include/parser/parse_agg.h +2 -7
  194. data/ext/pg_query/include/parser/parse_coerce.h +4 -1
  195. data/ext/pg_query/include/parser/parse_expr.h +2 -3
  196. data/ext/pg_query/include/parser/parse_func.h +2 -1
  197. data/ext/pg_query/include/parser/parse_node.h +21 -9
  198. data/ext/pg_query/include/parser/parse_oper.h +1 -3
  199. data/ext/pg_query/include/parser/parse_relation.h +5 -4
  200. data/ext/pg_query/include/parser/parse_type.h +1 -1
  201. data/ext/pg_query/include/parser/parser.h +31 -4
  202. data/ext/pg_query/include/parser/parsetree.h +1 -1
  203. data/ext/pg_query/include/parser/scanner.h +1 -1
  204. data/ext/pg_query/include/parser/scansup.h +2 -5
  205. data/ext/pg_query/include/partitioning/partdefs.h +1 -1
  206. data/ext/pg_query/include/pg_config.h +94 -46
  207. data/ext/pg_query/include/pg_config_manual.h +74 -21
  208. data/ext/pg_query/include/pg_getopt.h +6 -6
  209. data/ext/pg_query/include/pg_query.h +5 -4
  210. data/ext/pg_query/include/pg_query_enum_defs.c +358 -241
  211. data/ext/pg_query/include/pg_query_fingerprint_conds.c +44 -7
  212. data/ext/pg_query/include/pg_query_fingerprint_defs.c +1220 -422
  213. data/ext/pg_query/include/pg_query_outfuncs_conds.c +43 -13
  214. data/ext/pg_query/include/pg_query_outfuncs_defs.c +152 -26
  215. data/ext/pg_query/include/pg_query_readfuncs_conds.c +11 -2
  216. data/ext/pg_query/include/pg_query_readfuncs_defs.c +174 -30
  217. data/ext/pg_query/include/pg_trace.h +1 -1
  218. data/ext/pg_query/include/pgstat.h +449 -1237
  219. data/ext/pg_query/include/pgtime.h +14 -4
  220. data/ext/pg_query/include/pl_gram.h +126 -128
  221. data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
  222. data/ext/pg_query/include/pl_reserved_kwlist_d.h +10 -10
  223. data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -3
  224. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +54 -56
  225. data/ext/pg_query/include/plerrcodes.h +9 -1
  226. data/ext/pg_query/include/plpgsql.h +52 -54
  227. data/ext/pg_query/include/port/atomics/arch-arm.h +7 -1
  228. data/ext/pg_query/include/port/atomics/arch-ppc.h +1 -1
  229. data/ext/pg_query/include/port/atomics/arch-x86.h +1 -1
  230. data/ext/pg_query/include/port/atomics/fallback.h +1 -1
  231. data/ext/pg_query/include/port/atomics/generic-gcc.h +3 -3
  232. data/ext/pg_query/include/port/atomics/generic.h +1 -1
  233. data/ext/pg_query/include/port/atomics.h +1 -1
  234. data/ext/pg_query/include/port/pg_bitutils.h +88 -12
  235. data/ext/pg_query/include/port/pg_bswap.h +1 -1
  236. data/ext/pg_query/include/port/pg_crc32c.h +1 -1
  237. data/ext/pg_query/include/port.h +72 -43
  238. data/ext/pg_query/include/portability/instr_time.h +1 -1
  239. data/ext/pg_query/include/postgres.h +60 -16
  240. data/ext/pg_query/include/postmaster/autovacuum.h +17 -17
  241. data/ext/pg_query/include/postmaster/auxprocess.h +20 -0
  242. data/ext/pg_query/include/postmaster/bgworker.h +2 -1
  243. data/ext/pg_query/include/postmaster/bgworker_internals.h +2 -2
  244. data/ext/pg_query/include/postmaster/bgwriter.h +5 -5
  245. data/ext/pg_query/include/postmaster/fork_process.h +1 -1
  246. data/ext/pg_query/include/postmaster/interrupt.h +1 -1
  247. data/ext/pg_query/include/postmaster/pgarch.h +42 -8
  248. data/ext/pg_query/include/postmaster/postmaster.h +18 -17
  249. data/ext/pg_query/include/postmaster/startup.h +39 -0
  250. data/ext/pg_query/include/postmaster/syslogger.h +15 -10
  251. data/ext/pg_query/include/postmaster/walwriter.h +3 -3
  252. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +1422 -916
  253. data/ext/pg_query/include/protobuf/pg_query.pb.h +43678 -32769
  254. data/ext/pg_query/include/regex/regex.h +18 -16
  255. data/ext/pg_query/include/replication/logicallauncher.h +3 -5
  256. data/ext/pg_query/include/replication/logicalproto.h +161 -17
  257. data/ext/pg_query/include/replication/logicalworker.h +1 -1
  258. data/ext/pg_query/include/replication/origin.h +7 -7
  259. data/ext/pg_query/include/replication/reorderbuffer.h +262 -44
  260. data/ext/pg_query/include/replication/slot.h +23 -12
  261. data/ext/pg_query/include/replication/syncrep.h +5 -5
  262. data/ext/pg_query/include/replication/walreceiver.h +145 -13
  263. data/ext/pg_query/include/replication/walsender.h +8 -8
  264. data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
  265. data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -3
  266. data/ext/pg_query/include/rewrite/rewriteManip.h +1 -1
  267. data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
  268. data/ext/pg_query/include/storage/backendid.h +3 -3
  269. data/ext/pg_query/include/storage/block.h +4 -10
  270. data/ext/pg_query/include/storage/buf.h +1 -1
  271. data/ext/pg_query/include/storage/bufmgr.h +19 -14
  272. data/ext/pg_query/include/storage/bufpage.h +6 -8
  273. data/ext/pg_query/include/storage/condition_variable.h +13 -2
  274. data/ext/pg_query/include/storage/dsm.h +4 -1
  275. data/ext/pg_query/include/storage/dsm_impl.h +3 -2
  276. data/ext/pg_query/include/storage/fd.h +33 -3
  277. data/ext/pg_query/include/storage/fileset.h +40 -0
  278. data/ext/pg_query/include/storage/ipc.h +4 -1
  279. data/ext/pg_query/include/storage/item.h +1 -1
  280. data/ext/pg_query/include/storage/itemid.h +1 -1
  281. data/ext/pg_query/include/storage/itemptr.h +3 -1
  282. data/ext/pg_query/include/storage/large_object.h +2 -2
  283. data/ext/pg_query/include/storage/latch.h +9 -13
  284. data/ext/pg_query/include/storage/lmgr.h +2 -1
  285. data/ext/pg_query/include/storage/lock.h +17 -13
  286. data/ext/pg_query/include/storage/lockdefs.h +2 -2
  287. data/ext/pg_query/include/storage/lwlock.h +6 -32
  288. data/ext/pg_query/include/storage/lwlocknames.h +0 -1
  289. data/ext/pg_query/include/storage/off.h +1 -1
  290. data/ext/pg_query/include/storage/pg_sema.h +1 -1
  291. data/ext/pg_query/include/storage/pg_shmem.h +9 -7
  292. data/ext/pg_query/include/storage/pmsignal.h +15 -4
  293. data/ext/pg_query/include/storage/predicate.h +4 -4
  294. data/ext/pg_query/include/storage/proc.h +183 -55
  295. data/ext/pg_query/include/storage/procarray.h +98 -0
  296. data/ext/pg_query/include/storage/proclist_types.h +1 -1
  297. data/ext/pg_query/include/storage/procsignal.h +3 -7
  298. data/ext/pg_query/include/storage/relfilenode.h +1 -1
  299. data/ext/pg_query/include/storage/s_lock.h +67 -4
  300. data/ext/pg_query/include/storage/sharedfileset.h +3 -11
  301. data/ext/pg_query/include/storage/shm_mq.h +5 -4
  302. data/ext/pg_query/include/storage/shm_toc.h +1 -1
  303. data/ext/pg_query/include/storage/shmem.h +1 -1
  304. data/ext/pg_query/include/storage/sinval.h +3 -3
  305. data/ext/pg_query/include/storage/sinvaladt.h +1 -1
  306. data/ext/pg_query/include/storage/smgr.h +10 -8
  307. data/ext/pg_query/include/storage/spin.h +2 -2
  308. data/ext/pg_query/include/storage/standby.h +13 -6
  309. data/ext/pg_query/include/storage/standbydefs.h +2 -2
  310. data/ext/pg_query/include/storage/sync.h +7 -3
  311. data/ext/pg_query/include/tcop/cmdtag.h +1 -1
  312. data/ext/pg_query/include/tcop/cmdtaglist.h +3 -2
  313. data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
  314. data/ext/pg_query/include/tcop/dest.h +1 -1
  315. data/ext/pg_query/include/tcop/fastpath.h +1 -2
  316. data/ext/pg_query/include/tcop/pquery.h +7 -1
  317. data/ext/pg_query/include/tcop/tcopprot.h +19 -11
  318. data/ext/pg_query/include/tcop/utility.h +7 -3
  319. data/ext/pg_query/include/tsearch/ts_cache.h +2 -2
  320. data/ext/pg_query/include/utils/acl.h +24 -3
  321. data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
  322. data/ext/pg_query/include/utils/array.h +7 -2
  323. data/ext/pg_query/include/utils/backend_progress.h +44 -0
  324. data/ext/pg_query/include/utils/backend_status.h +321 -0
  325. data/ext/pg_query/include/utils/builtins.h +11 -11
  326. data/ext/pg_query/include/utils/bytea.h +3 -2
  327. data/ext/pg_query/include/utils/catcache.h +1 -1
  328. data/ext/pg_query/include/utils/date.h +1 -1
  329. data/ext/pg_query/include/utils/datetime.h +8 -7
  330. data/ext/pg_query/include/utils/datum.h +9 -1
  331. data/ext/pg_query/include/utils/dsa.h +1 -1
  332. data/ext/pg_query/include/utils/dynahash.h +4 -3
  333. data/ext/pg_query/include/utils/elog.h +52 -21
  334. data/ext/pg_query/include/utils/errcodes.h +2 -0
  335. data/ext/pg_query/include/utils/expandeddatum.h +1 -1
  336. data/ext/pg_query/include/utils/expandedrecord.h +1 -1
  337. data/ext/pg_query/include/utils/float.h +7 -7
  338. data/ext/pg_query/include/utils/fmgroids.h +1300 -696
  339. data/ext/pg_query/include/utils/fmgrprotos.h +199 -16
  340. data/ext/pg_query/include/utils/fmgrtab.h +6 -5
  341. data/ext/pg_query/include/utils/guc.h +69 -43
  342. data/ext/pg_query/include/utils/guc_tables.h +23 -19
  343. data/ext/pg_query/include/utils/hsearch.h +15 -11
  344. data/ext/pg_query/include/utils/inval.h +5 -1
  345. data/ext/pg_query/include/utils/lsyscache.h +11 -1
  346. data/ext/pg_query/include/utils/memdebug.h +1 -1
  347. data/ext/pg_query/include/utils/memutils.h +8 -3
  348. data/ext/pg_query/include/utils/numeric.h +19 -5
  349. data/ext/pg_query/include/utils/palloc.h +25 -3
  350. data/ext/pg_query/include/utils/partcache.h +1 -1
  351. data/ext/pg_query/include/utils/pg_locale.h +17 -9
  352. data/ext/pg_query/include/utils/pg_lsn.h +1 -1
  353. data/ext/pg_query/include/utils/pgstat_internal.h +784 -0
  354. data/ext/pg_query/include/utils/pidfile.h +1 -1
  355. data/ext/pg_query/include/utils/plancache.h +6 -5
  356. data/ext/pg_query/include/utils/portal.h +12 -1
  357. data/ext/pg_query/include/utils/ps_status.h +1 -1
  358. data/ext/pg_query/include/utils/queryenvironment.h +1 -1
  359. data/ext/pg_query/include/utils/queryjumble.h +88 -0
  360. data/ext/pg_query/include/utils/regproc.h +14 -3
  361. data/ext/pg_query/include/utils/rel.h +71 -20
  362. data/ext/pg_query/include/utils/relcache.h +9 -7
  363. data/ext/pg_query/include/utils/reltrigger.h +1 -1
  364. data/ext/pg_query/include/utils/resowner.h +1 -1
  365. data/ext/pg_query/include/utils/rls.h +2 -2
  366. data/ext/pg_query/include/utils/ruleutils.h +4 -1
  367. data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
  368. data/ext/pg_query/include/utils/snapmgr.h +35 -14
  369. data/ext/pg_query/include/utils/snapshot.h +14 -1
  370. data/ext/pg_query/include/utils/sortsupport.h +117 -2
  371. data/ext/pg_query/include/utils/syscache.h +6 -1
  372. data/ext/pg_query/include/utils/timeout.h +11 -4
  373. data/ext/pg_query/include/utils/timestamp.h +6 -5
  374. data/ext/pg_query/include/utils/tuplesort.h +25 -11
  375. data/ext/pg_query/include/utils/tuplestore.h +2 -2
  376. data/ext/pg_query/include/utils/typcache.h +24 -17
  377. data/ext/pg_query/include/utils/tzparser.h +1 -1
  378. data/ext/pg_query/include/utils/varlena.h +5 -3
  379. data/ext/pg_query/include/utils/wait_event.h +289 -0
  380. data/ext/pg_query/include/utils/xml.h +4 -4
  381. data/ext/pg_query/pg_query.pb-c.c +4318 -2307
  382. data/ext/pg_query/pg_query_deparse.c +1114 -381
  383. data/ext/pg_query/pg_query_fingerprint.c +46 -10
  384. data/ext/pg_query/pg_query_fingerprint.h +3 -1
  385. data/ext/pg_query/pg_query_json_plpgsql.c +55 -12
  386. data/ext/pg_query/pg_query_normalize.c +163 -20
  387. data/ext/pg_query/pg_query_outfuncs.h +1 -0
  388. data/ext/pg_query/pg_query_outfuncs_json.c +65 -16
  389. data/ext/pg_query/pg_query_outfuncs_protobuf.c +70 -10
  390. data/ext/pg_query/pg_query_parse.c +1 -1
  391. data/ext/pg_query/pg_query_parse_plpgsql.c +79 -16
  392. data/ext/pg_query/pg_query_readfuncs_protobuf.c +42 -8
  393. data/ext/pg_query/pg_query_ruby.c +1 -1
  394. data/ext/pg_query/pg_query_scan.c +2 -1
  395. data/ext/pg_query/pg_query_split.c +3 -2
  396. data/ext/pg_query/src_backend_catalog_namespace.c +21 -9
  397. data/ext/pg_query/src_backend_catalog_pg_proc.c +4 -1
  398. data/ext/pg_query/src_backend_commands_define.c +11 -1
  399. data/ext/pg_query/src_backend_nodes_bitmapset.c +3 -1
  400. data/ext/pg_query/src_backend_nodes_copyfuncs.c +424 -109
  401. data/ext/pg_query/src_backend_nodes_equalfuncs.c +291 -46
  402. data/ext/pg_query/src_backend_nodes_extensible.c +1 -1
  403. data/ext/pg_query/src_backend_nodes_list.c +86 -11
  404. data/ext/pg_query/src_backend_nodes_makefuncs.c +5 -4
  405. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +55 -12
  406. data/ext/pg_query/src_backend_nodes_value.c +28 -19
  407. data/ext/pg_query/src_backend_parser_gram.c +33890 -31262
  408. data/ext/pg_query/src_backend_parser_parser.c +26 -7
  409. data/ext/pg_query/src_backend_parser_scan.c +644 -441
  410. data/ext/pg_query/src_backend_parser_scansup.c +4 -28
  411. data/ext/pg_query/src_backend_postmaster_postmaster.c +77 -106
  412. data/ext/pg_query/src_backend_storage_ipc_ipc.c +13 -4
  413. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +5 -4
  414. data/ext/pg_query/src_backend_tcop_postgres.c +73 -24
  415. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +140 -0
  416. data/ext/pg_query/src_backend_utils_adt_datum.c +13 -1
  417. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  418. data/ext/pg_query/src_backend_utils_adt_format_type.c +6 -2
  419. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +109 -15
  420. data/ext/pg_query/src_backend_utils_error_assert.c +16 -14
  421. data/ext/pg_query/src_backend_utils_error_elog.c +172 -99
  422. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +12 -17
  423. data/ext/pg_query/src_backend_utils_hash_dynahash.c +40 -10
  424. data/ext/pg_query/src_backend_utils_init_globals.c +5 -5
  425. data/ext/pg_query/src_backend_utils_mb_mbutils.c +55 -66
  426. data/ext/pg_query/src_backend_utils_misc_guc.c +207 -45
  427. data/ext/pg_query/src_backend_utils_mmgr_aset.c +7 -5
  428. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +123 -35
  429. data/ext/pg_query/src_common_encnames.c +1 -1
  430. data/ext/pg_query/src_common_hashfn.c +3 -3
  431. data/ext/pg_query/src_common_keywords.c +15 -2
  432. data/ext/pg_query/src_common_kwlist_d.h +517 -494
  433. data/ext/pg_query/src_common_kwlookup.c +1 -1
  434. data/ext/pg_query/src_common_pg_prng.c +152 -0
  435. data/ext/pg_query/src_common_psprintf.c +1 -1
  436. data/ext/pg_query/src_common_string.c +7 -1
  437. data/ext/pg_query/src_common_stringinfo.c +1 -1
  438. data/ext/pg_query/src_common_wchar.c +712 -109
  439. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +49 -22
  440. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +1 -18
  441. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +1235 -1261
  442. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  443. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +10 -10
  444. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +2 -2
  445. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +54 -56
  446. data/ext/pg_query/src_port_pg_bitutils.c +41 -52
  447. data/ext/pg_query/src_port_pgsleep.c +1 -1
  448. data/ext/pg_query/src_port_pgstrcasecmp.c +1 -1
  449. data/ext/pg_query/src_port_qsort.c +12 -224
  450. data/ext/pg_query/src_port_snprintf.c +46 -20
  451. data/ext/pg_query/src_port_strerror.c +9 -19
  452. data/ext/pg_query/src_port_strnlen.c +1 -1
  453. data/lib/pg_query/deparse.rb +7 -1
  454. data/lib/pg_query/filter_columns.rb +6 -4
  455. data/lib/pg_query/fingerprint.rb +18 -3
  456. data/lib/pg_query/node.rb +2 -2
  457. data/lib/pg_query/param_refs.rb +1 -1
  458. data/lib/pg_query/parse.rb +87 -51
  459. data/lib/pg_query/pg_query_pb.rb +1109 -942
  460. data/lib/pg_query/treewalker.rb +6 -0
  461. data/lib/pg_query/truncate.rb +54 -8
  462. data/lib/pg_query/version.rb +1 -1
  463. metadata +29 -18
  464. data/ext/pg_query/include/access/xloginsert.h +0 -64
  465. data/ext/pg_query/include/bootstrap/bootstrap.h +0 -62
  466. data/ext/pg_query/include/parser/parse_clause.h +0 -54
  467. data/ext/pg_query/include/parser/parse_collate.h +0 -27
  468. data/ext/pg_query/include/parser/parse_target.h +0 -46
  469. data/ext/pg_query/src_backend_libpq_pqcomm.c +0 -651
  470. data/ext/pg_query/src_backend_parser_parse_expr.c +0 -313
  471. data/ext/pg_query/src_port_erand48.c +0 -127
  472. 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,8 +329,8 @@
317
329
  /* Define to 1 if you have the `ldap' library (-lldap). */
318
330
  /* #undef HAVE_LIBLDAP */
319
331
 
320
- /* Define to 1 if you have the `ldap_r' library (-lldap_r). */
321
- /* #undef HAVE_LIBLDAP_R */
332
+ /* Define to 1 if you have the `lz4' library (-llz4). */
333
+ /* #undef HAVE_LIBLZ4 */
322
334
 
323
335
  /* Define to 1 if you have the `m' library (-lm). */
324
336
  #define HAVE_LIBM 1
@@ -347,6 +359,9 @@
347
359
  /* Define to 1 if you have the `z' library (-lz). */
348
360
  /* #undef HAVE_LIBZ */
349
361
 
362
+ /* Define to 1 if you have the `zstd' library (-lzstd). */
363
+ /* #undef HAVE_LIBZSTD */
364
+
350
365
  /* Define to 1 if you have the `link' function. */
351
366
  #define HAVE_LINK 1
352
367
 
@@ -398,6 +413,9 @@
398
413
  /* Define to 1 if you have the <poll.h> header file. */
399
414
  #define HAVE_POLL_H 1
400
415
 
416
+ /* Define to 1 if you have a POSIX-conforming sigwait declaration. */
417
+ #define HAVE_POSIX_DECL_SIGWAIT 1
418
+
401
419
  /* Define to 1 if you have the `posix_fadvise' function. */
402
420
  /* #undef HAVE_POSIX_FADVISE */
403
421
 
@@ -422,6 +440,9 @@
422
440
  /* Define if you have POSIX threads libraries and header files. */
423
441
  #define HAVE_PTHREAD 1
424
442
 
443
+ /* Define to 1 if you have the `pthread_barrier_wait' function. */
444
+ /* #undef HAVE_PTHREAD_BARRIER_WAIT */
445
+
425
446
  /* Define to 1 if you have the `pthread_is_threaded_np' function. */
426
447
  #define HAVE_PTHREAD_IS_THREADED_NP 1
427
448
 
@@ -431,9 +452,6 @@
431
452
  /* Define to 1 if you have the `pwrite' function. */
432
453
  #define HAVE_PWRITE 1
433
454
 
434
- /* Define to 1 if you have the `random' function. */
435
- #define HAVE_RANDOM 1
436
-
437
455
  /* Define to 1 if you have the <readline.h> header file. */
438
456
  /* #undef HAVE_READLINE_H */
439
457
 
@@ -446,9 +464,8 @@
446
464
  /* Define to 1 if you have the `readlink' function. */
447
465
  #define HAVE_READLINK 1
448
466
 
449
- /* Define to 1 if you have the global variable
450
- 'rl_completion_append_character'. */
451
- /* #undef HAVE_RL_COMPLETION_APPEND_CHARACTER */
467
+ /* Define to 1 if you have the `readv' function. */
468
+ #define HAVE_READV 1
452
469
 
453
470
  /* Define to 1 if you have the `rl_completion_matches' function. */
454
471
  /* #undef HAVE_RL_COMPLETION_MATCHES */
@@ -471,9 +488,15 @@
471
488
  /* Define to 1 if you have the `rl_reset_screen_size' function. */
472
489
  /* #undef HAVE_RL_RESET_SCREEN_SIZE */
473
490
 
491
+ /* Define to 1 if you have the `rl_variable_bind' function. */
492
+ /* #undef HAVE_RL_VARIABLE_BIND */
493
+
474
494
  /* Define to 1 if you have the <security/pam_appl.h> header file. */
475
495
  /* #undef HAVE_SECURITY_PAM_APPL_H */
476
496
 
497
+ /* Define to 1 if you have the `setenv' function. */
498
+ #define HAVE_SETENV 1
499
+
477
500
  /* Define to 1 if you have the `setproctitle' function. */
478
501
  /* #undef HAVE_SETPROCTITLE */
479
502
 
@@ -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,11 +716,14 @@
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
 
687
725
  /* Define to 1 if the assembler supports X86_64's POPCNTQ instruction. */
688
- #define HAVE_X86_64_POPCNTQ 1
726
+ /* #undef HAVE_X86_64_POPCNTQ */
689
727
 
690
728
  /* Define to 1 if the system has the type `_Bool'. */
691
729
  #define HAVE__BOOL 1
@@ -708,6 +746,9 @@
708
746
  /* Define to 1 if your compiler understands __builtin_ctz. */
709
747
  #define HAVE__BUILTIN_CTZ 1
710
748
 
749
+ /* Define to 1 if your compiler understands __builtin_frame_address. */
750
+ #define HAVE__BUILTIN_FRAME_ADDRESS 1
751
+
711
752
  /* Define to 1 if your compiler understands __builtin_$op_overflow. */
712
753
  #define HAVE__BUILTIN_OP_OVERFLOW 1
713
754
 
@@ -727,7 +768,7 @@
727
768
  /* #undef HAVE__CPUID */
728
769
 
729
770
  /* Define to 1 if you have __get_cpuid. */
730
- #define HAVE__GET_CPUID 1
771
+ /* #undef HAVE__GET_CPUID */
731
772
 
732
773
  /* Define to 1 if your compiler understands _Static_assert. */
733
774
  #define HAVE__STATIC_ASSERT 1
@@ -750,6 +791,10 @@
750
791
  /* Define bytes to use libc memset(). */
751
792
  #define MEMSET_LOOP_LIMIT 1024
752
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
+
753
798
  /* Define to the address where bug reports for this package should be sent. */
754
799
  #define PACKAGE_BUGREPORT "pgsql-bugs@lists.postgresql.org"
755
800
 
@@ -757,7 +802,7 @@
757
802
  #define PACKAGE_NAME "PostgreSQL"
758
803
 
759
804
  /* Define to the full name and version of this package. */
760
- #define PACKAGE_STRING "PostgreSQL 13.3"
805
+ #define PACKAGE_STRING "PostgreSQL 15.1"
761
806
 
762
807
  /* Define to the one symbol short name of this package. */
763
808
  #define PACKAGE_TARNAME "postgresql"
@@ -766,7 +811,7 @@
766
811
  #define PACKAGE_URL "https://www.postgresql.org/"
767
812
 
768
813
  /* Define to the version of this package. */
769
- #define PACKAGE_VERSION "13.3"
814
+ #define PACKAGE_VERSION "15.1"
770
815
 
771
816
  /* Define to the name of a signed 128-bit integer type. */
772
817
  #define PG_INT128_TYPE __int128
@@ -779,13 +824,13 @@
779
824
  #define PG_KRB_SRVNAM "postgres"
780
825
 
781
826
  /* PostgreSQL major version as a string */
782
- #define PG_MAJORVERSION "13"
827
+ #define PG_MAJORVERSION "15"
783
828
 
784
829
  /* PostgreSQL major version number */
785
- #define PG_MAJORVERSION_NUM 13
830
+ #define PG_MAJORVERSION_NUM 15
786
831
 
787
832
  /* PostgreSQL minor version number */
788
- #define PG_MINORVERSION_NUM 3
833
+ #define PG_MINORVERSION_NUM 1
789
834
 
790
835
  /* Define to best printf format archetype, usually gnu_printf if available. */
791
836
  #define PG_PRINTF_ATTRIBUTE printf
@@ -794,13 +839,13 @@
794
839
  #define PG_USE_STDBOOL 1
795
840
 
796
841
  /* PostgreSQL version as a string */
797
- #define PG_VERSION "13.3"
842
+ #define PG_VERSION "15.1"
798
843
 
799
844
  /* PostgreSQL version as a number */
800
- #define PG_VERSION_NUM 130003
845
+ #define PG_VERSION_NUM 150001
801
846
 
802
847
  /* A string containing the version number, platform, and C compiler */
803
- #define PG_VERSION_STR "PostgreSQL 13.3 on x86_64-apple-darwin19.6.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.29), 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"
804
849
 
805
850
  /* Define to 1 to allow profiling output to be saved separately for each
806
851
  process. */
@@ -845,7 +890,7 @@
845
890
  #define STRERROR_R_INT 1
846
891
 
847
892
  /* Define to 1 to use ARMv8 CRC Extension. */
848
- /* #undef USE_ARMV8_CRC32C */
893
+ #define USE_ARMV8_CRC32C 1
849
894
 
850
895
  /* Define to 1 to use ARMv8 CRC Extension with a runtime check. */
851
896
  /* #undef USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK */
@@ -859,9 +904,6 @@
859
904
  /* Define to 1 to build with BSD Authentication support. (--with-bsd-auth) */
860
905
  /* #undef USE_BSD_AUTH */
861
906
 
862
- /* Define to use /dev/urandom for random number generation */
863
- #define USE_DEV_URANDOM 1
864
-
865
907
  /* Define to build with ICU support. (--with-icu) */
866
908
  /* #undef USE_ICU */
867
909
 
@@ -878,15 +920,15 @@
878
920
  /* Define to 1 to build with LLVM based JIT support. (--with-llvm) */
879
921
  /* #undef USE_LLVM */
880
922
 
923
+ /* Define to 1 to build with LZ4 support. (--with-lz4) */
924
+ /* #undef USE_LZ4 */
925
+
881
926
  /* Define to select named POSIX semaphores. */
882
927
  /* #undef USE_NAMED_POSIX_SEMAPHORES */
883
928
 
884
- /* Define to build with OpenSSL support. (--with-openssl) */
929
+ /* Define to 1 to build with OpenSSL support. (--with-ssl=openssl) */
885
930
  /* #undef USE_OPENSSL */
886
931
 
887
- /* Define to use OpenSSL for random number generation */
888
- /* #undef USE_OPENSSL_RANDOM */
889
-
890
932
  /* Define to 1 to build with PAM support. (--with-pam) */
891
933
  /* #undef USE_PAM */
892
934
 
@@ -897,7 +939,7 @@
897
939
  /* #undef USE_SSE42_CRC32C */
898
940
 
899
941
  /* Define to 1 to use Intel SSE 4.2 CRC instructions with a runtime check. */
900
- #define USE_SSE42_CRC32C_WITH_RUNTIME_CHECK 1
942
+ /* #undef USE_SSE42_CRC32C_WITH_RUNTIME_CHECK */
901
943
 
902
944
  /* Define to build with systemd support. (--with-systemd) */
903
945
  /* #undef USE_SYSTEMD */
@@ -911,15 +953,15 @@
911
953
  /* Define to select unnamed POSIX semaphores. */
912
954
  /* #undef USE_UNNAMED_POSIX_SEMAPHORES */
913
955
 
914
- /* Define to use native Windows API for random number generation */
915
- /* #undef USE_WIN32_RANDOM */
916
-
917
956
  /* Define to select Win32-style semaphores. */
918
957
  /* #undef USE_WIN32_SEMAPHORES */
919
958
 
920
959
  /* Define to select Win32-style shared memory. */
921
960
  /* #undef USE_WIN32_SHARED_MEMORY */
922
961
 
962
+ /* Define to 1 to build with ZSTD support. (--with-zstd) */
963
+ /* #undef USE_ZSTD */
964
+
923
965
  /* Define to 1 if `wcstombs_l' requires <xlocale.h>. */
924
966
  #define WCSTOMBS_L_IN_XLOCALE 1
925
967
 
@@ -986,4 +1028,10 @@
986
1028
  #undef HAVE__STATIC_ASSERT
987
1029
  #undef HAVE_EXECINFO_H
988
1030
  #undef HAVE_BACKTRACE_SYMBOLS
1031
+ #undef HAVE_X86_64_POPCNTQ
989
1032
  #undef HAVE__GET_CPUID
1033
+ #undef USE_ARMV8_CRC32C
1034
+ #undef USE_SSE42_CRC32C_WITH_RUNTIME_CHECK
1035
+ #if defined(__FreeBSD__) || defined(__NetBSD__)
1036
+ #define HAVE_STRCHRNUL
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.3"
110
- #define PG_MAJORVERSION "13"
111
- #define PG_VERSION_NUM 130003
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