pg_query 4.2.3 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/README.md +6 -8
  4. data/Rakefile +3 -3
  5. data/ext/pg_query/extconf.rb +1 -3
  6. data/ext/pg_query/include/access/amapi.h +3 -1
  7. data/ext/pg_query/include/access/attmap.h +5 -3
  8. data/ext/pg_query/include/access/attnum.h +1 -1
  9. data/ext/pg_query/include/access/clog.h +1 -1
  10. data/ext/pg_query/include/access/commit_ts.h +1 -1
  11. data/ext/pg_query/include/access/detoast.h +1 -1
  12. data/ext/pg_query/include/access/genam.h +7 -5
  13. data/ext/pg_query/include/access/gin.h +16 -3
  14. data/ext/pg_query/include/access/htup.h +1 -1
  15. data/ext/pg_query/include/access/htup_details.h +6 -2
  16. data/ext/pg_query/include/access/itup.h +61 -58
  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 +1 -1
  21. data/ext/pg_query/include/access/rmgrlist.h +2 -2
  22. data/ext/pg_query/include/access/sdir.h +12 -3
  23. data/ext/pg_query/include/access/skey.h +1 -1
  24. data/ext/pg_query/include/access/stratnum.h +1 -1
  25. data/ext/pg_query/include/access/sysattr.h +1 -1
  26. data/ext/pg_query/include/access/table.h +1 -1
  27. data/ext/pg_query/include/access/tableam.h +68 -45
  28. data/ext/pg_query/include/access/toast_compression.h +1 -1
  29. data/ext/pg_query/include/access/transam.h +1 -1
  30. data/ext/pg_query/include/access/tsmapi.h +82 -0
  31. data/ext/pg_query/include/access/tupconvert.h +5 -2
  32. data/ext/pg_query/include/access/tupdesc.h +2 -2
  33. data/ext/pg_query/include/access/tupmacs.h +58 -98
  34. data/ext/pg_query/include/access/twophase.h +2 -2
  35. data/ext/pg_query/include/access/xact.h +25 -18
  36. data/ext/pg_query/include/access/xlog.h +15 -16
  37. data/ext/pg_query/include/access/xlog_internal.h +100 -62
  38. data/ext/pg_query/include/access/xlogbackup.h +41 -0
  39. data/ext/pg_query/include/access/xlogdefs.h +6 -25
  40. data/ext/pg_query/include/access/xlogprefetcher.h +1 -1
  41. data/ext/pg_query/include/access/xlogreader.h +7 -6
  42. data/ext/pg_query/include/access/xlogrecord.h +17 -5
  43. data/ext/pg_query/include/access/xlogrecovery.h +4 -3
  44. data/ext/pg_query/include/archive/archive_module.h +59 -0
  45. data/ext/pg_query/include/c.h +144 -156
  46. data/ext/pg_query/include/catalog/catalog.h +4 -3
  47. data/ext/pg_query/include/catalog/catversion.h +6 -2
  48. data/ext/pg_query/include/catalog/dependency.h +5 -4
  49. data/ext/pg_query/include/catalog/genbki.h +7 -6
  50. data/ext/pg_query/include/catalog/index.h +4 -4
  51. data/ext/pg_query/include/catalog/indexing.h +1 -1
  52. data/ext/pg_query/include/catalog/namespace.h +2 -2
  53. data/ext/pg_query/include/catalog/objectaccess.h +10 -8
  54. data/ext/pg_query/include/catalog/objectaddress.h +3 -3
  55. data/ext/pg_query/include/catalog/pg_aggregate.h +1 -1
  56. data/ext/pg_query/include/catalog/pg_aggregate_d.h +1 -1
  57. data/ext/pg_query/include/catalog/pg_am.h +1 -1
  58. data/ext/pg_query/include/catalog/pg_am_d.h +1 -1
  59. data/ext/pg_query/include/catalog/pg_attribute.h +19 -17
  60. data/ext/pg_query/include/catalog/pg_attribute_d.h +19 -19
  61. data/ext/pg_query/include/catalog/pg_authid.h +1 -1
  62. data/ext/pg_query/include/catalog/pg_authid_d.h +3 -1
  63. data/ext/pg_query/include/catalog/pg_class.h +1 -1
  64. data/ext/pg_query/include/catalog/pg_class_d.h +1 -1
  65. data/ext/pg_query/include/catalog/pg_collation.h +3 -1
  66. data/ext/pg_query/include/catalog/pg_collation_d.h +4 -3
  67. data/ext/pg_query/include/catalog/pg_constraint.h +2 -2
  68. data/ext/pg_query/include/catalog/pg_constraint_d.h +1 -1
  69. data/ext/pg_query/include/catalog/pg_control.h +9 -1
  70. data/ext/pg_query/include/catalog/pg_conversion.h +2 -2
  71. data/ext/pg_query/include/catalog/pg_conversion_d.h +1 -1
  72. data/ext/pg_query/include/catalog/pg_database.h +124 -0
  73. data/ext/pg_query/include/catalog/pg_database_d.h +52 -0
  74. data/ext/pg_query/include/catalog/pg_depend.h +1 -1
  75. data/ext/pg_query/include/catalog/pg_depend_d.h +1 -1
  76. data/ext/pg_query/include/catalog/pg_event_trigger.h +1 -1
  77. data/ext/pg_query/include/catalog/pg_event_trigger_d.h +1 -1
  78. data/ext/pg_query/include/catalog/pg_index.h +1 -1
  79. data/ext/pg_query/include/catalog/pg_index_d.h +1 -1
  80. data/ext/pg_query/include/catalog/pg_language.h +1 -1
  81. data/ext/pg_query/include/catalog/pg_language_d.h +1 -1
  82. data/ext/pg_query/include/catalog/pg_namespace.h +1 -1
  83. data/ext/pg_query/include/catalog/pg_namespace_d.h +1 -1
  84. data/ext/pg_query/include/catalog/pg_opclass.h +1 -1
  85. data/ext/pg_query/include/catalog/pg_opclass_d.h +1 -1
  86. data/ext/pg_query/include/catalog/pg_operator.h +1 -1
  87. data/ext/pg_query/include/catalog/pg_operator_d.h +1 -1
  88. data/ext/pg_query/include/catalog/pg_opfamily.h +3 -2
  89. data/ext/pg_query/include/catalog/pg_opfamily_d.h +4 -2
  90. data/ext/pg_query/include/catalog/pg_partitioned_table.h +1 -1
  91. data/ext/pg_query/include/catalog/pg_partitioned_table_d.h +1 -1
  92. data/ext/pg_query/include/catalog/pg_proc.h +1 -1
  93. data/ext/pg_query/include/catalog/pg_proc_d.h +1 -1
  94. data/ext/pg_query/include/catalog/pg_publication.h +2 -5
  95. data/ext/pg_query/include/catalog/pg_publication_d.h +1 -1
  96. data/ext/pg_query/include/catalog/pg_replication_origin.h +1 -1
  97. data/ext/pg_query/include/catalog/pg_replication_origin_d.h +1 -1
  98. data/ext/pg_query/include/catalog/pg_statistic.h +1 -1
  99. data/ext/pg_query/include/catalog/pg_statistic_d.h +1 -1
  100. data/ext/pg_query/include/catalog/pg_statistic_ext.h +1 -1
  101. data/ext/pg_query/include/catalog/pg_statistic_ext_d.h +1 -1
  102. data/ext/pg_query/include/catalog/pg_transform.h +1 -1
  103. data/ext/pg_query/include/catalog/pg_transform_d.h +1 -1
  104. data/ext/pg_query/include/catalog/pg_trigger.h +1 -1
  105. data/ext/pg_query/include/catalog/pg_trigger_d.h +1 -1
  106. data/ext/pg_query/include/catalog/pg_ts_config.h +1 -1
  107. data/ext/pg_query/include/catalog/pg_ts_config_d.h +1 -1
  108. data/ext/pg_query/include/catalog/pg_ts_dict.h +1 -1
  109. data/ext/pg_query/include/catalog/pg_ts_dict_d.h +1 -1
  110. data/ext/pg_query/include/catalog/pg_ts_parser.h +1 -1
  111. data/ext/pg_query/include/catalog/pg_ts_parser_d.h +1 -1
  112. data/ext/pg_query/include/catalog/pg_ts_template.h +1 -1
  113. data/ext/pg_query/include/catalog/pg_ts_template_d.h +1 -1
  114. data/ext/pg_query/include/catalog/pg_type.h +1 -1
  115. data/ext/pg_query/include/catalog/pg_type_d.h +1 -1
  116. data/ext/pg_query/include/catalog/storage.h +6 -6
  117. data/ext/pg_query/include/commands/async.h +1 -1
  118. data/ext/pg_query/include/commands/dbcommands.h +2 -1
  119. data/ext/pg_query/include/commands/defrem.h +2 -1
  120. data/ext/pg_query/include/commands/event_trigger.h +1 -1
  121. data/ext/pg_query/include/commands/explain.h +3 -1
  122. data/ext/pg_query/include/commands/prepare.h +1 -1
  123. data/ext/pg_query/include/commands/tablespace.h +4 -4
  124. data/ext/pg_query/include/commands/trigger.h +15 -14
  125. data/ext/pg_query/include/commands/user.h +9 -3
  126. data/ext/pg_query/include/commands/vacuum.h +60 -14
  127. data/ext/pg_query/include/common/cryptohash.h +39 -0
  128. data/ext/pg_query/include/common/file_perm.h +1 -1
  129. data/ext/pg_query/include/common/hashfn.h +1 -1
  130. data/ext/pg_query/include/common/int.h +437 -0
  131. data/ext/pg_query/include/common/ip.h +4 -2
  132. data/ext/pg_query/include/common/keywords.h +1 -1
  133. data/ext/pg_query/include/common/kwlookup.h +2 -2
  134. data/ext/pg_query/include/common/pg_prng.h +3 -2
  135. data/ext/pg_query/include/common/relpath.h +20 -13
  136. data/ext/pg_query/include/common/scram-common.h +70 -0
  137. data/ext/pg_query/include/common/sha2.h +32 -0
  138. data/ext/pg_query/include/common/string.h +5 -3
  139. data/ext/pg_query/include/common/unicode_east_asian_fw_table.h +10 -10
  140. data/ext/pg_query/include/common/{unicode_combining_table.h → unicode_nonspacing_table.h} +31 -13
  141. data/ext/pg_query/include/copyfuncs.funcs.c +5013 -0
  142. data/ext/pg_query/include/copyfuncs.switch.c +938 -0
  143. data/ext/pg_query/include/datatype/timestamp.h +11 -4
  144. data/ext/pg_query/include/equalfuncs.funcs.c +3097 -0
  145. data/ext/pg_query/include/equalfuncs.switch.c +785 -0
  146. data/ext/pg_query/include/executor/execdesc.h +1 -1
  147. data/ext/pg_query/include/executor/executor.h +34 -17
  148. data/ext/pg_query/include/executor/functions.h +1 -1
  149. data/ext/pg_query/include/executor/instrument.h +1 -1
  150. data/ext/pg_query/include/executor/spi.h +2 -2
  151. data/ext/pg_query/include/executor/tablefunc.h +1 -1
  152. data/ext/pg_query/include/executor/tuptable.h +18 -11
  153. data/ext/pg_query/include/fmgr.h +21 -2
  154. data/ext/pg_query/include/foreign/fdwapi.h +294 -0
  155. data/ext/pg_query/include/funcapi.h +12 -12
  156. data/ext/pg_query/include/gram.h +1127 -0
  157. data/ext/pg_query/include/{parser/gramparse.h → gramparse.h} +4 -4
  158. data/ext/pg_query/include/jit/jit.h +2 -2
  159. data/ext/pg_query/include/kwlist_d.h +534 -510
  160. data/ext/pg_query/include/lib/dshash.h +4 -1
  161. data/ext/pg_query/include/lib/ilist.h +435 -22
  162. data/ext/pg_query/include/lib/pairingheap.h +1 -1
  163. data/ext/pg_query/include/lib/simplehash.h +9 -9
  164. data/ext/pg_query/include/lib/sort_template.h +1 -1
  165. data/ext/pg_query/include/lib/stringinfo.h +3 -3
  166. data/ext/pg_query/include/libpq/auth.h +8 -2
  167. data/ext/pg_query/include/libpq/crypt.h +1 -1
  168. data/ext/pg_query/include/libpq/hba.h +24 -17
  169. data/ext/pg_query/include/libpq/libpq-be.h +36 -25
  170. data/ext/pg_query/include/libpq/libpq.h +1 -1
  171. data/ext/pg_query/include/libpq/pqcomm.h +10 -41
  172. data/ext/pg_query/include/libpq/pqformat.h +2 -2
  173. data/ext/pg_query/include/libpq/pqsignal.h +22 -10
  174. data/ext/pg_query/include/libpq/sasl.h +136 -0
  175. data/ext/pg_query/include/libpq/scram.h +37 -0
  176. data/ext/pg_query/include/mb/pg_wchar.h +35 -18
  177. data/ext/pg_query/include/mb/stringinfo_mb.h +1 -1
  178. data/ext/pg_query/include/miscadmin.h +26 -14
  179. data/ext/pg_query/include/nodes/bitmapset.h +11 -7
  180. data/ext/pg_query/include/nodes/execnodes.h +83 -30
  181. data/ext/pg_query/include/nodes/extensible.h +5 -3
  182. data/ext/pg_query/include/nodes/lockoptions.h +1 -1
  183. data/ext/pg_query/include/nodes/makefuncs.h +14 -2
  184. data/ext/pg_query/include/nodes/memnodes.h +7 -4
  185. data/ext/pg_query/include/nodes/miscnodes.h +56 -0
  186. data/ext/pg_query/include/nodes/nodeFuncs.h +89 -29
  187. data/ext/pg_query/include/nodes/nodes.h +95 -510
  188. data/ext/pg_query/include/nodes/nodetags.h +471 -0
  189. data/ext/pg_query/include/nodes/params.h +3 -3
  190. data/ext/pg_query/include/nodes/parsenodes.h +377 -139
  191. data/ext/pg_query/include/nodes/pathnodes.h +1090 -440
  192. data/ext/pg_query/include/nodes/pg_list.h +30 -7
  193. data/ext/pg_query/include/nodes/plannodes.h +367 -124
  194. data/ext/pg_query/include/nodes/primnodes.h +670 -222
  195. data/ext/pg_query/include/nodes/print.h +1 -1
  196. data/ext/pg_query/include/{utils → nodes}/queryjumble.h +5 -7
  197. data/ext/pg_query/include/nodes/replnodes.h +111 -0
  198. data/ext/pg_query/include/nodes/supportnodes.h +346 -0
  199. data/ext/pg_query/include/nodes/tidbitmap.h +1 -1
  200. data/ext/pg_query/include/nodes/value.h +12 -2
  201. data/ext/pg_query/include/optimizer/cost.h +6 -4
  202. data/ext/pg_query/include/optimizer/geqo.h +1 -1
  203. data/ext/pg_query/include/optimizer/geqo_gene.h +1 -1
  204. data/ext/pg_query/include/optimizer/optimizer.h +8 -8
  205. data/ext/pg_query/include/optimizer/paths.h +16 -7
  206. data/ext/pg_query/include/optimizer/planmain.h +3 -6
  207. data/ext/pg_query/include/parser/analyze.h +4 -3
  208. data/ext/pg_query/include/parser/kwlist.h +12 -1
  209. data/ext/pg_query/include/parser/parse_agg.h +4 -2
  210. data/ext/pg_query/include/parser/parse_coerce.h +3 -1
  211. data/ext/pg_query/include/parser/parse_expr.h +1 -1
  212. data/ext/pg_query/include/parser/parse_func.h +1 -1
  213. data/ext/pg_query/include/parser/parse_node.h +22 -4
  214. data/ext/pg_query/include/parser/parse_oper.h +3 -3
  215. data/ext/pg_query/include/parser/parse_relation.h +8 -3
  216. data/ext/pg_query/include/parser/parse_type.h +4 -3
  217. data/ext/pg_query/include/parser/parser.h +1 -1
  218. data/ext/pg_query/include/parser/parsetree.h +1 -1
  219. data/ext/pg_query/include/parser/scanner.h +2 -2
  220. data/ext/pg_query/include/parser/scansup.h +1 -1
  221. data/ext/pg_query/include/partitioning/partdefs.h +1 -1
  222. data/ext/pg_query/include/pg_config.h +21 -216
  223. data/ext/pg_query/include/pg_config_manual.h +8 -46
  224. data/ext/pg_query/include/pg_getopt.h +1 -1
  225. data/ext/pg_query/include/pg_query.h +27 -3
  226. data/ext/pg_query/include/pg_query_enum_defs.c +311 -149
  227. data/ext/pg_query/include/pg_query_fingerprint_conds.c +545 -489
  228. data/ext/pg_query/include/pg_query_fingerprint_defs.c +5092 -4432
  229. data/ext/pg_query/include/pg_query_outfuncs_conds.c +385 -343
  230. data/ext/pg_query/include/pg_query_outfuncs_defs.c +1294 -1161
  231. data/ext/pg_query/include/pg_query_readfuncs_conds.c +137 -123
  232. data/ext/pg_query/include/pg_query_readfuncs_defs.c +1657 -1496
  233. data/ext/pg_query/include/pg_trace.h +1 -1
  234. data/ext/pg_query/include/pgstat.h +172 -93
  235. data/ext/pg_query/include/pgtime.h +3 -3
  236. data/ext/pg_query/include/pl_gram.h +64 -62
  237. data/ext/pg_query/include/pl_reserved_kwlist.h +1 -1
  238. data/ext/pg_query/include/pl_reserved_kwlist_d.h +1 -1
  239. data/ext/pg_query/include/pl_unreserved_kwlist.h +2 -1
  240. data/ext/pg_query/include/pl_unreserved_kwlist_d.h +48 -46
  241. data/ext/pg_query/include/plpgsql.h +17 -22
  242. data/ext/pg_query/include/port/atomics/arch-arm.h +3 -3
  243. data/ext/pg_query/include/port/atomics/arch-ppc.h +21 -21
  244. data/ext/pg_query/include/port/atomics/arch-x86.h +2 -2
  245. data/ext/pg_query/include/port/atomics/fallback.h +3 -3
  246. data/ext/pg_query/include/port/atomics/generic-gcc.h +1 -1
  247. data/ext/pg_query/include/port/atomics/generic.h +1 -1
  248. data/ext/pg_query/include/port/atomics.h +2 -7
  249. data/ext/pg_query/include/port/pg_bitutils.h +62 -25
  250. data/ext/pg_query/include/port/pg_bswap.h +1 -1
  251. data/ext/pg_query/include/port/pg_crc32c.h +1 -1
  252. data/ext/pg_query/include/port/simd.h +375 -0
  253. data/ext/pg_query/include/port.h +42 -75
  254. data/ext/pg_query/include/portability/instr_time.h +81 -140
  255. data/ext/pg_query/include/postgres.h +205 -434
  256. data/ext/pg_query/include/postgres_ext.h +0 -1
  257. data/ext/pg_query/include/postmaster/autovacuum.h +1 -4
  258. data/ext/pg_query/include/postmaster/auxprocess.h +1 -1
  259. data/ext/pg_query/include/postmaster/bgworker.h +2 -2
  260. data/ext/pg_query/include/postmaster/bgworker_internals.h +1 -1
  261. data/ext/pg_query/include/postmaster/bgwriter.h +2 -2
  262. data/ext/pg_query/include/postmaster/fork_process.h +1 -1
  263. data/ext/pg_query/include/postmaster/interrupt.h +1 -1
  264. data/ext/pg_query/include/postmaster/pgarch.h +1 -38
  265. data/ext/pg_query/include/postmaster/postmaster.h +5 -2
  266. data/ext/pg_query/include/postmaster/startup.h +3 -1
  267. data/ext/pg_query/include/postmaster/syslogger.h +2 -2
  268. data/ext/pg_query/include/postmaster/walwriter.h +3 -1
  269. data/ext/pg_query/include/protobuf/pg_query.pb-c.h +6186 -5585
  270. data/ext/pg_query/include/protobuf/pg_query.pb.h +112443 -91222
  271. data/ext/pg_query/include/regex/regex.h +9 -6
  272. data/ext/pg_query/include/replication/logicallauncher.h +6 -1
  273. data/ext/pg_query/include/replication/logicalproto.h +30 -10
  274. data/ext/pg_query/include/replication/logicalworker.h +14 -1
  275. data/ext/pg_query/include/replication/origin.h +4 -4
  276. data/ext/pg_query/include/replication/reorderbuffer.h +113 -45
  277. data/ext/pg_query/include/replication/slot.h +25 -6
  278. data/ext/pg_query/include/replication/syncrep.h +2 -8
  279. data/ext/pg_query/include/replication/walreceiver.h +15 -9
  280. data/ext/pg_query/include/replication/walsender.h +13 -13
  281. data/ext/pg_query/include/rewrite/prs2lock.h +1 -1
  282. data/ext/pg_query/include/rewrite/rewriteHandler.h +1 -4
  283. data/ext/pg_query/include/rewrite/rewriteManip.h +11 -2
  284. data/ext/pg_query/include/rewrite/rewriteSupport.h +1 -1
  285. data/ext/pg_query/include/src_backend_nodes_copyfuncs.funcs.c +5321 -0
  286. data/ext/pg_query/include/src_backend_nodes_equalfuncs.funcs.c +3354 -0
  287. data/ext/pg_query/include/storage/backendid.h +1 -1
  288. data/ext/pg_query/include/storage/block.h +24 -31
  289. data/ext/pg_query/include/storage/buf.h +1 -1
  290. data/ext/pg_query/include/storage/bufmgr.h +183 -87
  291. data/ext/pg_query/include/storage/bufpage.h +146 -93
  292. data/ext/pg_query/include/storage/condition_variable.h +2 -2
  293. data/ext/pg_query/include/storage/dsm.h +3 -6
  294. data/ext/pg_query/include/storage/dsm_impl.h +4 -1
  295. data/ext/pg_query/include/storage/fd.h +24 -20
  296. data/ext/pg_query/include/storage/fileset.h +1 -1
  297. data/ext/pg_query/include/storage/ipc.h +1 -1
  298. data/ext/pg_query/include/storage/item.h +1 -1
  299. data/ext/pg_query/include/storage/itemid.h +1 -1
  300. data/ext/pg_query/include/storage/itemptr.h +94 -57
  301. data/ext/pg_query/include/storage/large_object.h +1 -1
  302. data/ext/pg_query/include/storage/latch.h +9 -1
  303. data/ext/pg_query/include/storage/lmgr.h +6 -1
  304. data/ext/pg_query/include/storage/lock.h +21 -13
  305. data/ext/pg_query/include/storage/lockdefs.h +3 -3
  306. data/ext/pg_query/include/storage/lwlock.h +16 -2
  307. data/ext/pg_query/include/storage/off.h +1 -1
  308. data/ext/pg_query/include/storage/pg_sema.h +1 -1
  309. data/ext/pg_query/include/storage/pg_shmem.h +1 -1
  310. data/ext/pg_query/include/storage/pmsignal.h +1 -1
  311. data/ext/pg_query/include/storage/predicate.h +2 -2
  312. data/ext/pg_query/include/storage/proc.h +22 -17
  313. data/ext/pg_query/include/storage/procarray.h +3 -2
  314. data/ext/pg_query/include/storage/proclist_types.h +1 -1
  315. data/ext/pg_query/include/storage/procsignal.h +3 -1
  316. data/ext/pg_query/include/storage/relfilelocator.h +99 -0
  317. data/ext/pg_query/include/storage/s_lock.h +66 -309
  318. data/ext/pg_query/include/storage/sharedfileset.h +1 -1
  319. data/ext/pg_query/include/storage/shm_mq.h +1 -1
  320. data/ext/pg_query/include/storage/shm_toc.h +1 -1
  321. data/ext/pg_query/include/storage/shmem.h +1 -23
  322. data/ext/pg_query/include/storage/sinval.h +3 -3
  323. data/ext/pg_query/include/storage/sinvaladt.h +4 -2
  324. data/ext/pg_query/include/storage/smgr.h +12 -10
  325. data/ext/pg_query/include/storage/spin.h +1 -1
  326. data/ext/pg_query/include/storage/standby.h +9 -8
  327. data/ext/pg_query/include/storage/standbydefs.h +1 -1
  328. data/ext/pg_query/include/storage/sync.h +3 -3
  329. data/ext/pg_query/include/tcop/cmdtag.h +7 -2
  330. data/ext/pg_query/include/tcop/cmdtaglist.h +1 -1
  331. data/ext/pg_query/include/tcop/deparse_utility.h +1 -1
  332. data/ext/pg_query/include/tcop/dest.h +1 -3
  333. data/ext/pg_query/include/tcop/fastpath.h +1 -1
  334. data/ext/pg_query/include/tcop/pquery.h +1 -1
  335. data/ext/pg_query/include/tcop/tcopprot.h +1 -4
  336. data/ext/pg_query/include/tcop/utility.h +1 -1
  337. data/ext/pg_query/include/tsearch/ts_cache.h +2 -4
  338. data/ext/pg_query/include/utils/acl.h +26 -81
  339. data/ext/pg_query/include/utils/aclchk_internal.h +1 -1
  340. data/ext/pg_query/include/utils/array.h +19 -1
  341. data/ext/pg_query/include/utils/backend_progress.h +2 -1
  342. data/ext/pg_query/include/utils/backend_status.h +24 -3
  343. data/ext/pg_query/include/utils/builtins.h +14 -5
  344. data/ext/pg_query/include/utils/bytea.h +1 -1
  345. data/ext/pg_query/include/utils/catcache.h +1 -1
  346. data/ext/pg_query/include/utils/date.h +37 -9
  347. data/ext/pg_query/include/utils/datetime.h +41 -21
  348. data/ext/pg_query/include/utils/datum.h +1 -1
  349. data/ext/pg_query/include/utils/dsa.h +5 -1
  350. data/ext/pg_query/include/utils/elog.h +101 -26
  351. data/ext/pg_query/include/utils/expandeddatum.h +14 -3
  352. data/ext/pg_query/include/utils/expandedrecord.h +14 -4
  353. data/ext/pg_query/include/utils/float.h +7 -6
  354. data/ext/pg_query/include/utils/fmgroids.h +54 -1
  355. data/ext/pg_query/include/utils/fmgrprotos.h +45 -3
  356. data/ext/pg_query/include/utils/fmgrtab.h +1 -1
  357. data/ext/pg_query/include/utils/guc.h +55 -82
  358. data/ext/pg_query/include/utils/guc_hooks.h +163 -0
  359. data/ext/pg_query/include/utils/guc_tables.h +49 -3
  360. data/ext/pg_query/include/utils/hsearch.h +1 -1
  361. data/ext/pg_query/include/utils/inval.h +3 -3
  362. data/ext/pg_query/include/utils/logtape.h +77 -0
  363. data/ext/pg_query/include/utils/lsyscache.h +5 -1
  364. data/ext/pg_query/include/utils/memdebug.h +1 -1
  365. data/ext/pg_query/include/utils/memutils.h +5 -49
  366. data/ext/pg_query/include/utils/memutils_internal.h +136 -0
  367. data/ext/pg_query/include/utils/memutils_memorychunk.h +237 -0
  368. data/ext/pg_query/include/utils/numeric.h +20 -5
  369. data/ext/pg_query/include/utils/palloc.h +8 -1
  370. data/ext/pg_query/include/utils/partcache.h +3 -2
  371. data/ext/pg_query/include/utils/pg_locale.h +22 -14
  372. data/ext/pg_query/include/utils/pgstat_internal.h +37 -7
  373. data/ext/pg_query/include/utils/pidfile.h +1 -1
  374. data/ext/pg_query/include/utils/plancache.h +1 -1
  375. data/ext/pg_query/include/utils/portal.h +1 -1
  376. data/ext/pg_query/include/utils/probes.h +6 -6
  377. data/ext/pg_query/include/utils/ps_status.h +23 -1
  378. data/ext/pg_query/include/utils/queryenvironment.h +1 -1
  379. data/ext/pg_query/include/utils/regproc.h +3 -3
  380. data/ext/pg_query/include/utils/rel.h +60 -43
  381. data/ext/pg_query/include/utils/relcache.h +13 -8
  382. data/ext/pg_query/include/utils/reltrigger.h +1 -1
  383. data/ext/pg_query/include/utils/resowner.h +1 -1
  384. data/ext/pg_query/include/utils/ruleutils.h +6 -1
  385. data/ext/pg_query/include/utils/sharedtuplestore.h +1 -1
  386. data/ext/pg_query/include/utils/snapmgr.h +4 -2
  387. data/ext/pg_query/include/utils/snapshot.h +1 -1
  388. data/ext/pg_query/include/utils/sortsupport.h +2 -2
  389. data/ext/pg_query/include/utils/syscache.h +4 -1
  390. data/ext/pg_query/include/utils/timeout.h +1 -1
  391. data/ext/pg_query/include/utils/timestamp.h +41 -11
  392. data/ext/pg_query/include/utils/tuplesort.h +189 -35
  393. data/ext/pg_query/include/utils/tuplestore.h +1 -1
  394. data/ext/pg_query/include/utils/typcache.h +1 -1
  395. data/ext/pg_query/include/utils/varlena.h +13 -1
  396. data/ext/pg_query/include/utils/wait_event.h +9 -4
  397. data/ext/pg_query/include/utils/xml.h +15 -5
  398. data/ext/pg_query/include/varatt.h +358 -0
  399. data/ext/pg_query/pg_query.c +1 -1
  400. data/ext/pg_query/pg_query.pb-c.c +19755 -17757
  401. data/ext/pg_query/pg_query_fingerprint.c +8 -3
  402. data/ext/pg_query/pg_query_fingerprint.h +1 -1
  403. data/ext/pg_query/pg_query_internal.h +1 -1
  404. data/ext/pg_query/pg_query_json_plpgsql.c +1 -0
  405. data/ext/pg_query/pg_query_normalize.c +1 -1
  406. data/ext/pg_query/pg_query_outfuncs_protobuf.c +2 -2
  407. data/ext/pg_query/pg_query_parse.c +46 -4
  408. data/ext/pg_query/pg_query_parse_plpgsql.c +1 -1
  409. data/ext/pg_query/pg_query_scan.c +1 -1
  410. data/ext/pg_query/pg_query_split.c +2 -2
  411. data/ext/pg_query/postgres_deparse.c +503 -105
  412. data/ext/pg_query/src_backend_catalog_namespace.c +7 -2
  413. data/ext/pg_query/src_backend_catalog_pg_proc.c +1 -1
  414. data/ext/pg_query/src_backend_commands_define.c +1 -1
  415. data/ext/pg_query/src_backend_nodes_bitmapset.c +11 -70
  416. data/ext/pg_query/src_backend_nodes_copyfuncs.c +96 -6202
  417. data/ext/pg_query/src_backend_nodes_equalfuncs.c +95 -4068
  418. data/ext/pg_query/src_backend_nodes_extensible.c +6 -29
  419. data/ext/pg_query/src_backend_nodes_list.c +14 -2
  420. data/ext/pg_query/src_backend_nodes_makefuncs.c +95 -1
  421. data/ext/pg_query/src_backend_nodes_nodeFuncs.c +283 -132
  422. data/ext/pg_query/src_backend_nodes_value.c +1 -1
  423. data/ext/pg_query/src_backend_parser_gram.c +33208 -31806
  424. data/ext/pg_query/src_backend_parser_parser.c +28 -2
  425. data/ext/pg_query/src_backend_parser_scan.c +4318 -3329
  426. data/ext/pg_query/src_backend_parser_scansup.c +1 -1
  427. data/ext/pg_query/src_backend_postmaster_postmaster.c +129 -110
  428. data/ext/pg_query/src_backend_storage_ipc_ipc.c +1 -1
  429. data/ext/pg_query/src_backend_tcop_postgres.c +66 -87
  430. data/ext/pg_query/src_backend_utils_activity_pgstat_database.c +1 -1
  431. data/ext/pg_query/src_backend_utils_adt_datum.c +5 -7
  432. data/ext/pg_query/src_backend_utils_adt_expandeddatum.c +1 -1
  433. data/ext/pg_query/src_backend_utils_adt_format_type.c +1 -1
  434. data/ext/pg_query/src_backend_utils_adt_numutils.c +489 -0
  435. data/ext/pg_query/src_backend_utils_adt_ruleutils.c +79 -5
  436. data/ext/pg_query/src_backend_utils_error_assert.c +4 -7
  437. data/ext/pg_query/src_backend_utils_error_elog.c +354 -97
  438. data/ext/pg_query/src_backend_utils_fmgr_fmgr.c +33 -1
  439. data/ext/pg_query/src_backend_utils_init_globals.c +5 -2
  440. data/ext/pg_query/src_backend_utils_mb_mbutils.c +13 -4
  441. data/ext/pg_query/src_backend_utils_misc_guc_tables.c +494 -0
  442. data/ext/pg_query/src_backend_utils_mmgr_alignedalloc.c +163 -0
  443. data/ext/pg_query/src_backend_utils_mmgr_aset.c +449 -312
  444. data/ext/pg_query/src_backend_utils_mmgr_generation.c +1039 -0
  445. data/ext/pg_query/src_backend_utils_mmgr_mcxt.c +398 -49
  446. data/ext/pg_query/src_backend_utils_mmgr_slab.c +1021 -0
  447. data/ext/pg_query/src_common_encnames.c +4 -1
  448. data/ext/pg_query/src_common_hashfn.c +1 -1
  449. data/ext/pg_query/src_common_keywords.c +1 -1
  450. data/ext/pg_query/src_common_kwlist_d.h +534 -510
  451. data/ext/pg_query/src_common_kwlookup.c +1 -1
  452. data/ext/pg_query/src_common_psprintf.c +1 -1
  453. data/ext/pg_query/src_common_stringinfo.c +4 -4
  454. data/ext/pg_query/src_common_wchar.c +9 -8
  455. data/ext/pg_query/src_pl_plpgsql_src_pl_comp.c +1 -1
  456. data/ext/pg_query/src_pl_plpgsql_src_pl_funcs.c +3 -1
  457. data/ext/pg_query/src_pl_plpgsql_src_pl_gram.c +661 -694
  458. data/ext/pg_query/src_pl_plpgsql_src_pl_handler.c +1 -1
  459. data/ext/pg_query/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +1 -1
  460. data/ext/pg_query/src_pl_plpgsql_src_pl_scanner.c +1 -1
  461. data/ext/pg_query/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +48 -46
  462. data/ext/pg_query/src_port_pg_bitutils.c +1 -1
  463. data/ext/pg_query/src_port_pgstrcasecmp.c +29 -1
  464. data/ext/pg_query/src_port_snprintf.c +3 -7
  465. data/ext/pg_query/src_port_strerror.c +1 -1
  466. data/ext/pg_query/src_port_strnlen.c +1 -1
  467. data/lib/pg_query/pg_query_pb.rb +166 -3191
  468. data/lib/pg_query/treewalker.rb +7 -2
  469. data/lib/pg_query/version.rb +1 -1
  470. metadata +43 -24
  471. data/ext/pg_query/include/catalog/pg_parameter_acl.h +0 -60
  472. data/ext/pg_query/include/catalog/pg_parameter_acl_d.h +0 -34
  473. data/ext/pg_query/include/commands/variable.h +0 -38
  474. data/ext/pg_query/include/getaddrinfo.h +0 -162
  475. data/ext/pg_query/include/parser/gram.h +0 -1101
  476. data/ext/pg_query/include/storage/relfilenode.h +0 -99
  477. data/ext/pg_query/include/utils/dynahash.h +0 -20
  478. data/ext/pg_query/include/utils/pg_lsn.h +0 -29
  479. data/ext/pg_query/include/utils/rls.h +0 -50
  480. data/ext/pg_query/include/utils/tzparser.h +0 -39
  481. data/ext/pg_query/src_backend_storage_lmgr_s_lock.c +0 -371
  482. data/ext/pg_query/src_backend_utils_hash_dynahash.c +0 -1116
  483. data/ext/pg_query/src_backend_utils_misc_guc.c +0 -1993
  484. data/ext/pg_query/src_common_pg_prng.c +0 -152
  485. data/ext/pg_query/src_common_string.c +0 -92
  486. data/ext/pg_query/src_port_pgsleep.c +0 -69
@@ -32,7 +32,7 @@
32
32
  #define BLCKSZ 8192
33
33
 
34
34
  /* Saved arguments from configure */
35
- #define CONFIGURE_ARGS " '--without-readline' '--without-zlib'"
35
+ #define CONFIGURE_ARGS " '--without-readline' '--without-zlib' '--without-icu'"
36
36
 
37
37
  /* Define to the default TCP port number on which the server listens and to
38
38
  which clients will try to connect. This can be overridden at run-time, but
@@ -44,7 +44,7 @@
44
44
  #define DEF_PGPORT_STR "5432"
45
45
 
46
46
  /* Define to the file name extension of dynamically-loadable modules. */
47
- #define DLSUFFIX ".so"
47
+ #define DLSUFFIX ".dylib"
48
48
 
49
49
  /* Define to build with GSSAPI support. (--with-gssapi) */
50
50
  /* #undef ENABLE_GSS */
@@ -56,13 +56,6 @@
56
56
  (--enable-thread-safety) */
57
57
  #define ENABLE_THREAD_SAFETY 1
58
58
 
59
- /* Define to 1 if gettimeofday() takes only 1 argument. */
60
- /* #undef GETTIMEOFDAY_1ARG */
61
-
62
- #ifdef GETTIMEOFDAY_1ARG
63
- # define gettimeofday(a,b) gettimeofday(a)
64
- #endif
65
-
66
59
  /* Define to 1 if you have the `append_history' function. */
67
60
  /* #undef HAVE_APPEND_HISTORY */
68
61
 
@@ -84,9 +77,6 @@
84
77
  /* Define to 1 if you have the `BIO_meth_new' function. */
85
78
  /* #undef HAVE_BIO_METH_NEW */
86
79
 
87
- /* Define to 1 if you have the `clock_gettime' function. */
88
- #define HAVE_CLOCK_GETTIME 1
89
-
90
80
  /* Define to 1 if your compiler handles computed gotos. */
91
81
  #define HAVE_COMPUTED_GOTO 1
92
82
 
@@ -142,18 +132,6 @@
142
132
  don't. */
143
133
  #define HAVE_DECL_PWRITEV 1
144
134
 
145
- /* Define to 1 if you have the declaration of `RTLD_GLOBAL', and to 0 if you
146
- don't. */
147
- #define HAVE_DECL_RTLD_GLOBAL 1
148
-
149
- /* Define to 1 if you have the declaration of `RTLD_NOW', and to 0 if you
150
- don't. */
151
- #define HAVE_DECL_RTLD_NOW 1
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
-
157
135
  /* Define to 1 if you have the declaration of `strlcat', and to 0 if you
158
136
  don't. */
159
137
  #define HAVE_DECL_STRLCAT 1
@@ -166,17 +144,6 @@
166
144
  don't. */
167
145
  #define HAVE_DECL_STRNLEN 1
168
146
 
169
- /* Define to 1 if you have the declaration of `strtoll', and to 0 if you
170
- don't. */
171
- #define HAVE_DECL_STRTOLL 1
172
-
173
- /* Define to 1 if you have the declaration of `strtoull', and to 0 if you
174
- don't. */
175
- #define HAVE_DECL_STRTOULL 1
176
-
177
- /* Define to 1 if you have the `dlopen' function. */
178
- #define HAVE_DLOPEN 1
179
-
180
147
  /* Define to 1 if you have the <editline/history.h> header file. */
181
148
  /* #undef HAVE_EDITLINE_HISTORY_H */
182
149
 
@@ -189,21 +156,9 @@
189
156
  /* Define to 1 if you have the `explicit_bzero' function. */
190
157
  /* #undef HAVE_EXPLICIT_BZERO */
191
158
 
192
- /* Define to 1 if you have the `fdatasync' function. */
193
- #define HAVE_FDATASYNC 1
194
-
195
- /* Define to 1 if you have the `fls' function. */
196
- #define HAVE_FLS 1
197
-
198
159
  /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
199
160
  #define HAVE_FSEEKO 1
200
161
 
201
- /* Define to 1 if your compiler understands __func__. */
202
- #define HAVE_FUNCNAME__FUNC 1
203
-
204
- /* Define to 1 if your compiler understands __FUNCTION__. */
205
- /* #undef HAVE_FUNCNAME__FUNCTION */
206
-
207
162
  /* Define to 1 if you have __atomic_compare_exchange_n(int *, int *, int). */
208
163
  #define HAVE_GCC__ATOMIC_INT32_CAS 1
209
164
 
@@ -224,12 +179,6 @@
224
179
  */
225
180
  #define HAVE_GCC__SYNC_INT64_CAS 1
226
181
 
227
- /* Define to 1 if you have the `getaddrinfo' function. */
228
- #define HAVE_GETADDRINFO 1
229
-
230
- /* Define to 1 if you have the `gethostbyname_r' function. */
231
- /* #undef HAVE_GETHOSTBYNAME_R */
232
-
233
182
  /* Define to 1 if you have the `getifaddrs' function. */
234
183
  #define HAVE_GETIFADDRS 1
235
184
 
@@ -248,17 +197,11 @@
248
197
  /* Define to 1 if you have the `getpeerucred' function. */
249
198
  /* #undef HAVE_GETPEERUCRED */
250
199
 
251
- /* Define to 1 if you have the `getpwuid_r' function. */
252
- #define HAVE_GETPWUID_R 1
253
-
254
- /* Define to 1 if you have the `getrlimit' function. */
255
- #define HAVE_GETRLIMIT 1
200
+ /* Define to 1 if you have the <gssapi_ext.h> header file. */
201
+ /* #undef HAVE_GSSAPI_EXT_H */
256
202
 
257
- /* Define to 1 if you have the `getrusage' function. */
258
- #define HAVE_GETRUSAGE 1
259
-
260
- /* Define to 1 if you have the `gettimeofday' function. */
261
- /* #undef HAVE_GETTIMEOFDAY */
203
+ /* Define to 1 if you have the <gssapi/gssapi_ext.h> header file. */
204
+ /* #undef HAVE_GSSAPI_GSSAPI_EXT_H */
262
205
 
263
206
  /* Define to 1 if you have the <gssapi/gssapi.h> header file. */
264
207
  /* #undef HAVE_GSSAPI_GSSAPI_H */
@@ -305,9 +248,6 @@
305
248
  /* Define to 1 if you have the global variable 'int timezone'. */
306
249
  #define HAVE_INT_TIMEZONE 1
307
250
 
308
- /* Define to 1 if you have support for IPv6. */
309
- #define HAVE_IPV6 1
310
-
311
251
  /* Define to 1 if __builtin_constant_p(x) implies "i"(x) acceptance. */
312
252
  /* #undef HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P */
313
253
 
@@ -317,9 +257,6 @@
317
257
  /* Define to 1 if you have the <langinfo.h> header file. */
318
258
  #define HAVE_LANGINFO_H 1
319
259
 
320
- /* Define to 1 if you have the <ldap.h> header file. */
321
- /* #undef HAVE_LDAP_H */
322
-
323
260
  /* Define to 1 if you have the `ldap_initialize' function. */
324
261
  /* #undef HAVE_LDAP_INITIALIZE */
325
262
 
@@ -362,9 +299,6 @@
362
299
  /* Define to 1 if you have the `zstd' library (-lzstd). */
363
300
  /* #undef HAVE_LIBZSTD */
364
301
 
365
- /* Define to 1 if you have the `link' function. */
366
- #define HAVE_LINK 1
367
-
368
302
  /* Define to 1 if the system has the type `locale_t'. */
369
303
  #define HAVE_LOCALE_T 1
370
304
 
@@ -386,18 +320,9 @@
386
320
  /* Define to 1 if you have the `memset_s' function. */
387
321
  #define HAVE_MEMSET_S 1
388
322
 
389
- /* Define to 1 if the system has the type `MINIDUMP_TYPE'. */
390
- /* #undef HAVE_MINIDUMP_TYPE */
391
-
392
323
  /* Define to 1 if you have the `mkdtemp' function. */
393
324
  #define HAVE_MKDTEMP 1
394
325
 
395
- /* Define to 1 if you have the <netinet/tcp.h> header file. */
396
- #define HAVE_NETINET_TCP_H 1
397
-
398
- /* Define to 1 if you have the <net/if.h> header file. */
399
- #define HAVE_NET_IF_H 1
400
-
401
326
  /* Define to 1 if you have the `OPENSSL_init_ssl' function. */
402
327
  /* #undef HAVE_OPENSSL_INIT_SSL */
403
328
 
@@ -407,36 +332,15 @@
407
332
  /* Define to 1 if you have the <pam/pam_appl.h> header file. */
408
333
  /* #undef HAVE_PAM_PAM_APPL_H */
409
334
 
410
- /* Define to 1 if you have the `poll' function. */
411
- #define HAVE_POLL 1
412
-
413
- /* Define to 1 if you have the <poll.h> header file. */
414
- #define HAVE_POLL_H 1
415
-
416
- /* Define to 1 if you have a POSIX-conforming sigwait declaration. */
417
- #define HAVE_POSIX_DECL_SIGWAIT 1
418
-
419
335
  /* Define to 1 if you have the `posix_fadvise' function. */
420
336
  /* #undef HAVE_POSIX_FADVISE */
421
337
 
422
338
  /* Define to 1 if you have the `posix_fallocate' function. */
423
339
  /* #undef HAVE_POSIX_FALLOCATE */
424
340
 
425
- /* Define to 1 if the assembler supports PPC's LWARX mutex hint bit. */
426
- /* #undef HAVE_PPC_LWARX_MUTEX_HINT */
427
-
428
341
  /* Define to 1 if you have the `ppoll' function. */
429
342
  /* #undef HAVE_PPOLL */
430
343
 
431
- /* Define to 1 if you have the `pread' function. */
432
- #define HAVE_PREAD 1
433
-
434
- /* Define to 1 if you have the `pstat' function. */
435
- /* #undef HAVE_PSTAT */
436
-
437
- /* Define to 1 if the PS_STRINGS thing exists. */
438
- /* #undef HAVE_PS_STRINGS */
439
-
440
344
  /* Define if you have POSIX threads libraries and header files. */
441
345
  #define HAVE_PTHREAD 1
442
346
 
@@ -449,9 +353,6 @@
449
353
  /* Have PTHREAD_PRIO_INHERIT. */
450
354
  #define HAVE_PTHREAD_PRIO_INHERIT 1
451
355
 
452
- /* Define to 1 if you have the `pwrite' function. */
453
- #define HAVE_PWRITE 1
454
-
455
356
  /* Define to 1 if you have the <readline.h> header file. */
456
357
  /* #undef HAVE_READLINE_H */
457
358
 
@@ -461,12 +362,6 @@
461
362
  /* Define to 1 if you have the <readline/readline.h> header file. */
462
363
  /* #undef HAVE_READLINE_READLINE_H */
463
364
 
464
- /* Define to 1 if you have the `readlink' function. */
465
- #define HAVE_READLINK 1
466
-
467
- /* Define to 1 if you have the `readv' function. */
468
- #define HAVE_READV 1
469
-
470
365
  /* Define to 1 if you have the `rl_completion_matches' function. */
471
366
  /* #undef HAVE_RL_COMPLETION_MATCHES */
472
367
 
@@ -494,27 +389,21 @@
494
389
  /* Define to 1 if you have the <security/pam_appl.h> header file. */
495
390
  /* #undef HAVE_SECURITY_PAM_APPL_H */
496
391
 
497
- /* Define to 1 if you have the `setenv' function. */
498
- #define HAVE_SETENV 1
499
-
500
392
  /* Define to 1 if you have the `setproctitle' function. */
501
393
  /* #undef HAVE_SETPROCTITLE */
502
394
 
503
395
  /* Define to 1 if you have the `setproctitle_fast' function. */
504
396
  /* #undef HAVE_SETPROCTITLE_FAST */
505
397
 
506
- /* Define to 1 if you have the `setsid' function. */
507
- #define HAVE_SETSID 1
508
-
509
- /* Define to 1 if you have the `shm_open' function. */
510
- #define HAVE_SHM_OPEN 1
511
-
512
398
  /* Define to 1 if the system has the type `socklen_t'. */
513
399
  #define HAVE_SOCKLEN_T 1
514
400
 
515
401
  /* Define to 1 if you have spinlocks. */
516
402
  #define HAVE_SPINLOCKS 1
517
403
 
404
+ /* Define to 1 if you have the `SSL_CTX_set_cert_cb' function. */
405
+ /* #undef HAVE_SSL_CTX_SET_CERT_CB */
406
+
518
407
  /* Define to 1 if stdbool.h conforms to C99. */
519
408
  #define HAVE_STDBOOL_H 1
520
409
 
@@ -548,57 +437,15 @@
548
437
  /* Define to 1 if you have the `strsignal' function. */
549
438
  #define HAVE_STRSIGNAL 1
550
439
 
551
- /* Define to 1 if you have the `strtof' function. */
552
- #define HAVE_STRTOF 1
553
-
554
- /* Define to 1 if you have the `strtoll' function. */
555
- #define HAVE_STRTOLL 1
556
-
557
- /* Define to 1 if you have the `strtoq' function. */
558
- /* #undef HAVE_STRTOQ */
559
-
560
- /* Define to 1 if you have the `strtoull' function. */
561
- #define HAVE_STRTOULL 1
562
-
563
- /* Define to 1 if you have the `strtouq' function. */
564
- /* #undef HAVE_STRTOUQ */
565
-
566
- /* Define to 1 if the system has the type `struct addrinfo'. */
567
- #define HAVE_STRUCT_ADDRINFO 1
568
-
569
- /* Define to 1 if the system has the type `struct cmsgcred'. */
570
- /* #undef HAVE_STRUCT_CMSGCRED */
571
-
572
440
  /* Define to 1 if the system has the type `struct option'. */
573
441
  #define HAVE_STRUCT_OPTION 1
574
442
 
575
443
  /* Define to 1 if `sa_len' is a member of `struct sockaddr'. */
576
444
  #define HAVE_STRUCT_SOCKADDR_SA_LEN 1
577
445
 
578
- /* Define to 1 if the system has the type `struct sockaddr_storage'. */
579
- #define HAVE_STRUCT_SOCKADDR_STORAGE 1
580
-
581
- /* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
582
- #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
583
-
584
- /* Define to 1 if `ss_len' is a member of `struct sockaddr_storage'. */
585
- #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1
586
-
587
- /* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */
588
- /* #undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */
589
-
590
- /* Define to 1 if `__ss_len' is a member of `struct sockaddr_storage'. */
591
- /* #undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_LEN */
592
-
593
- /* Define to 1 if the system has the type `struct sockaddr_un'. */
594
- #define HAVE_STRUCT_SOCKADDR_UN 1
595
-
596
446
  /* Define to 1 if `tm_zone' is a member of `struct tm'. */
597
447
  #define HAVE_STRUCT_TM_TM_ZONE 1
598
448
 
599
- /* Define to 1 if you have the `symlink' function. */
600
- #define HAVE_SYMLINK 1
601
-
602
449
  /* Define to 1 if you have the `syncfs' function. */
603
450
  /* #undef HAVE_SYNCFS */
604
451
 
@@ -614,9 +461,6 @@
614
461
  /* Define to 1 if you have the <sys/event.h> header file. */
615
462
  #define HAVE_SYS_EVENT_H 1
616
463
 
617
- /* Define to 1 if you have the <sys/ipc.h> header file. */
618
- #define HAVE_SYS_IPC_H 1
619
-
620
464
  /* Define to 1 if you have the <sys/personality.h> header file. */
621
465
  /* #undef HAVE_SYS_PERSONALITY_H */
622
466
 
@@ -626,45 +470,18 @@
626
470
  /* Define to 1 if you have the <sys/procctl.h> header file. */
627
471
  /* #undef HAVE_SYS_PROCCTL_H */
628
472
 
629
- /* Define to 1 if you have the <sys/pstat.h> header file. */
630
- /* #undef HAVE_SYS_PSTAT_H */
631
-
632
- /* Define to 1 if you have the <sys/resource.h> header file. */
633
- #define HAVE_SYS_RESOURCE_H 1
634
-
635
- /* Define to 1 if you have the <sys/select.h> header file. */
636
- #define HAVE_SYS_SELECT_H 1
637
-
638
- /* Define to 1 if you have the <sys/sem.h> header file. */
639
- #define HAVE_SYS_SEM_H 1
640
-
641
- /* Define to 1 if you have the <sys/shm.h> header file. */
642
- #define HAVE_SYS_SHM_H 1
643
-
644
473
  /* Define to 1 if you have the <sys/signalfd.h> header file. */
645
474
  /* #undef HAVE_SYS_SIGNALFD_H */
646
475
 
647
- /* Define to 1 if you have the <sys/sockio.h> header file. */
648
- #define HAVE_SYS_SOCKIO_H 1
649
-
650
476
  /* Define to 1 if you have the <sys/stat.h> header file. */
651
477
  #define HAVE_SYS_STAT_H 1
652
478
 
653
- /* Define to 1 if you have the <sys/tas.h> header file. */
654
- /* #undef HAVE_SYS_TAS_H */
655
-
656
479
  /* Define to 1 if you have the <sys/types.h> header file. */
657
480
  #define HAVE_SYS_TYPES_H 1
658
481
 
659
482
  /* Define to 1 if you have the <sys/ucred.h> header file. */
660
483
  #define HAVE_SYS_UCRED_H 1
661
484
 
662
- /* Define to 1 if you have the <sys/uio.h> header file. */
663
- #define HAVE_SYS_UIO_H 1
664
-
665
- /* Define to 1 if you have the <sys/un.h> header file. */
666
- #define HAVE_SYS_UN_H 1
667
-
668
485
  /* Define to 1 if you have the <termios.h> header file. */
669
486
  #define HAVE_TERMIOS_H 1
670
487
 
@@ -686,9 +503,6 @@
686
503
  /* Define to 1 if you have the <unistd.h> header file. */
687
504
  #define HAVE_UNISTD_H 1
688
505
 
689
- /* Define to 1 if you have the `unsetenv' function. */
690
- #define HAVE_UNSETENV 1
691
-
692
506
  /* Define to 1 if you have the `uselocale' function. */
693
507
  #define HAVE_USELOCALE 1
694
508
 
@@ -707,17 +521,14 @@
707
521
  /* Define to 1 if you have the <uuid/uuid.h> header file. */
708
522
  /* #undef HAVE_UUID_UUID_H */
709
523
 
524
+ /* Define to 1 if your compiler knows the visibility("hidden") attribute. */
525
+ #define HAVE_VISIBILITY_ATTRIBUTE 1
526
+
710
527
  /* Define to 1 if you have the `wcstombs_l' function. */
711
528
  #define HAVE_WCSTOMBS_L 1
712
529
 
713
- /* Define to 1 if you have the <wctype.h> header file. */
714
- #define HAVE_WCTYPE_H 1
715
-
716
- /* Define to 1 if you have the <winldap.h> header file. */
717
- /* #undef HAVE_WINLDAP_H */
718
-
719
- /* Define to 1 if you have the `writev' function. */
720
- #define HAVE_WRITEV 1
530
+ /* Define to 1 if you have the `X509_get_signature_info' function. */
531
+ /* #undef HAVE_X509_GET_SIGNATURE_INFO */
721
532
 
722
533
  /* Define to 1 if you have the `X509_get_signature_nid' function. */
723
534
  /* #undef HAVE_X509_GET_SIGNATURE_NID */
@@ -773,12 +584,6 @@
773
584
  /* Define to 1 if your compiler understands _Static_assert. */
774
585
  #define HAVE__STATIC_ASSERT 1
775
586
 
776
- /* Define to 1 if you have the `__strtoll' function. */
777
- /* #undef HAVE___STRTOLL */
778
-
779
- /* Define to 1 if you have the `__strtoull' function. */
780
- /* #undef HAVE___STRTOULL */
781
-
782
587
  /* Define to the appropriate printf length modifier for 64-bit ints. */
783
588
  #define INT64_MODIFIER "l"
784
589
 
@@ -802,7 +607,7 @@
802
607
  #define PACKAGE_NAME "PostgreSQL"
803
608
 
804
609
  /* Define to the full name and version of this package. */
805
- #define PACKAGE_STRING "PostgreSQL 15.1"
610
+ #define PACKAGE_STRING "PostgreSQL 16.1"
806
611
 
807
612
  /* Define to the one symbol short name of this package. */
808
613
  #define PACKAGE_TARNAME "postgresql"
@@ -811,7 +616,7 @@
811
616
  #define PACKAGE_URL "https://www.postgresql.org/"
812
617
 
813
618
  /* Define to the version of this package. */
814
- #define PACKAGE_VERSION "15.1"
619
+ #define PACKAGE_VERSION "16.1"
815
620
 
816
621
  /* Define to the name of a signed 128-bit integer type. */
817
622
  #define PG_INT128_TYPE __int128
@@ -824,10 +629,10 @@
824
629
  #define PG_KRB_SRVNAM "postgres"
825
630
 
826
631
  /* PostgreSQL major version as a string */
827
- #define PG_MAJORVERSION "15"
632
+ #define PG_MAJORVERSION "16"
828
633
 
829
634
  /* PostgreSQL major version number */
830
- #define PG_MAJORVERSION_NUM 15
635
+ #define PG_MAJORVERSION_NUM 16
831
636
 
832
637
  /* PostgreSQL minor version number */
833
638
  #define PG_MINORVERSION_NUM 1
@@ -839,13 +644,13 @@
839
644
  #define PG_USE_STDBOOL 1
840
645
 
841
646
  /* PostgreSQL version as a string */
842
- #define PG_VERSION "15.1"
647
+ #define PG_VERSION "16.1"
843
648
 
844
649
  /* PostgreSQL version as a number */
845
- #define PG_VERSION_NUM 150001
650
+ #define PG_VERSION_NUM 160001
846
651
 
847
652
  /* A string containing the version number, platform, and C compiler */
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"
653
+ #define PG_VERSION_STR "PostgreSQL 16.1 on aarch64-apple-darwin21.6.0, compiled by Apple clang version 14.0.0 (clang-1400.0.29.102), 64-bit"
849
654
 
850
655
  /* Define to 1 to allow profiling output to be saved separately for each
851
656
  process. */
@@ -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-2022, PostgreSQL Global Development Group
9
+ * Portions Copyright (c) 1996-2023, 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
@@ -114,17 +114,6 @@
114
114
  */
115
115
  #define MAXPGPATH 1024
116
116
 
117
- /*
118
- * PG_SOMAXCONN: maximum accept-queue length limit passed to
119
- * listen(2). You'd think we should use SOMAXCONN from
120
- * <sys/socket.h>, but on many systems that symbol is much smaller
121
- * than the kernel's actual limit. In any case, this symbol need be
122
- * twiddled only if you have a kernel that refuses large limit values,
123
- * rather than silently reducing the value to what it can handle
124
- * (which is what most if not all Unixen do).
125
- */
126
- #define PG_SOMAXCONN 10000
127
-
128
117
  /*
129
118
  * You can try changing this if you have a machine with bytes of
130
119
  * another size, but no guarantee...
@@ -152,13 +141,6 @@
152
141
  #define EXEC_BACKEND
153
142
  #endif
154
143
 
155
- /*
156
- * Define this if your operating system supports link()
157
- */
158
- #if !defined(WIN32) && !defined(__CYGWIN__)
159
- #define HAVE_WORKING_LINK 1
160
- #endif
161
-
162
144
  /*
163
145
  * USE_POSIX_FADVISE controls whether Postgres will attempt to use the
164
146
  * posix_fadvise() kernel call. Usually the automatic configure tests are
@@ -234,32 +216,6 @@
234
216
  */
235
217
  #define DEFAULT_EVENT_SOURCE "PostgreSQL"
236
218
 
237
- /*
238
- * On PPC machines, decide whether to use the mutex hint bit in LWARX
239
- * instructions. Setting the hint bit will slightly improve spinlock
240
- * performance on POWER6 and later machines, but does nothing before that,
241
- * and will result in illegal-instruction failures on some pre-POWER4
242
- * machines. By default we use the hint bit when building for 64-bit PPC,
243
- * which should be safe in nearly all cases. You might want to override
244
- * this if you are building 32-bit code for a known-recent PPC machine.
245
- */
246
- #ifdef HAVE_PPC_LWARX_MUTEX_HINT /* must have assembler support in any case */
247
- #if defined(__ppc64__) || defined(__powerpc64__)
248
- #define USE_PPC_LWARX_MUTEX_HINT
249
- #endif
250
- #endif
251
-
252
- /*
253
- * On PPC machines, decide whether to use LWSYNC instructions in place of
254
- * ISYNC and SYNC. This provides slightly better performance, but will
255
- * result in illegal-instruction failures on some pre-POWER4 machines.
256
- * By default we use LWSYNC when building for 64-bit PPC, which should be
257
- * safe in nearly all cases.
258
- */
259
- #if defined(__ppc64__) || defined(__powerpc64__)
260
- #define USE_PPC_LWSYNC
261
- #endif
262
-
263
219
  /*
264
220
  * Assumed cache line size. This doesn't affect correctness, but can be used
265
221
  * for low-level optimizations. Currently, this is used to pad some data
@@ -271,6 +227,12 @@
271
227
  */
272
228
  #define PG_CACHE_LINE_SIZE 128
273
229
 
230
+ /*
231
+ * Assumed alignment requirement for direct I/O. 4K corresponds to common
232
+ * sector and memory page size.
233
+ */
234
+ #define PG_IO_ALIGN_SIZE 4096
235
+
274
236
  /*
275
237
  *------------------------------------------------------------------------
276
238
  * The following symbols are for enabling debugging code, not for
@@ -355,7 +317,7 @@
355
317
 
356
318
  /*
357
319
  * Recover memory used for relcache entries when invalidated. See
358
- * RelationBuildDescr() in src/backend/utils/cache/relcache.c.
320
+ * RelationBuildDesc() in src/backend/utils/cache/relcache.c.
359
321
  *
360
322
  * This is active automatically for clobber-cache builds when clobbering is
361
323
  * active, but can be overridden here by explicitly defining
@@ -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-2022, PostgreSQL Global Development Group
14
+ * Portions Copyright (c) 2003-2023, PostgreSQL Global Development Group
15
15
  *
16
16
  * src/include/pg_getopt.h
17
17
  */
@@ -70,6 +70,27 @@ typedef struct {
70
70
  PgQueryError* error;
71
71
  } PgQueryNormalizeResult;
72
72
 
73
+ // Postgres parser options (parse mode and GUCs that affect parsing)
74
+
75
+ typedef enum
76
+ {
77
+ PG_QUERY_PARSE_DEFAULT = 0,
78
+ PG_QUERY_PARSE_TYPE_NAME,
79
+ PG_QUERY_PARSE_PLPGSQL_EXPR,
80
+ PG_QUERY_PARSE_PLPGSQL_ASSIGN1,
81
+ PG_QUERY_PARSE_PLPGSQL_ASSIGN2,
82
+ PG_QUERY_PARSE_PLPGSQL_ASSIGN3
83
+ } PgQueryParseMode;
84
+
85
+ // We technically only need 3 bits to store parse mode, but
86
+ // having 4 bits avoids API breaks if another one gets added.
87
+ #define PG_QUERY_PARSE_MODE_BITS 4
88
+ #define PG_QUERY_PARSE_MODE_BITMASK ((1 << PG_QUERY_PARSE_MODE_BITS) - 1)
89
+
90
+ #define PG_QUERY_DISABLE_BACKSLASH_QUOTE 16 // backslash_quote = off (default is safe_encoding, which is effectively on)
91
+ #define PG_QUERY_DISABLE_STANDARD_CONFORMING_STRINGS 32 // standard_conforming_strings = off (default is on)
92
+ #define PG_QUERY_DISABLE_ESCAPE_STRING_WARNING 64 // escape_string_warning = off (default is on)
93
+
73
94
  #ifdef __cplusplus
74
95
  extern "C" {
75
96
  #endif
@@ -77,10 +98,13 @@ extern "C" {
77
98
  PgQueryNormalizeResult pg_query_normalize(const char* input);
78
99
  PgQueryScanResult pg_query_scan(const char* input);
79
100
  PgQueryParseResult pg_query_parse(const char* input);
101
+ PgQueryParseResult pg_query_parse_opts(const char* input, int parser_options);
80
102
  PgQueryProtobufParseResult pg_query_parse_protobuf(const char* input);
103
+ PgQueryProtobufParseResult pg_query_parse_protobuf_opts(const char* input, int parser_options);
81
104
  PgQueryPlpgsqlParseResult pg_query_parse_plpgsql(const char* input);
82
105
 
83
106
  PgQueryFingerprintResult pg_query_fingerprint(const char* input);
107
+ PgQueryFingerprintResult pg_query_fingerprint_opts(const char* input, int parser_options);
84
108
 
85
109
  // Use pg_query_split_with_scanner when you need to split statements that may
86
110
  // contain parse errors, otherwise pg_query_split_with_parser is recommended
@@ -107,9 +131,9 @@ void pg_query_free_fingerprint_result(PgQueryFingerprintResult result);
107
131
  void pg_query_exit(void);
108
132
 
109
133
  // Postgres version information
110
- #define PG_MAJORVERSION "15"
111
- #define PG_VERSION "15.1"
112
- #define PG_VERSION_NUM 150001
134
+ #define PG_MAJORVERSION "16"
135
+ #define PG_VERSION "16.1"
136
+ #define PG_VERSION_NUM 160001
113
137
 
114
138
  // Deprecated APIs below
115
139